@hyperjump/json-schema 1.16.5 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +99 -11
  2. package/annotations/annotated-instance.js +1 -1
  3. package/draft-04/format.js +31 -0
  4. package/draft-04/index.js +3 -1
  5. package/draft-06/format.js +34 -0
  6. package/draft-06/index.js +3 -1
  7. package/draft-07/format.js +42 -0
  8. package/draft-07/index.js +3 -1
  9. package/draft-2019-09/format-assertion.js +44 -0
  10. package/draft-2019-09/format.js +44 -0
  11. package/draft-2019-09/index.js +5 -1
  12. package/draft-2020-12/format-assertion.js +43 -0
  13. package/draft-2020-12/format.js +44 -0
  14. package/draft-2020-12/index.js +6 -2
  15. package/formats/handlers/date-time.js +7 -0
  16. package/formats/handlers/date.js +7 -0
  17. package/formats/handlers/draft-04/hostname.js +7 -0
  18. package/formats/handlers/duration.js +7 -0
  19. package/formats/handlers/email.js +7 -0
  20. package/formats/handlers/hostname.js +7 -0
  21. package/formats/handlers/idn-email.js +7 -0
  22. package/formats/handlers/idn-hostname.js +7 -0
  23. package/formats/handlers/ipv4.js +7 -0
  24. package/formats/handlers/ipv6.js +7 -0
  25. package/formats/handlers/iri-reference.js +7 -0
  26. package/formats/handlers/iri.js +7 -0
  27. package/formats/handlers/json-pointer.js +7 -0
  28. package/formats/handlers/regex.js +7 -0
  29. package/formats/handlers/relative-json-pointer.js +7 -0
  30. package/formats/handlers/time.js +7 -0
  31. package/formats/handlers/uri-reference.js +7 -0
  32. package/formats/handlers/uri-template.js +7 -0
  33. package/formats/handlers/uri.js +7 -0
  34. package/formats/handlers/uuid.js +7 -0
  35. package/formats/index.js +11 -0
  36. package/formats/lite.js +38 -0
  37. package/lib/configuration.js +7 -2
  38. package/lib/experimental.d.ts +11 -2
  39. package/lib/experimental.js +1 -0
  40. package/lib/index.d.ts +2 -0
  41. package/lib/index.js +3 -1
  42. package/lib/keywords/dynamicRef.js +1 -1
  43. package/lib/keywords/format.js +35 -2
  44. package/lib/keywords.js +25 -3
  45. package/openapi-3-0/index.js +1 -1
  46. package/package.json +8 -5
  47. package/v1/extension-tests/conditional.json +289 -0
  48. package/v1/extension-tests/itemPattern.json +462 -0
  49. package/{stable → v1}/index.d.ts +2 -2
  50. package/{stable → v1}/index.js +25 -30
  51. package/{stable → v1}/meta/applicator.js +1 -3
  52. package/{stable → v1}/meta/content.js +1 -3
  53. package/{stable → v1}/meta/core.js +5 -4
  54. package/v1/meta/format.js +8 -0
  55. package/{stable → v1}/meta/meta-data.js +1 -3
  56. package/{stable → v1}/meta/unevaluated.js +1 -3
  57. package/{stable → v1}/meta/validation.js +1 -3
  58. package/v1/schema.js +24 -0
  59. package/stable/meta/format-annotation.js +0 -10
  60. package/stable/meta/format-assertion.js +0 -10
  61. package/stable/validation.js +0 -24
