UNPKG

3.81 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$id": "http://json-schema.org/draft-07/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 "$comment": {
43 "type": "string"
44 },
45 "title": {
46 "type": "string"
47 },
48 "description": {
49 "type": "string"
50 },
51 "default": true,
52 "readOnly": {
53 "type": "boolean",
54 "default": false
55 },
56 "examples": {
57 "type": "array",
58 "items": true
59 },
60 "multipleOf": {
61 "type": "number",
62 "exclusiveMinimum": 0
63 },
64 "maximum": {
65 "type": "number"
66 },
67 "exclusiveMaximum": {
68 "type": "number"
69 },
70 "minimum": {
71 "type": "number"
72 },
73 "exclusiveMinimum": {
74 "type": "number"
75 },
76 "maxLength": {"$ref": "#/definitions/nonNegativeInteger"},
77 "minLength": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
78 "pattern": {
79 "type": "string",
80 "format": "regex"
81 },
82 "additionalItems": {"$ref": "#"},
83 "items": {
84 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/schemaArray"}],
85 "default": true
86 },
87 "maxItems": {"$ref": "#/definitions/nonNegativeInteger"},
88 "minItems": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
89 "uniqueItems": {
90 "type": "boolean",
91 "default": false
92 },
93 "contains": {"$ref": "#"},
94 "maxProperties": {"$ref": "#/definitions/nonNegativeInteger"},
95 "minProperties": {"$ref": "#/definitions/nonNegativeIntegerDefault0"},
96 "required": {"$ref": "#/definitions/stringArray"},
97 "additionalProperties": {"$ref": "#"},
98 "definitions": {
99 "type": "object",
100 "additionalProperties": {"$ref": "#"},
101 "default": {}
102 },
103 "properties": {
104 "type": "object",
105 "additionalProperties": {"$ref": "#"},
106 "default": {}
107 },
108 "patternProperties": {
109 "type": "object",
110 "additionalProperties": {"$ref": "#"},
111 "propertyNames": {"format": "regex"},
112 "default": {}
113 },
114 "dependencies": {
115 "type": "object",
116 "additionalProperties": {
117 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/stringArray"}]
118 }
119 },
120 "propertyNames": {"$ref": "#"},
121 "const": true,
122 "enum": {
123 "type": "array",
124 "items": true,
125 "minItems": 1,
126 "uniqueItems": true
127 },
128 "type": {
129 "anyOf": [
130 {"$ref": "#/definitions/simpleTypes"},
131 {
132 "type": "array",
133 "items": {"$ref": "#/definitions/simpleTypes"},
134 "minItems": 1,
135 "uniqueItems": true
136 }
137 ]
138 },
139 "format": {"type": "string"},
140 "contentMediaType": {"type": "string"},
141 "contentEncoding": {"type": "string"},
142 "if": {"$ref": "#"},
143 "then": {"$ref": "#"},
144 "else": {"$ref": "#"},
145 "allOf": {"$ref": "#/definitions/schemaArray"},
146 "anyOf": {"$ref": "#/definitions/schemaArray"},
147 "oneOf": {"$ref": "#/definitions/schemaArray"},
148 "not": {"$ref": "#"}
149 },
150 "default": true
151}