protected IOpenApiAny GetOpenApiPropertyDefault()

in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/Visitors/TypeVisitor.cs [230:314]


        protected IOpenApiAny GetOpenApiPropertyDefault(OpenApiPropertyAttribute attr)
        {
            var @default = attr.Default;
            if (@default.IsNullOrDefault())
            {
                return null;
            }

            if (@default is bool)
            {
                return new OpenApiBoolean((bool) @default);
            }

            if (@default is DateTime)
            {
                return new OpenApiDateTime((DateTime) @default);
            }

            if (@default is TimeSpan)
            {
                return new OpenApiString(@default.ToString());
            }

            if (@default is DateTimeOffset)
            {
                return new OpenApiDateTime((DateTimeOffset) @default);
            }

            if (@default is float)
            {
                return new OpenApiFloat((float) @default);
            }

            if (@default is double)
            {
                return new OpenApiDouble((double) @default);
            }

            if (@default is decimal)
            {
                return new OpenApiDouble(Convert.ToDouble(@default));
            }

            if (@default is byte[])
            {
                return new OpenApiByte((byte[]) @default);
            }

            if (@default is short)
            {
                return new OpenApiInteger((short) @default);
            }

            if (@default is int)
            {
                return new OpenApiInteger((int) @default);
            }

            if (@default is long)
            {
                return new OpenApiLong((long) @default);
            }

            if (@default is ushort)
            {
                return new OpenApiInteger(Convert.ToInt16(@default));
            }

            if (@default is uint)
            {
                return new OpenApiInteger(Convert.ToInt32(@default));
            }

            if (@default is ulong)
            {
                return new OpenApiLong(Convert.ToInt64(@default));
            }

            if (@default is Guid)
            {
                return new OpenApiString(Convert.ToString(@default));
            }

            return new OpenApiString((string) @default);
        }