| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #pragma once
- #include <jvalidate/forward.h>
- namespace jvalidate::adapter {
- enum class Type : int8_t {
- Null,
- Boolean,
- Integer,
- Number,
- String,
- Array,
- Object,
- };
- }
- namespace jvalidate::schema {
- enum class Version : int {
- // Keywords: type, properties, patternProperties, additionalProperties, items, additionalItems
- // required, dependencies, minimum, maximum, exclusiveMinimum, exclusiveMaximum,
- // minItems, maxItems, uniqueItems, pattern, minLength, maxLength, enum, default,
- // title, description, format, divisibleBy, disallow, extends, id, $ref, $schema
- Draft03,
- // New: allOf, anyOf, oneOf, not, minProperties, maxProperties, definitions
- // Changed: required, dependencies
- // Renamed: divisibleBy -> multipleOf
- // Removed: type(schema), extends, disallow
- // Formats: date-time, email, hostname, ipv4, ipv6, uri
- // https://json-schema.org/draft-04/schema
- Draft04,
- // New: "boolean as schema", propertyNames, contains, const
- // Changed: $ref, exclusiveMinimum, exclusiveMaximum, type, required, dependencies, examples
- // Renamed: id -> $id
- // Formats: uri-template, uri-reference, json-pointer
- // https://json-schema.org/draft-06/schema
- Draft06,
- // New: $comment, if, then, else, readOnly, writeOnly, contentMediaType, contentEncoding
- // Formats: iri, iri-reference, uri-template*, idn-email, idn-hostname, json-pointer*,
- // relative-json-pointer, regex, date, time
- // https://json-schema.org/draft-07/schema
- Draft07,
- // New: $anchor, $recursiveAnchor, $recursiveRef, unevaluatedItems, unevaluatedProperties,
- // maxContains, minContains
- // Changed: $id, $ref, format
- // Renamed: definitions -> $defs
- // Split: dependencies -> (dependentSchemas, dependentRequired)
- // Formats: duration, hostname*, idn-hostname*, uuid
- // https://json-schema.org/draft/2019-09/schema
- Draft2019_09,
- // Renamed: (items(array), additionalItems) -> (prefixItems, items),
- // $recursiveRef -> $dynamicRef, $recursiveAnchor -> $dynamicAnchor
- // Split: format -> (format-annotation, format-assertion)
- // https://json-schema.org/draft/2020-12/schema
- Draft2020_12,
- Earliest = Draft03,
- Latest = Draft2020_12,
- };
- enum class Wraps : int8_t { Array, Object, Schema };
- }
|