in src/Microsoft.OpenApi/Writers/OpenApiWriterBase.cs [212:262]
public virtual void WriteValue(object value)
{
if (value == null)
{
WriteNull();
return;
}
var type = value.GetType();
if (type == typeof(string))
{
WriteValue((string)(value));
}
else if (type == typeof(int) || type == typeof(int?))
{
WriteValue((int)value);
}
else if (type == typeof(long) || type == typeof(long?))
{
WriteValue((long)value);
}
else if (type == typeof(bool) || type == typeof(bool?))
{
WriteValue((bool)value);
}
else if (type == typeof(float) || type == typeof(float?))
{
WriteValue((float)value);
}
else if (type == typeof(double) || type == typeof(double?))
{
WriteValue((double)value);
}
else if (type == typeof(decimal) || type == typeof(decimal?))
{
WriteValue((decimal)value);
}
else if (type == typeof(DateTime) || type == typeof(DateTime?))
{
WriteValue((DateTime)value);
}
else if (type == typeof(DateTimeOffset) || type == typeof(DateTimeOffset?))
{
WriteValue((DateTimeOffset)value);
}
else
{
throw new OpenApiWriterException(string.Format(SRResource.OpenApiUnsupportedValueType, type.FullName));
}
}