37 instantiations of JsonSchema
System.Text.Json (37)
System\Text\Json\Schema\JsonSchema.cs (4)
31public static JsonSchema CreateFalseSchema() => new(false); 32public static JsonSchema CreateTrueSchema() => new(true); 283schema = new JsonSchema { Not = CreateTrueSchema() }; 286schema = new JsonSchema();
System\Text\Json\Schema\JsonSchemaExporter.cs (9)
77return CompleteSchema(ref state, new JsonSchema { Ref = existingJsonPointer }); 121JsonSchema discriminatorSchema = new() { Constant = discriminatorNode }; 172return CompleteSchema(ref state, new() 275return CompleteSchema(ref state, new() 292return CompleteSchema(ref state, new() 316return CompleteSchema(ref state, new() 323new JsonSchema() 353return CompleteSchema(ref state, new() 410return CompleteSchema(ref state, new()
System\Text\Json\Serialization\Converters\Node\JsonArrayConverter.cs (1)
67internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Array };
System\Text\Json\Serialization\Converters\Node\JsonObjectConverter.cs (1)
116internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Object };
System\Text\Json\Serialization\Converters\Value\BooleanConverter.cs (1)
41internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Boolean };
System\Text\Json\Serialization\Converters\Value\ByteArrayConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\CharConverter.cs (1)
65new() { Type = JsonSchemaType.String, MinLength = 1, MaxLength = 1 };
System\Text\Json\Serialization\Converters\Value\DateOnlyConverter.cs (1)
81internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, Format = "date" };
System\Text\Json\Serialization\Converters\Value\DateTimeConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" };
System\Text\Json\Serialization\Converters\Value\DateTimeOffsetConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" };
System\Text\Json\Serialization\Converters\Value\EnumConverter.cs (3)
499return new() { Type = JsonSchemaType.String }; 508return new() { Enum = enumValues }; 511return new() { Type = JsonSchemaType.Integer };
System\Text\Json\Serialization\Converters\Value\GuidConverter.cs (1)
34new() { Type = JsonSchemaType.String, Format = "uuid" };
System\Text\Json\Serialization\Converters\Value\JsonPrimitiveConverter.cs (4)
59return new JsonSchema 63new JsonSchema { Type = schemaType, Pattern = pattern }, 64new JsonSchema { Enum = [(JsonNode)"NaN", (JsonNode)"Infinity", (JsonNode)"-Infinity"] }, 69return new JsonSchema { Type = schemaType, Pattern = pattern };
System\Text\Json\Serialization\Converters\Value\MemoryByteConverter.cs (1)
23internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\ReadOnlyMemoryByteConverter.cs (1)
23internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\StringConverter.cs (1)
53internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String };
System\Text\Json\Serialization\Converters\Value\TimeOnlyConverter.cs (1)
99internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, Format = "time" };
System\Text\Json\Serialization\Converters\Value\TimeSpanConverter.cs (1)
97internal override JsonSchema? GetSchema(JsonNumberHandling _) => new()
System\Text\Json\Serialization\Converters\Value\UnsupportedTypeConverter.cs (1)
24new JsonSchema { Comment = "Unsupported .NET type", Not = JsonSchema.CreateTrueSchema() };
System\Text\Json\Serialization\Converters\Value\UriConverter.cs (1)
54new() { Type = JsonSchemaType.String, Format = "uri" };
System\Text\Json\Serialization\Converters\Value\VersionConverter.cs (1)
137new()
92 references to JsonSchema
System.Text.Json (92)
System\Text\Json\Schema\JsonSchema.cs (10)
31public static JsonSchema CreateFalseSchema() => new(false); 32public static JsonSchema CreateTrueSchema() => new(true); 61public List<KeyValuePair<string, JsonSchema>>? Properties { get; set { VerifyMutable(); field = value; } } 65public JsonSchema? Items { get; set { VerifyMutable(); field = value; } } 67public JsonSchema? AdditionalProperties { get; set { VerifyMutable(); field = value; } } 71public JsonSchema? Not { get; set { VerifyMutable(); field = value; } } 73public List<JsonSchema>? AnyOf { get; set { VerifyMutable(); field = value; } } 184foreach (KeyValuePair<string, JsonSchema> property in Properties) 226foreach (JsonSchema schema in AnyOf) 278public static void EnsureMutable(ref JsonSchema schema)
System\Text\Json\Schema\JsonSchemaExporter.cs (34)
53JsonSchema schema = MapJsonSchemaCore(ref state, typeInfo); 57private static JsonSchema MapJsonSchemaCore( 66KeyValuePair<string, JsonSchema>? typeDiscriminator = null, 104List<JsonSchema>? anyOf = new(derivedTypes.Count); 106state.PushSchemaNode(JsonSchema.AnyOfPropertyName); 112KeyValuePair<string, JsonSchema>? derivedTypeDiscriminator = null; 121JsonSchema discriminatorSchema = new() { Constant = discriminatorNode }; 128JsonSchema derivedSchema = MapJsonSchemaCore( 158foreach (JsonSchema derivedSchema in anyOf) 193List<JsonSchema> anyOf = schema.AnyOf; 197foreach (JsonSchema branch in anyOf) 218List<KeyValuePair<string, JsonSchema>>? properties = null; 220JsonSchema? additionalProperties = null; 225additionalProperties = JsonSchema.CreateFalseSchema(); 238state.PushSchemaNode(JsonSchema.PropertiesPropertyName); 247JsonSchema propertySchema = MapJsonSchemaCore( 258JsonSchema.EnsureMutable(ref propertySchema); 288state.PushSchemaNode(JsonSchema.ItemsPropertyName); 289JsonSchema items = MapJsonSchemaCore(ref state, typeInfo.ElementTypeInfo, customNumberHandling: effectiveNumberHandling); 306state.PushSchemaNode(JsonSchema.PropertiesPropertyName); 308state.PushSchemaNode(JsonSchema.ItemsPropertyName); 310JsonSchema items = MapJsonSchemaCore(ref state, typeInfo.ElementTypeInfo, customNumberHandling: effectiveNumberHandling); 336List<KeyValuePair<string, JsonSchema>>? dictProps = null; 349state.PushSchemaNode(JsonSchema.AdditionalPropertiesPropertyName); 350JsonSchema valueSchema = MapJsonSchemaCore(ref state, typeInfo.ElementTypeInfo, customNumberHandling: effectiveNumberHandling); 365List<JsonSchema>? unionAnyOf = new(unionCases.Count); 367state.PushSchemaNode(JsonSchema.AnyOfPropertyName); 374JsonSchema caseSchema = MapJsonSchemaCore(ref state, caseTypeInfo, cacheResult: false); 398foreach (JsonSchema caseSchema in unionAnyOf) 417return CompleteSchema(ref state, JsonSchema.CreateTrueSchema()); 422return CompleteSchema(ref state, JsonSchema.CreateTrueSchema()); 425JsonSchema CompleteSchema(ref GenerationState state, JsonSchema schema) 430JsonSchema.EnsureMutable(ref schema);
System\Text\Json\Serialization\Converters\CastingConverter.cs (1)
132internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling)
System\Text\Json\Serialization\Converters\JsonMetadataServicesConverter.cs (1)
71internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling)
System\Text\Json\Serialization\Converters\Node\JsonArrayConverter.cs (1)
67internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Array };
System\Text\Json\Serialization\Converters\Node\JsonNodeConverter.cs (2)
102internal override JsonSchema? GetSchema(JsonNumberHandling _) => JsonSchema.CreateTrueSchema();
System\Text\Json\Serialization\Converters\Node\JsonObjectConverter.cs (1)
116internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Object };
System\Text\Json\Serialization\Converters\Node\JsonValueConverter.cs (2)
49internal override JsonSchema? GetSchema(JsonNumberHandling _) => JsonSchema.CreateTrueSchema();
System\Text\Json\Serialization\Converters\Object\ObjectConverter.cs (2)
147internal override JsonSchema? GetSchema(JsonNumberHandling _) => JsonSchema.CreateTrueSchema();
System\Text\Json\Serialization\Converters\Value\BooleanConverter.cs (1)
41internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.Boolean };
System\Text\Json\Serialization\Converters\Value\ByteArrayConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\ByteConverter.cs (1)
71internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\CharConverter.cs (1)
64internal override JsonSchema? GetSchema(JsonNumberHandling _) =>
System\Text\Json\Serialization\Converters\Value\DateOnlyConverter.cs (1)
81internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, Format = "date" };
System\Text\Json\Serialization\Converters\Value\DateTimeConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" };
System\Text\Json\Serialization\Converters\Value\DateTimeOffsetConverter.cs (1)
32internal override JsonSchema? GetSchema(JsonNumberHandling _) => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" };
System\Text\Json\Serialization\Converters\Value\DecimalConverter.cs (1)
71internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\DoubleConverter.cs (1)
84internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\EnumConverter.cs (1)
489internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling)
System\Text\Json\Serialization\Converters\Value\GuidConverter.cs (1)
33internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\HalfConverter.cs (1)
154internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\Ieee754FloatingPointConverter.cs (1)
130internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\Int128Converter.cs (1)
125internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\Int16Converter.cs (1)
74internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\Int32Converter.cs (1)
74internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\Int64Converter.cs (1)
72internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\JsonDocumentConverter.cs (2)
27internal override JsonSchema? GetSchema(JsonNumberHandling _) => JsonSchema.CreateTrueSchema();
System\Text\Json\Serialization\Converters\Value\JsonElementConverter.cs (2)
21internal override JsonSchema? GetSchema(JsonNumberHandling _) => JsonSchema.CreateTrueSchema();
System\Text\Json\Serialization\Converters\Value\JsonPrimitiveConverter.cs (1)
33private protected static JsonSchema GetSchemaForNumericType(JsonSchemaType schemaType, JsonNumberHandling numberHandling, bool isIeeeFloatingPoint = false)
System\Text\Json\Serialization\Converters\Value\MemoryByteConverter.cs (1)
23internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\ReadOnlyMemoryByteConverter.cs (1)
23internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, ContentEncoding = "base64" };
System\Text\Json\Serialization\Converters\Value\SByteConverter.cs (1)
72internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\SingleConverter.cs (1)
85internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\StringConverter.cs (1)
53internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String };
System\Text\Json\Serialization\Converters\Value\TimeOnlyConverter.cs (1)
99internal override JsonSchema? GetSchema(JsonNumberHandling _) => new() { Type = JsonSchemaType.String, Format = "time" };
System\Text\Json\Serialization\Converters\Value\TimeSpanConverter.cs (1)
97internal override JsonSchema? GetSchema(JsonNumberHandling _) => new()
System\Text\Json\Serialization\Converters\Value\UInt128Converter.cs (1)
125internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\UInt16Converter.cs (1)
74internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\UInt32Converter.cs (1)
74internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\UInt64Converter.cs (1)
72internal override JsonSchema? GetSchema(JsonNumberHandling numberHandling) =>
System\Text\Json\Serialization\Converters\Value\UnsupportedTypeConverter.cs (2)
23internal override JsonSchema? GetSchema(JsonNumberHandling _) => 24new JsonSchema { Comment = "Unsupported .NET type", Not = JsonSchema.CreateTrueSchema() };
System\Text\Json\Serialization\Converters\Value\UriConverter.cs (1)
53internal override JsonSchema? GetSchema(JsonNumberHandling _) =>
System\Text\Json\Serialization\Converters\Value\VersionConverter.cs (1)
136internal override JsonSchema? GetSchema(JsonNumberHandling _) =>
System\Text\Json\Serialization\JsonConverter.cs (1)
230internal virtual JsonSchema? GetSchema(JsonNumberHandling numberHandling) => null;