• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "$schema": "https://json-schema.org/draft/2019-09/schema",
3    "$id": "https://json-schema.org/draft/2019-09/meta/validation",
4    "$vocabulary": {
5        "https://json-schema.org/draft/2019-09/vocab/validation": true
6    },
7    "$recursiveAnchor": true,
8
9    "title": "Validation vocabulary meta-schema",
10    "type": ["object", "boolean"],
11    "properties": {
12        "multipleOf": {
13            "type": "number",
14            "exclusiveMinimum": 0
15        },
16        "maximum": {
17            "type": "number"
18        },
19        "exclusiveMaximum": {
20            "type": "number"
21        },
22        "minimum": {
23            "type": "number"
24        },
25        "exclusiveMinimum": {
26            "type": "number"
27        },
28        "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
29        "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
30        "pattern": {
31            "type": "string",
32            "format": "regex"
33        },
34        "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
35        "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
36        "uniqueItems": {
37            "type": "boolean",
38            "default": false
39        },
40        "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
41        "minContains": {
42            "$ref": "#/$defs/nonNegativeInteger",
43            "default": 1
44        },
45        "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
46        "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
47        "required": { "$ref": "#/$defs/stringArray" },
48        "dependentRequired": {
49            "type": "object",
50            "additionalProperties": {
51                "$ref": "#/$defs/stringArray"
52            }
53        },
54        "const": true,
55        "enum": {
56            "type": "array",
57            "items": true
58        },
59        "type": {
60            "anyOf": [
61                { "$ref": "#/$defs/simpleTypes" },
62                {
63                    "type": "array",
64                    "items": { "$ref": "#/$defs/simpleTypes" },
65                    "minItems": 1,
66                    "uniqueItems": true
67                }
68            ]
69        }
70    },
71    "$defs": {
72        "nonNegativeInteger": {
73            "type": "integer",
74            "minimum": 0
75        },
76        "nonNegativeIntegerDefault0": {
77            "$ref": "#/$defs/nonNegativeInteger",
78            "default": 0
79        },
80        "simpleTypes": {
81            "enum": [
82                "array",
83                "boolean",
84                "integer",
85                "null",
86                "number",
87                "object",
88                "string"
89            ]
90        },
91        "stringArray": {
92            "type": "array",
93            "items": { "type": "string" },
94            "uniqueItems": true,
95            "default": []
96        }
97    }
98}
99