json-schema-library 11.0.5 → 11.2.0

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 (113) hide show
  1. package/.mocharc.js +1 -0
  2. package/CHANGELOG.md +17 -0
  3. package/README.md +120 -0
  4. package/bowtie/.editorconfig +21 -0
  5. package/bowtie/.prettierrc +6 -0
  6. package/bowtie/BOWTIE.md +54 -0
  7. package/bowtie/Dockerfile +6 -0
  8. package/bowtie/bowtie-api.ts +101 -0
  9. package/bowtie/bowtie.test.ts +76 -0
  10. package/bowtie/bowtie.ts +156 -0
  11. package/bowtie/package.json +11 -0
  12. package/bowtie/tsconfig.json +12 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.cts +39 -470
  15. package/dist/index.d.mts +39 -470
  16. package/dist/index.mjs +1 -1
  17. package/dist/jlib.js +2 -13
  18. package/dist/remotes/index.cjs +1 -0
  19. package/dist/remotes/index.d.cts +7 -0
  20. package/dist/remotes/index.d.mts +7 -0
  21. package/dist/remotes/index.mjs +1 -0
  22. package/dist/types-B2wwNWyo.d.cts +513 -0
  23. package/dist/types-BhTU1l2h.d.mts +513 -0
  24. package/index.ts +10 -4
  25. package/package.json +14 -8
  26. package/src/Keyword.ts +37 -12
  27. package/src/SchemaNode.ts +84 -16
  28. package/src/compileSchema.ts +56 -4
  29. package/src/draft04/keywords/$ref.ts +22 -14
  30. package/src/draft04/keywords/exclusiveMaximum.ts +14 -0
  31. package/src/draft04/keywords/exclusiveMinimum.ts +14 -0
  32. package/src/draft04/validateSchema.test.ts +20 -0
  33. package/src/draft06/keywords/$ref.ts +15 -5
  34. package/src/draft2019-09/keywords/$ref.test.ts +3 -1
  35. package/src/draft2019-09/keywords/$ref.ts +40 -16
  36. package/src/draft2019-09/keywords/additionalItems.ts +33 -10
  37. package/src/draft2019-09/keywords/items.ts +32 -10
  38. package/src/draft2019-09/keywords/unevaluatedItems.ts +19 -6
  39. package/src/draft2019-09/methods/getData.ts +1 -1
  40. package/src/draft2019-09/validateSchema.test.ts +28 -0
  41. package/src/errors/errors.ts +8 -1
  42. package/src/formats/formats.ts +35 -28
  43. package/src/formats/hyperjump.d.ts +172 -0
  44. package/src/keywords/$defs.ts +34 -8
  45. package/src/keywords/$ref.ts +59 -13
  46. package/src/keywords/additionalProperties.ts +19 -8
  47. package/src/keywords/allOf.ts +44 -18
  48. package/src/keywords/anyOf.ts +38 -19
  49. package/src/keywords/contains.ts +21 -9
  50. package/src/keywords/dependencies.ts +37 -17
  51. package/src/keywords/dependentRequired.ts +56 -38
  52. package/src/keywords/dependentSchemas.ts +37 -13
  53. package/src/keywords/deprecated.ts +32 -8
  54. package/src/keywords/enum.ts +30 -8
  55. package/src/keywords/exclusiveMaximum.ts +21 -2
  56. package/src/keywords/exclusiveMinimum.ts +22 -3
  57. package/src/keywords/format.ts +21 -2
  58. package/src/keywords/ifthenelse.ts +49 -5
  59. package/src/keywords/items.ts +27 -13
  60. package/src/keywords/maxItems.ts +22 -2
  61. package/src/keywords/maxLength.ts +30 -9
  62. package/src/keywords/maxProperties.ts +30 -9
  63. package/src/keywords/maximum.ts +28 -8
  64. package/src/keywords/minItems.ts +30 -9
  65. package/src/keywords/minLength.ts +30 -9
  66. package/src/keywords/minProperties.ts +26 -5
  67. package/src/keywords/minimum.ts +32 -13
  68. package/src/keywords/multipleOf.ts +33 -12
  69. package/src/keywords/not.ts +23 -10
  70. package/src/keywords/oneOf.ts +29 -9
  71. package/src/keywords/pattern.ts +35 -9
  72. package/src/keywords/properties.ts +34 -11
  73. package/src/keywords/propertyDependencies.test.ts +180 -0
  74. package/src/keywords/propertyDependencies.ts +173 -0
  75. package/src/keywords/propertyNames.ts +26 -14
  76. package/src/keywords/required.ts +31 -8
  77. package/src/keywords/type.ts +53 -16
  78. package/src/keywords/unevaluatedItems.ts +24 -8
  79. package/src/keywords/unevaluatedProperties.ts +24 -7
  80. package/src/keywords/uniqueItems.ts +23 -4
  81. package/src/mergeNode.ts +9 -4
  82. package/src/methods/getData.ts +1 -1
  83. package/src/settings.ts +2 -1
  84. package/src/types.ts +1 -1
  85. package/src/utils/isListOfStrings.ts +3 -0
  86. package/src/validate.test.ts +0 -2
  87. package/src/validateNode.ts +6 -3
  88. package/src/validateSchema.test.ts +312 -0
  89. package/tsconfig.json +11 -4
  90. package/tsconfig.test.json +9 -2
  91. package/tsdown.config.ts +1 -1
  92. package/Dockerfile +0 -6
  93. package/bowtie_jlib.js +0 -140
  94. package/remotes/draft04.json +0 -150
  95. package/remotes/draft06.json +0 -155
  96. package/remotes/draft07.json +0 -155
  97. package/remotes/draft2019-09.json +0 -42
  98. package/remotes/draft2019-09_meta_applicator.json +0 -53
  99. package/remotes/draft2019-09_meta_content.json +0 -14
  100. package/remotes/draft2019-09_meta_core.json +0 -54
  101. package/remotes/draft2019-09_meta_format.json +0 -11
  102. package/remotes/draft2019-09_meta_meta-data.json +0 -34
  103. package/remotes/draft2019-09_meta_validation.json +0 -95
  104. package/remotes/draft2020-12.json +0 -55
  105. package/remotes/draft2020-12_meta_applicator.json +0 -45
  106. package/remotes/draft2020-12_meta_content.json +0 -14
  107. package/remotes/draft2020-12_meta_core.json +0 -48
  108. package/remotes/draft2020-12_meta_format_annotation.json +0 -11
  109. package/remotes/draft2020-12_meta_format_assertion.json +0 -11
  110. package/remotes/draft2020-12_meta_meta_data.json +0 -34
  111. package/remotes/draft2020-12_meta_unevaluated.json +0 -12
  112. package/remotes/draft2020-12_meta_validation.json +0 -87
  113. package/remotes/index.ts +0 -48
