in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/Visitors/TypeVisitor.cs [322:373]
protected IOpenApiAny GetOpenApiPropertyDefault<T>(OpenApiPropertyAttribute attr)
{
var @default = attr.Default;
if (@default.IsNullOrDefault())
{
return null;
}
if (typeof(T) == typeof(short))
{
return new OpenApiInteger((short) @default);
}
if (typeof(T) == typeof(int))
{
return new OpenApiInteger((int) @default);
}
if (typeof(T) == typeof(byte))
{
return new OpenApiInteger(Convert.ToInt32(@default));
}
if (typeof(T) == typeof(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 (typeof(T) == typeof(string) && @default.GetType().IsEnumType())
{
var @enum = (Enum)Convert.ChangeType(@default, typeof(Enum));
return new OpenApiString((string) EnumExtensions.ToDisplayName(@enum));
}
return new OpenApiString((string) @default);
}