json-schema-library 11.1.0 → 11.3.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 (82) hide show
  1. package/.mocharc.js +1 -0
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +21 -13
  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-jlib.ts +150 -0
  10. package/bowtie/bowtie.test.ts +267 -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 +66 -503
  15. package/dist/index.d.mts +66 -503
  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 +0 -3
  25. package/package.json +14 -8
  26. package/src/Draft.ts +1 -1
  27. package/src/Keyword.ts +2 -3
  28. package/src/SchemaNode.ts +9 -0
  29. package/src/compileSchema.test.ts +52 -0
  30. package/src/compileSchema.ts +53 -3
  31. package/src/draft04/keywords/$ref.ts +22 -14
  32. package/src/draft04/keywords/exclusiveMaximum.ts +14 -0
  33. package/src/draft04/keywords/exclusiveMinimum.ts +14 -0
  34. package/src/draft04/validateSchema.test.ts +20 -0
  35. package/src/draft04.ts +2 -2
  36. package/src/draft06/keywords/$ref.ts +15 -5
  37. package/src/draft06.ts +2 -2
  38. package/src/draft07.ts +2 -2
  39. package/src/draft2019-09/keywords/$ref.test.ts +3 -1
  40. package/src/draft2019-09/keywords/$ref.ts +44 -30
  41. package/src/draft2019-09/keywords/additionalItems.ts +33 -10
  42. package/src/draft2019-09/keywords/items.ts +32 -10
  43. package/src/draft2019-09/keywords/unevaluatedItems.ts +19 -6
  44. package/src/draft2019-09/methods/getData.ts +1 -1
  45. package/src/draft2019-09/validateSchema.test.ts +28 -0
  46. package/src/draft2019.ts +1 -1
  47. package/src/draft2020.ts +1 -1
  48. package/src/errors/errors.ts +4 -0
  49. package/src/formats/formats.ts +35 -28
  50. package/src/formats/hyperjump.d.ts +172 -0
  51. package/src/keywords/$ref.ts +50 -17
  52. package/src/keywords/oneOf.test.ts +3 -3
  53. package/src/keywords/properties.ts +1 -1
  54. package/src/keywords/propertyDependencies.ts +1 -1
  55. package/src/methods/getData.ts +1 -1
  56. package/src/settings.ts +27 -1
  57. package/src/validateNode.ts +4 -1
  58. package/tsconfig.json +11 -4
  59. package/tsconfig.test.json +9 -2
  60. package/tsdown.config.ts +1 -1
  61. package/Dockerfile +0 -6
  62. package/bowtie_jlib.js +0 -140
  63. package/remotes/draft04.json +0 -150
  64. package/remotes/draft06.json +0 -155
  65. package/remotes/draft07.json +0 -155
  66. package/remotes/draft2019-09.json +0 -42
  67. package/remotes/draft2019-09_meta_applicator.json +0 -53
  68. package/remotes/draft2019-09_meta_content.json +0 -14
  69. package/remotes/draft2019-09_meta_core.json +0 -54
  70. package/remotes/draft2019-09_meta_format.json +0 -11
  71. package/remotes/draft2019-09_meta_meta-data.json +0 -34
  72. package/remotes/draft2019-09_meta_validation.json +0 -95
  73. package/remotes/draft2020-12.json +0 -55
  74. package/remotes/draft2020-12_meta_applicator.json +0 -45
  75. package/remotes/draft2020-12_meta_content.json +0 -14
  76. package/remotes/draft2020-12_meta_core.json +0 -48
  77. package/remotes/draft2020-12_meta_format_annotation.json +0 -11
  78. package/remotes/draft2020-12_meta_format_assertion.json +0 -11
  79. package/remotes/draft2020-12_meta_meta_data.json +0 -34
  80. package/remotes/draft2020-12_meta_unevaluated.json +0 -12
  81. package/remotes/draft2020-12_meta_validation.json +0 -87
  82. package/remotes/index.ts +0 -48
@@ -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 };