@@ -0,0 +1,462 @@
1
+ [
2
+ {
3
+ "description": "itemPattern ``",
4
+ "schema": {
5
+ "itemPattern": []
6
+ },
7
+ "tests": [
8
+ {
9
+ "description": "*empty*",
10
+ "data": [],
11
+ "valid": true
12
+ },
13
+ {
14
+ "description": "a",
15
+ "data": ["a"],
16
+ "valid": false
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "description": "itemPattern `a`",
22
+ "schema": {
23
+ "itemPattern": [
24
+ { "const": "a" }
25
+ ]
26
+ },
27
+ "tests": [
28
+ {
29
+ "description": "*empty*",
30
+ "data": [],
31
+ "valid": false
32
+ },
33
+ {
34
+ "description": "a",
35
+ "data": ["a"],
36
+ "valid": true
37
+ },
38
+ {
39
+ "description": "b",
40
+ "data": ["b"],
41
+ "valid": false
42
+ },
43
+ {
44
+ "description": "ab",
45
+ "data": ["a", "b"],
46
+ "valid": false
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "description": "itemPattern `ab`",
52
+ "schema": {
53
+ "itemPattern": [
54
+ { "const": "a" },
55
+ { "const": "b" }
56
+ ]
57
+ },
58
+ "tests": [
59
+ {
60
+ "description": "a",
61
+ "data": ["a"],
62
+ "valid": false
63
+ },
64
+ {
65
+ "description": "aa",
66
+ "data": ["a", "a"],
67
+ "valid": false
68
+ },
69
+ {
70
+ "description": "ab",
71
+ "data": ["a", "b"],
72
+ "valid": true
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "description": "itemPattern `a+b`",
78
+ "schema": {
79
+ "itemPattern": [
80
+ { "const": "a" }, "+",
81
+ { "const": "b" }
82
+ ]
83
+ },
84
+ "tests": [
85
+ {
86
+ "description": "b",
87
+ "data": ["b"],
88
+ "valid": false
89
+ },
90
+ {
91
+ "description": "ab",
92
+ "data": ["a", "b"],
93
+ "valid": true
94
+ },
95
+ {
96
+ "description": "aab",
97
+ "data": ["a", "a", "b"],
98
+ "valid": true
99
+ },
100
+ {
101
+ "description": "aaab",
102
+ "data": ["a", "a", "a", "b"],
103
+ "valid": true
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "description": "itemPattern `a*b`",
109
+ "schema": {
110
+ "itemPattern": [
111
+ { "const": "a" }, "*",
112
+ { "const": "b" }
113
+ ]
114
+ },
115
+ "tests": [
116
+ {
117
+ "description": "b",
118
+ "data": ["b"],
119
+ "valid": true
120
+ },
121
+ {
122
+ "description": "ab",
123
+ "data": ["a", "b"],
124
+ "valid": true
125
+ },
126
+ {
127
+ "description": "aab",
128
+ "data": ["a", "a", "b"],
129
+ "valid": true
130
+ },
131
+ {
132
+ "description": "aaab",
133
+ "data": ["a", "a", "a", "b"],
134
+ "valid": true
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "description": "itemPattern `(ab)+`",
140
+ "schema": {
141
+ "itemPattern": [
142
+ [
143
+ { "const": "a" },
144
+ { "const": "b" }
145
+ ], "+"
146
+ ]
147
+ },
148
+ "tests": [
149
+ {
150
+ "description": "*empty*",
151
+ "data": [],
152
+ "valid": false
153
+ },
154
+ {
155
+ "description": "a",
156
+ "data": ["a"],
157
+ "valid": false
158
+ },
159
+ {
160
+ "description": "ab",
161
+ "data": ["a", "b"],
162
+ "valid": true
163
+ },
164
+ {
165
+ "description": "aba",
166
+ "data": ["a", "b", "a"],
167
+ "valid": false
168
+ },
169
+ {
170
+ "description": "abab",
171
+ "data": ["a", "b", "a", "b"],
172
+ "valid": true
173
+ },
174
+ {
175
+ "description": "ababa",
176
+ "data": ["a", "b", "a", "b", "a"],
177
+ "valid": false
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "description": "itemPattern `a(b+c)*`",
183
+ "schema": {
184
+ "itemPattern": [
185
+ { "const": "a" },
186
+ [
187
+ { "const": "b" }, "+",
188
+ { "const": "c" }
189
+ ], "*"
190
+ ]
191
+ },
192
+ "tests": [
193
+ {
194
+ "description": "*empty*",
195
+ "data": [],
196
+ "valid": false
197
+ },
198
+ {
199
+ "description": "a",
200
+ "data": ["a"],
201
+ "valid": true
202
+ },
203
+ {
204
+ "description": "ab",
205
+ "data": ["a", "b"],
206
+ "valid": false
207
+ },
208
+ {
209
+ "description": "abc",
210
+ "data": ["a", "b", "c"],
211
+ "valid": true
212
+ },
213
+ {
214
+ "description": "abbc",
215
+ "data": ["a", "b", "b", "c"],
216
+ "valid": true
217
+ },
218
+ {
219
+ "description": "abbbc",
220
+ "data": ["a", "b", "b", "b", "c"],
221
+ "valid": true
222
+ },
223
+ {
224
+ "description": "abcbc",
225
+ "data": ["a", "b", "c", "b", "c"],
226
+ "valid": true
227
+ },
228
+ {
229
+ "description": "abcb",
230
+ "data": ["a", "b", "c", "b"],
231
+ "valid": false
232
+ },
233
+ {
234
+ "description": "abbcbc",
235
+ "data": ["a", "b", "b", "c", "b", "c"],
236
+ "valid": true
237
+ },
238
+ {
239
+ "description": "abcbbc",
240
+ "data": ["a", "b", "c", "b", "b", "c"],
241
+ "valid": true
242
+ },
243
+ {
244
+ "description": "abbcbbc",
245
+ "data": ["a", "b", "b", "c", "b", "b", "c"],
246
+ "valid": true
247
+ },
248
+ {
249
+ "description": "abbcbbcb",
250
+ "data": ["a", "b", "b", "c", "b", "b", "c", "b"],
251
+ "valid": false
252
+ }
253
+ ]
254
+ },
255
+ {
256
+ "description": "itemPattern `(abc)*abd`",
257
+ "schema": {
258
+ "itemPattern": [
259
+ [
260
+ { "const": "a" },
261
+ { "const": "b" },
262
+ { "const": "c" }
263
+ ], "*",
264
+ { "const": "a" },
265
+ { "const": "b" },
266
+ { "const": "d" }
267
+ ]
268
+ },
269
+ "tests": [
270
+ {
271
+ "description": "*empty*",
272
+ "data": [],
273
+ "valid": false
274
+ },
275
+ {
276
+ "description": "abc",
277
+ "data": ["a", "b", "c"],
278
+ "valid": false
279
+ },
280
+ {
281
+ "description": "abd",
282
+ "data": ["a", "b", "d"],
283
+ "valid": true
284
+ },
285
+ {
286
+ "description": "abcabd",
287
+ "data": ["a", "b", "c", "a", "b", "d"],
288
+ "valid": true
289
+ },
290
+ {
291
+ "description": "abcabcabd",
292
+ "data": ["a", "b", "c", "a", "b", "c", "a", "b", "d"],
293
+ "valid": true
294
+ },
295
+ {
296
+ "description": "abcabcabda",
297
+ "data": ["a", "b", "c", "a", "b", "c", "a", "b", "d", "a"],
298
+ "valid": false
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "description": "itemPattern `(ab|bd)+`",
304
+ "schema": {
305
+ "itemPattern": [
306
+ [
307
+ { "const": "a" },
308
+ { "const": "b" },
309
+ "|",
310
+ { "const": "c" },
311
+ { "const": "d" }
312
+ ], "+"
313
+ ]
314
+ },
315
+ "tests": [
316
+ {
317
+ "description": "*empty*",
318
+ "data": [],
319
+ "valid": false
320
+ },
321
+ {
322
+ "description": "ab",
323
+ "data": ["a", "b"],
324
+ "valid": true
325
+ },
326
+ {
327
+ "description": "cd",
328
+ "data": ["c", "d"],
329
+ "valid": true
330
+ },
331
+ {
332
+ "description": "abab",
333
+ "data": ["a", "b", "a", "b"],
334
+ "valid": true
335
+ },
336
+ {
337
+ "description": "abcd",
338
+ "data": ["a", "b", "c", "d"],
339
+ "valid": true
340
+ },
341
+ {
342
+ "description": "abc",
343
+ "data": ["a", "b", "c"],
344
+ "valid": false
345
+ }
346
+ ]
347
+ },
348
+ {
349
+ "description": "itemPattern `ab?|c`",
350
+ "schema": {
351
+ "itemPattern": [
352
+ { "const": "a" },
353
+ { "const": "b" }, "?",
354
+ "|",
355
+ { "const": "c" }
356
+ ]
357
+ },
358
+ "tests": [
359
+ {
360
+ "description": "a",
361
+ "data": ["a"],
362
+ "valid": true
363
+ },
364
+ {
365
+ "description": "ab",
366
+ "data": ["a", "b"],
367
+ "valid": true
368
+ },
369
+ {
370
+ "description": "c",
371
+ "data": ["c"],
372
+ "valid": true
373
+ },
374
+ {
375
+ "description": "ac",
376
+ "data": ["a", "c"],
377
+ "valid": false
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ "description": "itemPattern `a*(ab)+`",
383
+ "schema": {
384
+ "itemPattern": [
385
+ { "const": "a" }, "*",
386
+ [
387
+ { "const": "a" },
388
+ { "const": "b" }
389
+ ], "+"
390
+ ]
391
+ },
392
+ "tests": [
393
+ {
394
+ "description": "*empty*",
395
+ "data": [],
396
+ "valid": false
397
+ },
398
+ {
399
+ "description": "a",
400
+ "data": ["a"],
401
+ "valid": false
402
+ },
403
+ {
404
+ "description": "ab",
405
+ "data": ["a", "b"],
406
+ "valid": true
407
+ },
408
+ {
409
+ "description": "aab",
410
+ "data": ["a", "a", "b"],
411
+ "valid": true
412
+ },
413
+ {
414
+ "description": "aabab",
415
+ "data": ["a", "a", "b", "a", "b"],
416
+ "valid": true
417
+ },
418
+ {
419
+ "description": "aaab",
420
+ "data": ["a", "a", "a", "b"],
421
+ "valid": true
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "description": "itemPattern `(a+)+`",
427
+ "schema": {
428
+ "itemPattern": [
429
+ [
430
+ { "const": "a" }, "+"
431
+ ], "+"
432
+ ]
433
+ },
434
+ "tests": [
435
+ {
436
+ "description": "*empty*",
437
+ "data": [],
438
+ "valid": false
439
+ },
440
+ {
441
+ "description": "a",
442
+ "data": ["a"],
443
+ "valid": true
444
+ },
445
+ {
446
+ "description": "aa",
447
+ "data": ["a", "a"],
448
+ "valid": true
449
+ },
450
+ {
451
+ "description": "aaaaaaaaaaaaaaaa",
452
+ "data": ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"],
453
+ "valid": true
454
+ },
455
+ {
456
+ "description": "aaaaaaaaaaaaaaaaX",
457
+ "data": ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "X"],
458
+ "valid": false
459
+ }
460
+ ]
461
+ }
462
+ ]
@@ -4,8 +4,8 @@ import type { JsonSchemaType } from "../lib/common.js";
4
4
 
5
5
  export type JsonSchemaType = JsonSchemaType;
6
6
 
7
- export type JsonSchema = boolean | {
8
- $schema?: "https://json-schema.org/validation";
7
+ export type JsonSchemaV1 = boolean | {
8
+ $schema?: "https://json-schema.org/v1";
9
9
  $id?: string;
10
10
  $anchor?: string;
11
11
  $ref?: string;
@@ -1,18 +1,18 @@
1
1
  import { defineVocabulary, loadDialect } from "../lib/keywords.js";
2
2
  import { registerSchema } from "../lib/index.js";
3
+ import "../formats/lite.js";
3
4
 
4
- import metaSchema from "./validation.js";
5
+ import metaSchema from "./schema.js";
5
6
  import coreMetaSchema from "./meta/core.js";
6
7
  import applicatorMetaSchema from "./meta/applicator.js";
7
8
  import validationMetaSchema from "./meta/validation.js";
8
9
  import metaDataMetaSchema from "./meta/meta-data.js";
9
- import formatAnnotationMetaSchema from "./meta/format-annotation.js";
10
- import formatAssertionMetaSchema from "./meta/format-assertion.js";
10
+ import formatMetaSchema from "./meta/format.js";
11
11
  import contentMetaSchema from "./meta/content.js";
12
12
  import unevaluatedMetaSchema from "./meta/unevaluated.js";
13
13
 
14
14
 
15
- defineVocabulary("https://json-schema.org/vocab/core", {
15
+ defineVocabulary("https://json-schema.org/v1/vocab/core", {
16
16
  "$anchor": "https://json-schema.org/keyword/anchor",
17
17
  "$comment": "https://json-schema.org/keyword/comment",
18
18
  "$defs": "https://json-schema.org/keyword/definitions",
@@ -23,7 +23,7 @@ defineVocabulary("https://json-schema.org/vocab/core", {
23
23
  "$vocabulary": "https://json-schema.org/keyword/vocabulary"
24
24
  });
25
25
 
26
- defineVocabulary("https://json-schema.org/vocab/applicator", {
26
+ defineVocabulary("https://json-schema.org/v1/vocab/applicator", {
27
27
  "additionalProperties": "https://json-schema.org/keyword/additionalProperties",
28
28
  "allOf": "https://json-schema.org/keyword/allOf",
29
29
  "anyOf": "https://json-schema.org/keyword/anyOf",
@@ -46,7 +46,7 @@ defineVocabulary("https://json-schema.org/vocab/applicator", {
46
46
  "propertyNames": "https://json-schema.org/keyword/propertyNames"
47
47
  });
48
48
 
49
- defineVocabulary("https://json-schema.org/vocab/validation", {
49
+ defineVocabulary("https://json-schema.org/v1/vocab/validation", {
50
50
  "const": "https://json-schema.org/keyword/const",
51
51
  "dependentRequired": "https://json-schema.org/keyword/dependentRequired",
52
52
  "enum": "https://json-schema.org/keyword/enum",
@@ -68,7 +68,7 @@ defineVocabulary("https://json-schema.org/vocab/validation", {
68
68
  "uniqueItems": "https://json-schema.org/keyword/uniqueItems"
69
69
  });
70
70
 
71
- defineVocabulary("https://json-schema.org/vocab/meta-data", {
71
+ defineVocabulary("https://json-schema.org/v1/vocab/meta-data", {
72
72
  "default": "https://json-schema.org/keyword/default",
73
73
  "deprecated": "https://json-schema.org/keyword/deprecated",
74
74
  "description": "https://json-schema.org/keyword/description",
@@ -78,44 +78,39 @@ defineVocabulary("https://json-schema.org/vocab/meta-data", {
78
78
  "writeOnly": "https://json-schema.org/keyword/writeOnly"
79
79
  });
80
80
 
81
- defineVocabulary("https://json-schema.org/vocab/format-annotation", {
81
+ defineVocabulary("https://json-schema.org/v1/vocab/format", {
82
82
  "format": "https://json-schema.org/keyword/format"
83
83
  });
84
84
 
85
- defineVocabulary("https://json-schema.org/vocab/format-assertion", {
86
- "format": "https://json-schema.org/keyword/format-assertion"
87
- });
88
-
89
- defineVocabulary("https://json-schema.org/vocab/content", {
85
+ defineVocabulary("https://json-schema.org/v1/vocab/content", {
90
86
  "contentEncoding": "https://json-schema.org/keyword/contentEncoding",
91
87
  "contentMediaType": "https://json-schema.org/keyword/contentMediaType",
92
88
  "contentSchema": "https://json-schema.org/keyword/contentSchema"
93
89
  });
94
90
 
95
- defineVocabulary("https://json-schema.org/vocab/unevaluated", {
91
+ defineVocabulary("https://json-schema.org/v1/vocab/unevaluated", {
96
92
  "unevaluatedItems": "https://json-schema.org/keyword/unevaluatedItems",
97
93
  "unevaluatedProperties": "https://json-schema.org/keyword/unevaluatedProperties"
98
94
  });
99
95
 
100
- const dialectId = "https://json-schema.org/validation";
96
+ const dialectId = "https://json-schema.org/v1";
101
97
  loadDialect(dialectId, {
102
- "https://json-schema.org/vocab/core": true,
103
- "https://json-schema.org/vocab/applicator": true,
104
- "https://json-schema.org/vocab/validation": true,
105
- "https://json-schema.org/vocab/meta-data": true,
106
- "https://json-schema.org/vocab/format-annotation": true,
107
- "https://json-schema.org/vocab/content": true,
108
- "https://json-schema.org/vocab/unevaluated": true
98
+ "https://json-schema.org/v1/vocab/core": true,
99
+ "https://json-schema.org/v1/vocab/applicator": true,
100
+ "https://json-schema.org/v1/vocab/validation": true,
101
+ "https://json-schema.org/v1/vocab/meta-data": true,
102
+ "https://json-schema.org/v1/vocab/format": true,
103
+ "https://json-schema.org/v1/vocab/content": true,
104
+ "https://json-schema.org/v1/vocab/unevaluated": true
109
105
  });
110
106
 
111
107
  registerSchema(metaSchema, dialectId);
112
- registerSchema(coreMetaSchema, "https://json-schema.org/meta/core");
113
- registerSchema(applicatorMetaSchema, "https://json-schema.org/meta/applicator");
114
- registerSchema(validationMetaSchema, "https://json-schema.org/meta/validation");
115
- registerSchema(metaDataMetaSchema, "https://json-schema.org/meta/meta-data");
116
- registerSchema(formatAnnotationMetaSchema, "https://json-schema.org/meta/format-annotation");
117
- registerSchema(formatAssertionMetaSchema, "https://json-schema.org/meta/format-assertion");
118
- registerSchema(contentMetaSchema, "https://json-schema.org/meta/content");
119
- registerSchema(unevaluatedMetaSchema, "https://json-schema.org/meta/unevaluated");
108
+ registerSchema(coreMetaSchema, "https://json-schema.org/v1/meta/core");
109
+ registerSchema(applicatorMetaSchema, "https://json-schema.org/v1/meta/applicator");
110
+ registerSchema(validationMetaSchema, "https://json-schema.org/v1/meta/validation");
111
+ registerSchema(metaDataMetaSchema, "https://json-schema.org/v1/meta/meta-data");
112
+ registerSchema(formatMetaSchema, "https://json-schema.org/v1/meta/format");
113
+ registerSchema(contentMetaSchema, "https://json-schema.org/v1/meta/content");
114
+ registerSchema(unevaluatedMetaSchema, "https://json-schema.org/v1/meta/unevaluated");
120
115
 
121
116
  export * from "../lib/index.js";
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Applicator vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "properties": {
8
6
  "prefixItems": { "$ref": "#/$defs/schemaArray" },
9
7
  "items": { "$dynamicRef": "meta" },
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Content vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "properties": {
8
6
  "contentMediaType": { "type": "string" },
9
7
  "contentEncoding": { "type": "string" },
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Core vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "type": ["object", "boolean"],
8
6
  "properties": {
9
7
  "$id": {
@@ -21,7 +19,10 @@ export default {
21
19
  "type": "string",
22
20
  "format": "uri-reference"
23
21
  },
24
- "$dynamicRef": { "$ref": "#/$defs/anchor" },
22
+ "$dynamicRef": {
23
+ "type": "string",
24
+ "pattern": "^#?[A-Za-z_][-A-Za-z0-9._]*$"
25
+ },
25
26
  "$dynamicAnchor": { "$ref": "#/$defs/anchor" },
26
27
  "$vocabulary": {
27
28
  "type": "object",
@@ -0,0 +1,8 @@
1
+ export default {
2
+ "$schema": "https://json-schema.org/v1",
3
+ "title": "Format vocabulary meta-schema",
4
+
5
+ "properties": {
6
+ "format": { "type": "string" }
7
+ }
8
+ };
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Meta-data vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "properties": {
8
6
  "title": { "type": "string" },
9
7
  "description": { "type": "string" },
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Unevaluated applicator vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "properties": {
8
6
  "unevaluatedItems": { "$dynamicRef": "meta" },
9
7
  "unevaluatedProperties": { "$dynamicRef": "meta" }
@@ -1,9 +1,7 @@
1
1
  export default {
2
- "$schema": "https://json-schema.org/validation",
2
+ "$schema": "https://json-schema.org/v1",
3
3
  "title": "Validation vocabulary meta-schema",
4
4
 
5
- "$dynamicAnchor": "meta",
6
-
7
5
  "properties": {
8
6
  "multipleOf": {
9
7
  "type": "number",