@@ -1,53 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/applicator",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Applicator vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "additionalItems": { "$recursiveRef": "#" },
10
- "unevaluatedItems": { "$recursiveRef": "#" },
11
- "items": {
12
- "anyOf": [
13
- { "$recursiveRef": "#" },
14
- { "$ref": "#/$defs/schemaArray" }
15
- ]
16
- },
17
- "contains": { "$recursiveRef": "#" },
18
- "additionalProperties": { "$recursiveRef": "#" },
19
- "unevaluatedProperties": { "$recursiveRef": "#" },
20
- "properties": {
21
- "type": "object",
22
- "additionalProperties": { "$recursiveRef": "#" },
23
- "default": {}
24
- },
25
- "patternProperties": {
26
- "type": "object",
27
- "additionalProperties": { "$recursiveRef": "#" },
28
- "propertyNames": { "format": "regex" },
29
- "default": {}
30
- },
31
- "dependentSchemas": {
32
- "type": "object",
33
- "additionalProperties": {
34
- "$recursiveRef": "#"
35
- }
36
- },
37
- "propertyNames": { "$recursiveRef": "#" },
38
- "if": { "$recursiveRef": "#" },
39
- "then": { "$recursiveRef": "#" },
40
- "else": { "$recursiveRef": "#" },
41
- "allOf": { "$ref": "#/$defs/schemaArray" },
42
- "anyOf": { "$ref": "#/$defs/schemaArray" },
43
- "oneOf": { "$ref": "#/$defs/schemaArray" },
44
- "not": { "$recursiveRef": "#" }
45
- },
46
- "$defs": {
47
- "schemaArray": {
48
- "type": "array",
49
- "minItems": 1,
50
- "items": { "$recursiveRef": "#" }
51
- }
52
- }
53
- }
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/content",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Content vocabulary meta-schema",
7
-
8
- "type": ["object", "boolean"],
9
- "properties": {
10
- "contentMediaType": { "type": "string" },
11
- "contentEncoding": { "type": "string" },
12
- "contentSchema": { "$recursiveRef": "#" }
13
- }
14
- }
@@ -1,54 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/core",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Core vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "$id": {
10
- "type": "string",
11
- "format": "uri-reference",
12
- "$comment": "Non-empty fragments not allowed.",
13
- "pattern": "^[^#]*#?$"
14
- },
15
- "$schema": {
16
- "type": "string",
17
- "format": "uri"
18
- },
19
- "$anchor": {
20
- "type": "string",
21
- "pattern": "^[A-Za-z][-A-Za-z0-9.:_]*$"
22
- },
23
- "$ref": {
24
- "type": "string",
25
- "format": "uri-reference"
26
- },
27
- "$recursiveRef": {
28
- "type": "string",
29
- "format": "uri-reference"
30
- },
31
- "$recursiveAnchor": {
32
- "type": "boolean",
33
- "default": false
34
- },
35
- "$vocabulary": {
36
- "type": "object",
37
- "propertyNames": {
38
- "type": "string",
39
- "format": "uri"
40
- },
41
- "additionalProperties": {
42
- "type": "boolean"
43
- }
44
- },
45
- "$comment": {
46
- "type": "string"
47
- },
48
- "$defs": {
49
- "type": "object",
50
- "additionalProperties": { "$recursiveRef": "#" },
51
- "default": {}
52
- }
53
- }
54
- }
@@ -1,11 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/format",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Format vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "format": { "type": "string" }
10
- }
11
- }
@@ -1,34 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/meta-data",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Meta-data vocabulary meta-schema",
7
-
8
- "type": ["object", "boolean"],
9
- "properties": {
10
- "title": {
11
- "type": "string"
12
- },
13
- "description": {
14
- "type": "string"
15
- },
16
- "default": true,
17
- "deprecated": {
18
- "type": "boolean",
19
- "default": false
20
- },
21
- "readOnly": {
22
- "type": "boolean",
23
- "default": false
24
- },
25
- "writeOnly": {
26
- "type": "boolean",
27
- "default": false
28
- },
29
- "examples": {
30
- "type": "array",
31
- "items": true
32
- }
33
- }
34
- }
@@ -1,95 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "https://json-schema.org/draft/2019-09/meta/validation",
4
- "$recursiveAnchor": true,
5
-
6
- "title": "Validation vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "multipleOf": {
10
- "type": "number",
11
- "exclusiveMinimum": 0
12
- },
13
- "maximum": {
14
- "type": "number"
15
- },
16
- "exclusiveMaximum": {
17
- "type": "number"
18
- },
19
- "minimum": {
20
- "type": "number"
21
- },
22
- "exclusiveMinimum": {
23
- "type": "number"
24
- },
25
- "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
26
- "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
27
- "pattern": {
28
- "type": "string",
29
- "format": "regex"
30
- },
31
- "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
32
- "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
33
- "uniqueItems": {
34
- "type": "boolean",
35
- "default": false
36
- },
37
- "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
38
- "minContains": {
39
- "$ref": "#/$defs/nonNegativeInteger",
40
- "default": 1
41
- },
42
- "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
43
- "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
44
- "required": { "$ref": "#/$defs/stringArray" },
45
- "dependentRequired": {
46
- "type": "object",
47
- "additionalProperties": {
48
- "$ref": "#/$defs/stringArray"
49
- }
50
- },
51
- "const": true,
52
- "enum": {
53
- "type": "array",
54
- "items": true
55
- },
56
- "type": {
57
- "anyOf": [
58
- { "$ref": "#/$defs/simpleTypes" },
59
- {
60
- "type": "array",
61
- "items": { "$ref": "#/$defs/simpleTypes" },
62
- "minItems": 1,
63
- "uniqueItems": true
64
- }
65
- ]
66
- }
67
- },
68
- "$defs": {
69
- "nonNegativeInteger": {
70
- "type": "integer",
71
- "minimum": 0
72
- },
73
- "nonNegativeIntegerDefault0": {
74
- "$ref": "#/$defs/nonNegativeInteger",
75
- "default": 0
76
- },
77
- "simpleTypes": {
78
- "enum": [
79
- "array",
80
- "boolean",
81
- "integer",
82
- "null",
83
- "number",
84
- "object",
85
- "string"
86
- ]
87
- },
88
- "stringArray": {
89
- "type": "array",
90
- "items": { "type": "string" },
91
- "uniqueItems": true,
92
- "default": []
93
- }
94
- }
95
- }
@@ -1,55 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/schema",
4
- "$vocabulary": {
5
- "https://json-schema.org/draft/2020-12/vocab/core": true,
6
- "https://json-schema.org/draft/2020-12/vocab/applicator": true,
7
- "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
8
- "https://json-schema.org/draft/2020-12/vocab/validation": true,
9
- "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
10
- "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
11
- "https://json-schema.org/draft/2020-12/vocab/content": true
12
- },
13
- "$dynamicAnchor": "meta",
14
-
15
- "title": "Core and Validation specifications meta-schema",
16
- "allOf": [
17
- { "$ref": "meta/core" },
18
- { "$ref": "meta/applicator" },
19
- { "$ref": "meta/unevaluated" },
20
- { "$ref": "meta/validation" },
21
- { "$ref": "meta/meta-data" },
22
- { "$ref": "meta/format-annotation" },
23
- { "$ref": "meta/content" }
24
- ],
25
- "type": ["object", "boolean"],
26
- "$comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",
27
- "properties": {
28
- "definitions": {
29
- "$comment": "\"definitions\" has been replaced by \"$defs\".",
30
- "type": "object",
31
- "additionalProperties": { "$dynamicRef": "#meta" },
32
- "deprecated": true,
33
- "default": {}
34
- },
35
- "dependencies": {
36
- "$comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.",
37
- "type": "object",
38
- "additionalProperties": {
39
- "anyOf": [{ "$dynamicRef": "#meta" }, { "$ref": "meta/validation#/$defs/stringArray" }]
40
- },
41
- "deprecated": true,
42
- "default": {}
43
- },
44
- "$recursiveAnchor": {
45
- "$comment": "\"$recursiveAnchor\" has been replaced by \"$dynamicAnchor\".",
46
- "$ref": "meta/core#/$defs/anchorString",
47
- "deprecated": true
48
- },
49
- "$recursiveRef": {
50
- "$comment": "\"$recursiveRef\" has been replaced by \"$dynamicRef\".",
51
- "$ref": "meta/core#/$defs/uriReferenceString",
52
- "deprecated": true
53
- }
54
- }
55
- }
@@ -1,45 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/applicator",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Applicator vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "prefixItems": { "$ref": "#/$defs/schemaArray" },
10
- "items": { "$dynamicRef": "#meta" },
11
- "contains": { "$dynamicRef": "#meta" },
12
- "additionalProperties": { "$dynamicRef": "#meta" },
13
- "properties": {
14
- "type": "object",
15
- "additionalProperties": { "$dynamicRef": "#meta" },
16
- "default": {}
17
- },
18
- "patternProperties": {
19
- "type": "object",
20
- "additionalProperties": { "$dynamicRef": "#meta" },
21
- "propertyNames": { "format": "regex" },
22
- "default": {}
23
- },
24
- "dependentSchemas": {
25
- "type": "object",
26
- "additionalProperties": { "$dynamicRef": "#meta" },
27
- "default": {}
28
- },
29
- "propertyNames": { "$dynamicRef": "#meta" },
30
- "if": { "$dynamicRef": "#meta" },
31
- "then": { "$dynamicRef": "#meta" },
32
- "else": { "$dynamicRef": "#meta" },
33
- "allOf": { "$ref": "#/$defs/schemaArray" },
34
- "anyOf": { "$ref": "#/$defs/schemaArray" },
35
- "oneOf": { "$ref": "#/$defs/schemaArray" },
36
- "not": { "$dynamicRef": "#meta" }
37
- },
38
- "$defs": {
39
- "schemaArray": {
40
- "type": "array",
41
- "minItems": 1,
42
- "items": { "$dynamicRef": "#meta" }
43
- }
44
- }
45
- }
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/content",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Content vocabulary meta-schema",
7
-
8
- "type": ["object", "boolean"],
9
- "properties": {
10
- "contentEncoding": { "type": "string" },
11
- "contentMediaType": { "type": "string" },
12
- "contentSchema": { "$dynamicRef": "#meta" }
13
- }
14
- }
@@ -1,48 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/core",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Core vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "$id": {
10
- "$ref": "#/$defs/uriReferenceString",
11
- "$comment": "Non-empty fragments not allowed.",
12
- "pattern": "^[^#]*#?$"
13
- },
14
- "$schema": { "$ref": "#/$defs/uriString" },
15
- "$ref": { "$ref": "#/$defs/uriReferenceString" },
16
- "$anchor": { "$ref": "#/$defs/anchorString" },
17
- "$dynamicRef": { "$ref": "#/$defs/uriReferenceString" },
18
- "$dynamicAnchor": { "$ref": "#/$defs/anchorString" },
19
- "$vocabulary": {
20
- "type": "object",
21
- "propertyNames": { "$ref": "#/$defs/uriString" },
22
- "additionalProperties": {
23
- "type": "boolean"
24
- }
25
- },
26
- "$comment": {
27
- "type": "string"
28
- },
29
- "$defs": {
30
- "type": "object",
31
- "additionalProperties": { "$dynamicRef": "#meta" }
32
- }
33
- },
34
- "$defs": {
35
- "anchorString": {
36
- "type": "string",
37
- "pattern": "^[A-Za-z_][-A-Za-z0-9._]*$"
38
- },
39
- "uriString": {
40
- "type": "string",
41
- "format": "uri"
42
- },
43
- "uriReferenceString": {
44
- "type": "string",
45
- "format": "uri-reference"
46
- }
47
- }
48
- }
@@ -1,11 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Format vocabulary meta-schema for annotation results",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "format": { "type": "string" }
10
- }
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/format-assertion",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Format vocabulary meta-schema for assertion results",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "format": { "type": "string" }
10
- }
11
- }
@@ -1,34 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/meta-data",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Meta-data vocabulary meta-schema",
7
-
8
- "type": ["object", "boolean"],
9
- "properties": {
10
- "title": {
11
- "type": "string"
12
- },
13
- "description": {
14
- "type": "string"
15
- },
16
- "default": true,
17
- "deprecated": {
18
- "type": "boolean",
19
- "default": false
20
- },
21
- "readOnly": {
22
- "type": "boolean",
23
- "default": false
24
- },
25
- "writeOnly": {
26
- "type": "boolean",
27
- "default": false
28
- },
29
- "examples": {
30
- "type": "array",
31
- "items": true
32
- }
33
- }
34
- }
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Unevaluated applicator vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "unevaluatedItems": { "$dynamicRef": "#meta" },
10
- "unevaluatedProperties": { "$dynamicRef": "#meta" }
11
- }
12
- }
@@ -1,87 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://json-schema.org/draft/2020-12/meta/validation",
4
- "$dynamicAnchor": "meta",
5
-
6
- "title": "Validation vocabulary meta-schema",
7
- "type": ["object", "boolean"],
8
- "properties": {
9
- "type": {
10
- "anyOf": [
11
- { "$ref": "#/$defs/simpleTypes" },
12
- {
13
- "type": "array",
14
- "items": { "$ref": "#/$defs/simpleTypes" },
15
- "minItems": 1,
16
- "uniqueItems": true
17
- }
18
- ]
19
- },
20
- "const": true,
21
- "enum": {
22
- "type": "array",
23
- "items": true
24
- },
25
- "multipleOf": {
26
- "type": "number",
27
- "exclusiveMinimum": 0
28
- },
29
- "maximum": {
30
- "type": "number"
31
- },
32
- "exclusiveMaximum": {
33
- "type": "number"
34
- },
35
- "minimum": {
36
- "type": "number"
37
- },
38
- "exclusiveMinimum": {
39
- "type": "number"
40
- },
41
- "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
42
- "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
43
- "pattern": {
44
- "type": "string",
45
- "format": "regex"
46
- },
47
- "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
48
- "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
49
- "uniqueItems": {
50
- "type": "boolean",
51
- "default": false
52
- },
53
- "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
54
- "minContains": {
55
- "$ref": "#/$defs/nonNegativeInteger",
56
- "default": 1
57
- },
58
- "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
59
- "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
60
- "required": { "$ref": "#/$defs/stringArray" },
61
- "dependentRequired": {
62
- "type": "object",
63
- "additionalProperties": {
64
- "$ref": "#/$defs/stringArray"
65
- }
66
- }
67
- },
68
- "$defs": {
69
- "nonNegativeInteger": {
70
- "type": "integer",
71
- "minimum": 0
72
- },
73
- "nonNegativeIntegerDefault0": {
74
- "$ref": "#/$defs/nonNegativeInteger",
75
- "default": 0
76
- },
77
- "simpleTypes": {
78
- "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
79
- },
80
- "stringArray": {
81
- "type": "array",
82
- "items": { "type": "string" },
83
- "uniqueItems": true,
84
- "default": []
85
- }
86
- }
87
- }
package/remotes/index.ts DELETED
@@ -1,48 +0,0 @@
1
- import draft04Meta from "./draft04.json";
2
- import draft06Meta from "./draft06.json";
3
- import draft07Meta from "./draft07.json";
4
- import draft2019Meta from "./draft2019-09.json";
5
- import draft2019MetaApplicator from "./draft2019-09_meta_applicator.json";
6
- import draft2019MetaContent from "./draft2019-09_meta_content.json";
7
- import draft2019MetaCore from "./draft2019-09_meta_core.json";
8
- import draft2019MetaFormat from "./draft2019-09_meta_format.json";
9
- import draft2019MetaMetaData from "./draft2019-09_meta_meta-data.json";
10
- import draft2019MetaValidation from "./draft2019-09_meta_validation.json";
11
- import draft2020Meta from "./draft2020-12.json";
12
- import draft2020MetaApplicator from "./draft2020-12_meta_applicator.json";
13
- import draft2020MetaContent from "./draft2020-12_meta_content.json";
14
- import draft2020MetaCore from "./draft2020-12_meta_core.json";
15
- import draft2020MetaFormatAnnotation from "./draft2020-12_meta_format_annotation.json";
16
- import draft2020MetaFormatAssertion from "./draft2020-12_meta_format_assertion.json";
17
- import draft2020MetaMetaData from "./draft2020-12_meta_meta_data.json";
18
- import draft2020MetaUnevaluated from "./draft2020-12_meta_unevaluated.json";
19
- import draft2020MetaValidation from "./draft2020-12_meta_validation.json";
20
-
21
- /** remote meta-schema stored by schema $id */
22
- const remotes: Record<string, any> = {};
23
-
24
- (
25
- [
26
- draft04Meta,
27
- draft06Meta,
28
- draft07Meta,
29
- draft2019Meta,
30
- draft2019MetaApplicator,
31
- draft2019MetaContent,
32
- draft2019MetaCore,
33
- draft2019MetaFormat,
34
- draft2019MetaMetaData,
35
- draft2019MetaValidation,
36
- draft2020Meta,
37
- draft2020MetaApplicator,
38
- draft2020MetaContent,
39
- draft2020MetaCore,
40
- draft2020MetaFormatAnnotation,
41
- draft2020MetaFormatAssertion,
42
- draft2020MetaMetaData,
43
- draft2020MetaUnevaluated,
44
- draft2020MetaValidation
45
- ] as { id?: string; $id?: string }[]
46
- ).forEach((schema, index) => (remotes[schema.$id ?? schema.id ?? index] = schema));
47
-
48
- export { remotes };