public static bool GetBoolExtensionValue(this IOpenApiExtensible source, string property)
        {
            if (source.Extensions.TryGetValue(ExtensionName, out IOpenApiExtension value))
            {
                if (value is OpenApiObject extensionObject)
                {
                    var anyValue = (OpenApiBoolean)extensionObject[property];
                    return(anyValue.Value);
                }
            }

            return(false);
        }
        public static string GetStringExtensionValue(this IOpenApiExtensible source, string property)
        {
            if (source.Extensions.TryGetValue(ExtensionName, out IOpenApiExtension value))
            {
                if (value is OpenApiObject extensionObject)
                {
                    var anyValue = (OpenApiString)extensionObject[property];
                    return(anyValue.Value);
                }
            }

            return(null);
        }
Example #3
0
        /// <summary>
        /// Visits dictionary of extensions
        /// </summary>
        internal void Walk(IOpenApiExtensible openApiExtensible)
        {
            if (openApiExtensible == null)
            {
                return;
            }

            _visitor.Visit(openApiExtensible);

            if (openApiExtensible != null)
            {
                foreach (var item in openApiExtensible.Extensions)
                {
                    Walk(item.Key, () => Walk(item.Value));
                }
            }
        }
Example #4
0
 /// <summary>
 /// Visits <see cref="IOpenApiExtensible"/>
 /// </summary>
 public virtual void Visit(IOpenApiExtensible openApiExtensible)
 {
 }
Example #5
0
 /// <summary>
 /// Visits dictionary of extensions
 /// </summary>
 /// <param name="openApiExtensible"></param>
 internal void Walk(IOpenApiExtensible openApiExtensible)
 {
     _visitor.Visit(openApiExtensible);
 }
Example #6
0
 /// <summary>
 /// Execute validation rules against an <see cref="IOpenApiExtensible"/>
 /// </summary>
 /// <param name="item">The object to be validated</param>
 public override void Visit(IOpenApiExtensible item) => Validate(item);
 public override void Visit(IOpenApiExtensible openApiExtensible)
 {
     EncodeCall();
     base.Visit(openApiExtensible);
 }
 /// <summary>
 ///
 /// </summary>
 public IList <IValidate> Build(IOpenApiExtensible openApiExtensible) => Rules;