Schemas\JsonSchemaMapper\JsonSchemaMapper.cs (75)
92JsonSchemaType type = JsonSchemaType.Object;
252JsonSchemaType schemaType = JsonSchemaType.Any;
350schemaType is JsonSchemaType.Integer or JsonSchemaType.Number)
354schemaType |= JsonSchemaType.String;
367schemaType = JsonSchemaType.Any; // reset the parent setting
378schemaType = JsonSchemaType.String;
394schemaType = JsonSchemaType.Integer;
401schemaType = JsonSchemaType.Object;
498schemaType = JsonSchemaType.Array;
511schemaType = JsonSchemaType.Object;
527[TypePropertyName] = MapSchemaType(JsonSchemaType.Array),
535schemaType = JsonSchemaType.Object;
555if (schemaType != JsonSchemaType.Any &&
564schemaType |= JsonSchemaType.Null;
721JsonSchemaType schemaType = JsonSchemaType.Any,
816private static readonly JsonSchemaType[] s_schemaValues = new[]
819JsonSchemaType.String,
820JsonSchemaType.Integer,
821JsonSchemaType.Number,
822JsonSchemaType.Boolean,
823JsonSchemaType.Array,
824JsonSchemaType.Object,
825JsonSchemaType.Null,
828private static JsonNode? MapSchemaType(JsonSchemaType schemaType)
832JsonSchemaType.Any => null,
833JsonSchemaType.Null => "null",
834JsonSchemaType.Boolean => "boolean",
835JsonSchemaType.Integer => "integer",
836JsonSchemaType.Number => "number",
837JsonSchemaType.String => "string",
838JsonSchemaType.Array => "array",
839JsonSchemaType.Object => "object",
843static JsonArray MapCompositeSchemaType(JsonSchemaType schemaType)
846foreach (JsonSchemaType type in s_schemaValues)
877public SimpleTypeJsonSchema(JsonSchemaType schemaType, string? format = null, string? pattern = null, bool isIeeeFloatingPoint = false)
885public JsonSchemaType SchemaType { get; }
893[typeof(object)] = new(JsonSchemaType.Any),
894[typeof(bool)] = new(JsonSchemaType.Boolean),
895[typeof(byte)] = new(JsonSchemaType.Integer),
896[typeof(ushort)] = new(JsonSchemaType.Integer),
897[typeof(uint)] = new(JsonSchemaType.Integer),
898[typeof(ulong)] = new(JsonSchemaType.Integer),
899[typeof(sbyte)] = new(JsonSchemaType.Integer),
900[typeof(short)] = new(JsonSchemaType.Integer),
901[typeof(int)] = new(JsonSchemaType.Integer),
902[typeof(long)] = new(JsonSchemaType.Integer),
903[typeof(float)] = new(JsonSchemaType.Number, isIeeeFloatingPoint: true),
904[typeof(double)] = new(JsonSchemaType.Number, isIeeeFloatingPoint: true),
905[typeof(decimal)] = new(JsonSchemaType.Number),
907[typeof(Half)] = new(JsonSchemaType.Number, isIeeeFloatingPoint: true),
910[typeof(UInt128)] = new(JsonSchemaType.Integer),
911[typeof(Int128)] = new(JsonSchemaType.Integer),
913[typeof(char)] = new(JsonSchemaType.String),
914[typeof(string)] = new(JsonSchemaType.String),
915[typeof(byte[])] = new(JsonSchemaType.String),
916[typeof(Memory<byte>)] = new(JsonSchemaType.String),
917[typeof(ReadOnlyMemory<byte>)] = new(JsonSchemaType.String),
918[typeof(DateTime)] = new(JsonSchemaType.String, format: "date-time"),
919[typeof(DateTimeOffset)] = new(JsonSchemaType.String, format: "date-time"),
922[typeof(TimeSpan)] = new(JsonSchemaType.String, pattern: @"^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$"),
924[typeof(DateOnly)] = new(JsonSchemaType.String, format: "date"),
925[typeof(TimeOnly)] = new(JsonSchemaType.String, format: "time"),
927[typeof(Guid)] = new(JsonSchemaType.String, format: "uuid"),
928[typeof(Uri)] = new(JsonSchemaType.String, format: "uri"),
929[typeof(Version)] = new(JsonSchemaType.String, format: @"^\d+(\.\d+){1,3}$"),
930[typeof(JsonDocument)] = new(JsonSchemaType.Any),
931[typeof(JsonElement)] = new(JsonSchemaType.Any),
932[typeof(JsonNode)] = new(JsonSchemaType.Any),
933[typeof(JsonValue)] = new(JsonSchemaType.Any),
934[typeof(JsonObject)] = new(JsonSchemaType.Object),
935[typeof(JsonArray)] = new(JsonSchemaType.Array),