public static string GetPrimitiveValue(IOpenApiAny value) { IOpenApiPrimitive primitive = (IOpenApiPrimitive)value; switch (primitive.PrimitiveType) { case PrimitiveType.String: OpenApiString stringValue = (OpenApiString)primitive; return(stringValue.Value); case PrimitiveType.Boolean: OpenApiBoolean booleanValue = (OpenApiBoolean)primitive; return(booleanValue.Value.ToString()); case PrimitiveType.Integer: OpenApiInteger integerValue = (OpenApiInteger)primitive; return(integerValue.Value.ToString()); case PrimitiveType.Long: OpenApiLong longValue = (OpenApiLong)primitive; return(longValue.Value.ToString()); case PrimitiveType.Float: OpenApiFloat floatValue = (OpenApiFloat)primitive; return(floatValue.Value.ToString(CultureInfo.InvariantCulture)); case PrimitiveType.Double: OpenApiDouble doubleValue = (OpenApiDouble)primitive; return(doubleValue.Value.ToString(CultureInfo.InvariantCulture)); case PrimitiveType.Byte: OpenApiByte byteValue = (OpenApiByte)primitive; return(Encoding.Default.GetString(byteValue.Value)); case PrimitiveType.Binary: OpenApiBinary binaryValue = (OpenApiBinary)primitive; StringBuilder builder = new StringBuilder(); foreach (byte byteVal in binaryValue.Value) { builder.Append(Convert.ToString(byteVal, 2).PadLeft(8, '0')); } return(builder.ToString()); case PrimitiveType.Date: OpenApiDate dateValue = (OpenApiDate)primitive; return(dateValue.Value.ToString(CultureInfo.InvariantCulture)); case PrimitiveType.DateTime: OpenApiDateTime dateTimeValue = (OpenApiDateTime)primitive; return(dateTimeValue.Value.ToString(CultureInfo.InvariantCulture)); case PrimitiveType.Password: OpenApiPassword passwordValue = (OpenApiPassword)primitive; return(passwordValue.Value); default: throw new NotImplementedException("This data example type is not supported yet!"); } }
public static string GetValueString(this IOpenApiPrimitive primitive) { using var sb = new StringWriter(); var writer = new OpenApiYamlWriter(sb); primitive.Write(writer, OpenApiSpecVersion.OpenApi3_0); return(sb.ToString()); }
private static void WritePrimitive(this IOpenApiWriter writer, IOpenApiPrimitive primitive) { if (writer == null) { throw Error.ArgumentNull(nameof(writer)); } if (primitive == null) { throw Error.ArgumentNull(nameof(primitive)); } // The Spec version is meaning for the Any type, so it's ok to use the latest one. primitive.Write(writer, OpenApiSpecVersion.OpenApi3_0); }
private static object GetOpenApiPrimitiveValue(IOpenApiPrimitive primitive) { return(primitive.GetType().GetProperty("Value").GetValue(primitive)); }
private static void WritePrimitive(this IOpenApiWriter writer, IOpenApiPrimitive primitive) { if (writer == null) { throw Error.ArgumentNull(nameof(writer)); } if (primitive == null) { throw Error.ArgumentNull(nameof(primitive)); } switch (primitive.PrimitiveType) { case PrimitiveType.Integer: var intValue = (OpenApiInteger)primitive; writer.WriteValue(intValue.Value); break; case PrimitiveType.Long: var longValue = (OpenApiLong)primitive; writer.WriteValue(longValue.Value); break; case PrimitiveType.Float: var floatValue = (OpenApiFloat)primitive; writer.WriteValue(floatValue.Value); break; case PrimitiveType.Double: var doubleValue = (OpenApiDouble)primitive; writer.WriteValue(doubleValue.Value); break; case PrimitiveType.String: var stringValue = (OpenApiString)primitive; writer.WriteValue(stringValue.Value); break; case PrimitiveType.Byte: var byteValue = (OpenApiByte)primitive; writer.WriteValue(byteValue.Value); break; case PrimitiveType.Binary: var binaryValue = (OpenApiBinary)primitive; if (binaryValue == null) { writer.WriteNull(); } else { writer.WriteValue(Convert.ToBase64String(binaryValue.Value)); } break; case PrimitiveType.Boolean: var boolValue = (OpenApiBoolean)primitive; writer.WriteValue(boolValue.Value); break; case PrimitiveType.Date: var dateValue = (OpenApiDate)primitive; writer.WriteValue(dateValue.Value); break; case PrimitiveType.DateTime: var dateTimeValue = (OpenApiDateTime)primitive; writer.WriteValue(dateTimeValue.Value); break; case PrimitiveType.Password: var passwordValue = (OpenApiPassword)primitive; writer.WriteValue(passwordValue.Value); break; default: throw new OpenApiWriterException( string.Format( SRResource.PrimitiveTypeNotSupported, primitive.PrimitiveType)); } }