UNPKG

3.45 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-06/schema#",
3 "$id": "http://json-schema.org/draft-06/schema#",
4 "title": "Core schema meta-schema",
5 "definitions": {
6 "schemaArray": {
7 "type": "array",
8 "minItems": 1,
9 "items": {"$ref": "#"}
10 },
11 "nonNegativeInteger": {
12 "type": "integer",
13 "minimum": 0
14 },
15 "nonNegativeIntegerDefault0": {
16 "allOf": [{"$ref": "#/definitions/nonNegativeInteger"}, {"default": 0}]
17 },
18 "simpleTypes": {
19 "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
20 },
21 "stringArray": {
22 "type": "array",
23 "items": {"type": "string"},
24 "uniqueItems": true,
25 "default": []
26 }
27 },
28 "type": ["object", "boolean"],
29 "properties": {
30 "$id": {
31 "type": "string",
32 "format": "uri-reference"
33 },
34 "$schema": {
35 "type": "string",
36 "format": "uri"
37 },
38 "$ref": {
39 "type": "string",
40 "format": "uri-reference"
41 },
42 "title": {
43 "type": "string"
44 },
45 "description": {
46 "type": "string"
47 },
48 "default": {},
49 "examples": {
50 "type": "array",
51 "items": {}
52 },
53 "multipleOf": {
54 "type": "number",
55 "exclusiveMinimum": 0
56 },
57 "maximum": {
58 "type": "number"
59 },
60 "exclusiveMaximum": {
61 "type": "number"
62 },
63 "minimum": {
64 "type": "number"
65 },
66 "exclusiveMinimum": {
67 "type": "number"
68 },
69 "maxLength": {"$ref": "#/definitions/nonNegativeInteger"},
70 "minLength": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
71 "pattern": {
72 "type": "string",
73 "format": "regex"
74 },
75 "additionalItems": {"$ref": "#"},
76 "items": {
77 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/schemaArray"}],
78 "default": {}
79 },
80 "maxItems": {"$ref": "#/definitions/nonNegativeInteger"},
81 "minItems": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
82 "uniqueItems": {
83 "type": "boolean",
84 "default": false
85 },
86 "contains": {"$ref": "#"},
87 "maxProperties": {"$ref": "#/definitions/nonNegativeInteger"},
88 "minProperties": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
89 "required": {"$ref": "#/definitions/stringArray"},
90 "additionalProperties": {"$ref": "#"},
91 "definitions": {
92 "type": "object",
93 "additionalProperties": {"$ref": "#"},
94 "default": {}
95 },
96 "properties": {
97 "type": "object",
98 "additionalProperties": {"$ref": "#"},
99 "default": {}
100 },
101 "patternProperties": {
102 "type": "object",
103 "additionalProperties": {"$ref": "#"},
104 "default": {}
105 },
106 "dependencies": {
107 "type": "object",
108 "additionalProperties": {
109 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/stringArray"}]
110 }
111 },
112 "propertyNames": {"$ref": "#"},
113 "const": {},
114 "enum": {
115 "type": "array",
116 "minItems": 1,
117 "uniqueItems": true
118 },
119 "type": {
120 "anyOf": [
121 {"$ref": "#/definitions/simpleTypes"},
122 {
123 "type": "array",
124 "items": {"$ref": "#/definitions/simpleTypes"},
125 "minItems": 1,
126 "uniqueItems": true
127 }
128 ]
129 },
130 "format": {"type": "string"},
131 "allOf": {"$ref": "#/definitions/schemaArray"},
132 "anyOf": {"$ref": "#/definitions/schemaArray"},
133 "oneOf": {"$ref": "#/definitions/schemaArray"},
134 "not": {"$ref": "#"}
135 },
136 "default": {}
137}