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": ["array", "boolean", "integer", "null", "number", "object", "string"]
|
---|
82 | },
|
---|
83 | "stringArray": {
|
---|
84 | "type": "array",
|
---|
85 | "items": {"type": "string"},
|
---|
86 | "uniqueItems": true,
|
---|
87 | "default": []
|
---|
88 | }
|
---|
89 | }
|
---|
90 | }
|
---|