Skip to content

Commit e0aa3ba

Browse files
authored
fix(json_schemas): Copy json-schema-draft-07.json to repo directly (#540)
To fix this issue #538 (comment)
1 parent cd3d3eb commit e0aa3ba

File tree

2 files changed

+153
-1
lines changed

2 files changed

+153
-1
lines changed
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
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+
}

packages/json_schemas/src/validations.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// We're using the 2019, because input schema requires it (it uses "unevaluatedProperties" keyword)
22
import Ajv from 'ajv/dist/2019.js';
3-
import draft7MetaSchema from 'ajv/lib/refs/json-schema-draft-07.json';
43

4+
// TODO: it might be better to import this from ajv package
5+
import draft7MetaSchema from '../schemas/json-schema-draft-07.json';
56
import {
67
actorSchema,
78
datasetSchema,

0 commit comments

Comments
 (0)