in src/Microsoft.OpenApi/Any/OpenApiPrimitive.cs [47:132]
public void Write(IOpenApiWriter writer, OpenApiSpecVersion specVersion)
{
switch (this.PrimitiveType)
{
case PrimitiveType.Integer:
var intValue = (OpenApiInteger)(IOpenApiPrimitive)this;
writer.WriteValue(intValue.Value);
break;
case PrimitiveType.Long:
var longValue = (OpenApiLong)(IOpenApiPrimitive)this;
writer.WriteValue(longValue.Value);
break;
case PrimitiveType.Float:
var floatValue = (OpenApiFloat)(IOpenApiPrimitive)this;
writer.WriteValue(floatValue.Value);
break;
case PrimitiveType.Double:
var doubleValue = (OpenApiDouble)(IOpenApiPrimitive)this;
writer.WriteValue(doubleValue.Value);
break;
case PrimitiveType.String:
var stringValue = (OpenApiString)(IOpenApiPrimitive)this;
if (stringValue.IsRawString())
writer.WriteRaw(stringValue.Value);
else
writer.WriteValue(stringValue.Value);
break;
case PrimitiveType.Byte:
var byteValue = (OpenApiByte)(IOpenApiPrimitive)this;
if (byteValue.Value == null)
{
writer.WriteNull();
}
else
{
writer.WriteValue(Convert.ToBase64String(byteValue.Value));
}
break;
case PrimitiveType.Binary:
var binaryValue = (OpenApiBinary)(IOpenApiPrimitive)this;
if (binaryValue.Value == null)
{
writer.WriteNull();
}
else
{
writer.WriteValue(Encoding.UTF8.GetString(binaryValue.Value));
}
break;
case PrimitiveType.Boolean:
var boolValue = (OpenApiBoolean)(IOpenApiPrimitive)this;
writer.WriteValue(boolValue.Value);
break;
case PrimitiveType.Date:
var dateValue = (OpenApiDate)(IOpenApiPrimitive)this;
writer.WriteValue(dateValue.Value);
break;
case PrimitiveType.DateTime:
var dateTimeValue = (OpenApiDateTime)(IOpenApiPrimitive)this;
writer.WriteValue(dateTimeValue.Value);
break;
case PrimitiveType.Password:
var passwordValue = (OpenApiPassword)(IOpenApiPrimitive)this;
writer.WriteValue(passwordValue.Value);
break;
default:
throw new OpenApiWriterException(
string.Format(
SRResource.PrimitiveTypeNotSupported,
this.PrimitiveType));
}
}