1 | {
|
---|
2 | "$schema": "https://json-schema.org/draft/2020-12/schema",
|
---|
3 | "$id": "https://json-schema.org/draft/2020-12/meta/validation",
|
---|
4 | "$vocabulary": {
|
---|
5 | "https://json-schema.org/draft/2020-12/vocab/validation": true
|
---|
6 | },
|
---|
7 | "$dynamicAnchor": "meta",
|
---|
8 |
|
---|
9 | "title": "Validation vocabulary meta-schema",
|
---|
10 | "type": ["object", "boolean"],
|
---|
11 | "properties": {
|
---|
12 | "type": {
|
---|
13 | "anyOf": [
|
---|
14 | {"$ref": "#/$defs/simpleTypes"},
|
---|
15 | {
|
---|
16 | "type": "array",
|
---|
17 | "items": {"$ref": "#/$defs/simpleTypes"},
|
---|
18 | "minItems": 1,
|
---|
19 | "uniqueItems": true
|
---|
20 | }
|
---|
21 | ]
|
---|
22 | },
|
---|
23 | "const": true,
|
---|
24 | "enum": {
|
---|
25 | "type": "array",
|
---|
26 | "items": true
|
---|
27 | },
|
---|
28 | "multipleOf": {
|
---|
29 | "type": "number",
|
---|
30 | "exclusiveMinimum": 0
|
---|
31 | },
|
---|
32 | "maximum": {
|
---|
33 | "type": "number"
|
---|
34 | },
|
---|
35 | "exclusiveMaximum": {
|
---|
36 | "type": "number"
|
---|
37 | },
|
---|
38 | "minimum": {
|
---|
39 | "type": "number"
|
---|
40 | },
|
---|
41 | "exclusiveMinimum": {
|
---|
42 | "type": "number"
|
---|
43 | },
|
---|
44 | "maxLength": {"$ref": "#/$defs/nonNegativeInteger"},
|
---|
45 | "minLength": {"$ref": "#/$defs/nonNegativeIntegerDefault0"},
|
---|
46 | "pattern": {
|
---|
47 | "type": "string",
|
---|
48 | "format": "regex"
|
---|
49 | },
|
---|
50 | "maxItems": {"$ref": "#/$defs/nonNegativeInteger"},
|
---|
51 | "minItems": {"$ref": "#/$defs/nonNegativeIntegerDefault0"},
|
---|
52 | "uniqueItems": {
|
---|
53 | "type": "boolean",
|
---|
54 | "default": false
|
---|
55 | },
|
---|
56 | "maxContains": {"$ref": "#/$defs/nonNegativeInteger"},
|
---|
57 | "minContains": {
|
---|
58 | "$ref": "#/$defs/nonNegativeInteger",
|
---|
59 | "default": 1
|
---|
60 | },
|
---|
61 | "maxProperties": {"$ref": "#/$defs/nonNegativeInteger"},
|
---|
62 | "minProperties": {"$ref": "#/$defs/nonNegativeIntegerDefault0"},
|
---|
63 | "required": {"$ref": "#/$defs/stringArray"},
|
---|
64 | "dependentRequired": {
|
---|
65 | "type": "object",
|
---|
66 | "additionalProperties": {
|
---|
67 | "$ref": "#/$defs/stringArray"
|
---|
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 | }
|
---|