UNPKG

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