@json-schema-engine/core 0.0.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/coverage.d.ts +30 -0
  4. package/dist/coverage.d.ts.map +1 -0
  5. package/dist/coverage.js +81 -0
  6. package/dist/coverage.js.map +1 -0
  7. package/dist/cursor.d.ts +16 -0
  8. package/dist/cursor.d.ts.map +1 -0
  9. package/dist/cursor.js +28 -0
  10. package/dist/cursor.js.map +1 -0
  11. package/dist/dialect.d.ts +316 -0
  12. package/dist/dialect.d.ts.map +1 -0
  13. package/dist/dialect.js +135 -0
  14. package/dist/dialect.js.map +1 -0
  15. package/dist/engine.d.ts +203 -0
  16. package/dist/engine.d.ts.map +1 -0
  17. package/dist/engine.js +493 -0
  18. package/dist/engine.js.map +1 -0
  19. package/dist/index.d.ts +182 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +370 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/json.d.ts +49 -0
  24. package/dist/json.d.ts.map +1 -0
  25. package/dist/json.js +128 -0
  26. package/dist/json.js.map +1 -0
  27. package/dist/keywords/applicator.d.ts +57 -0
  28. package/dist/keywords/applicator.d.ts.map +1 -0
  29. package/dist/keywords/applicator.js +789 -0
  30. package/dist/keywords/applicator.js.map +1 -0
  31. package/dist/keywords/core.d.ts +42 -0
  32. package/dist/keywords/core.d.ts.map +1 -0
  33. package/dist/keywords/core.js +139 -0
  34. package/dist/keywords/core.js.map +1 -0
  35. package/dist/keywords/format.d.ts +43 -0
  36. package/dist/keywords/format.d.ts.map +1 -0
  37. package/dist/keywords/format.js +101 -0
  38. package/dist/keywords/format.js.map +1 -0
  39. package/dist/keywords/metaschemas2019.d.ts +3 -0
  40. package/dist/keywords/metaschemas2019.d.ts.map +1 -0
  41. package/dist/keywords/metaschemas2019.js +406 -0
  42. package/dist/keywords/metaschemas2019.js.map +1 -0
  43. package/dist/keywords/metaschemas2020.d.ts +3 -0
  44. package/dist/keywords/metaschemas2020.d.ts.map +1 -0
  45. package/dist/keywords/metaschemas2020.js +441 -0
  46. package/dist/keywords/metaschemas2020.js.map +1 -0
  47. package/dist/keywords/metaschemas6.d.ts +3 -0
  48. package/dist/keywords/metaschemas6.d.ts.map +1 -0
  49. package/dist/keywords/metaschemas6.js +221 -0
  50. package/dist/keywords/metaschemas6.js.map +1 -0
  51. package/dist/keywords/metaschemas7.d.ts +3 -0
  52. package/dist/keywords/metaschemas7.d.ts.map +1 -0
  53. package/dist/keywords/metaschemas7.js +248 -0
  54. package/dist/keywords/metaschemas7.js.map +1 -0
  55. package/dist/keywords/unevaluated.d.ts +14 -0
  56. package/dist/keywords/unevaluated.d.ts.map +1 -0
  57. package/dist/keywords/unevaluated.js +296 -0
  58. package/dist/keywords/unevaluated.js.map +1 -0
  59. package/dist/keywords/validation.d.ts +21 -0
  60. package/dist/keywords/validation.d.ts.map +1 -0
  61. package/dist/keywords/validation.js +332 -0
  62. package/dist/keywords/validation.js.map +1 -0
  63. package/dist/keywords/vocab2019.d.ts +36 -0
  64. package/dist/keywords/vocab2019.d.ts.map +1 -0
  65. package/dist/keywords/vocab2019.js +585 -0
  66. package/dist/keywords/vocab2019.js.map +1 -0
  67. package/dist/keywords/vocab2020.d.ts +20 -0
  68. package/dist/keywords/vocab2020.d.ts.map +1 -0
  69. package/dist/keywords/vocab2020.js +55 -0
  70. package/dist/keywords/vocab2020.js.map +1 -0
  71. package/dist/keywords/vocab7.d.ts +46 -0
  72. package/dist/keywords/vocab7.d.ts.map +1 -0
  73. package/dist/keywords/vocab7.js +305 -0
  74. package/dist/keywords/vocab7.js.map +1 -0
  75. package/dist/loader.d.ts +41 -0
  76. package/dist/loader.d.ts.map +1 -0
  77. package/dist/loader.js +13 -0
  78. package/dist/loader.js.map +1 -0
  79. package/dist/lowering.d.ts +371 -0
  80. package/dist/lowering.d.ts.map +1 -0
  81. package/dist/lowering.js +59 -0
  82. package/dist/lowering.js.map +1 -0
  83. package/dist/output.d.ts +251 -0
  84. package/dist/output.d.ts.map +1 -0
  85. package/dist/output.js +357 -0
  86. package/dist/output.js.map +1 -0
  87. package/dist/records.d.ts +71 -0
  88. package/dist/records.d.ts.map +1 -0
  89. package/dist/records.js +150 -0
  90. package/dist/records.js.map +1 -0
  91. package/dist/ref.d.ts +10 -0
  92. package/dist/ref.d.ts.map +1 -0
  93. package/dist/ref.js +5 -0
  94. package/dist/ref.js.map +1 -0
  95. package/dist/regex.d.ts +45 -0
  96. package/dist/regex.d.ts.map +1 -0
  97. package/dist/regex.js +163 -0
  98. package/dist/regex.js.map +1 -0
  99. package/dist/registry.d.ts +141 -0
  100. package/dist/registry.d.ts.map +1 -0
  101. package/dist/registry.js +407 -0
  102. package/dist/registry.js.map +1 -0
  103. package/dist/result.d.ts +109 -0
  104. package/dist/result.d.ts.map +1 -0
  105. package/dist/result.js +112 -0
  106. package/dist/result.js.map +1 -0
  107. package/dist/uri.d.ts +18 -0
  108. package/dist/uri.d.ts.map +1 -0
  109. package/dist/uri.js +27 -0
  110. package/dist/uri.js.map +1 -0
  111. package/dist/walk.d.ts +25 -0
  112. package/dist/walk.d.ts.map +1 -0
  113. package/dist/walk.js +65 -0
  114. package/dist/walk.js.map +1 -0
  115. package/package.json +32 -0
  116. package/src/coverage.ts +88 -0
  117. package/src/cursor.ts +42 -0
  118. package/src/dialect.ts +428 -0
  119. package/src/engine.ts +741 -0
  120. package/src/index.ts +699 -0
  121. package/src/json.ts +137 -0
  122. package/src/keywords/applicator.ts +895 -0
  123. package/src/keywords/core.ts +168 -0
  124. package/src/keywords/format.ts +143 -0
  125. package/src/keywords/metaschemas2019.ts +410 -0
  126. package/src/keywords/metaschemas2020.ts +443 -0
  127. package/src/keywords/metaschemas6.ts +226 -0
  128. package/src/keywords/metaschemas7.ts +253 -0
  129. package/src/keywords/unevaluated.ts +329 -0
  130. package/src/keywords/validation.ts +627 -0
  131. package/src/keywords/vocab2019.ts +676 -0
  132. package/src/keywords/vocab2020.ts +82 -0
  133. package/src/keywords/vocab7.ts +393 -0
  134. package/src/loader.ts +60 -0
  135. package/src/lowering.ts +414 -0
  136. package/src/output.ts +651 -0
  137. package/src/records.ts +226 -0
  138. package/src/ref.ts +14 -0
  139. package/src/regex.ts +171 -0
  140. package/src/registry.ts +481 -0
  141. package/src/result.ts +252 -0
  142. package/src/uri.ts +35 -0
  143. package/src/walk.ts +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab2019.js","sourceRoot":"","sources":["../../src/keywords/vocab2019.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { KeywordBehavior, DialectRegistry } from "../dialect.js";
2
+ /** 2020-12 meta-data vocabulary URI. */
3
+ export declare const VOCAB_META_DATA = "https://json-schema.org/draft/2020-12/vocab/meta-data";
4
+ /** 2020-12 format-annotation vocabulary URI. */
5
+ export declare const VOCAB_FORMAT_ANNOTATION = "https://json-schema.org/draft/2020-12/vocab/format-annotation";
6
+ /** 2020-12 content vocabulary URI. */
7
+ export declare const VOCAB_CONTENT = "https://json-schema.org/draft/2020-12/vocab/content";
8
+ /** 2020-12 dialect URI. */
9
+ export declare const DIALECT_2020_12 = "https://json-schema.org/draft/2020-12/schema";
10
+ /**
11
+ * Options for {@link registerStandardDialects} (M7): `format` replaces the
12
+ * default annotation-only `format` behavior in every standard dialect —
13
+ * the `assertFormats` best-effort configuration.
14
+ */
15
+ export interface StandardDialectOptions {
16
+ format?: (id: string) => KeywordBehavior;
17
+ }
18
+ /** Registers the 2020-12, 2019-09, draft-07, and draft-06 vocabularies and dialects. */
19
+ export declare function registerStandardDialects(registry: DialectRegistry, options?: StandardDialectOptions): void;
20
+ //# sourceMappingURL=vocab2020.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab2020.d.ts","sourceRoot":"","sources":["../../src/keywords/vocab2020.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQjE,wCAAwC;AACxC,eAAO,MAAM,eAAe,0DAC6B,CAAC;AAC1D,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,kEAC6B,CAAC;AAClE,sCAAsC;AACtC,eAAO,MAAM,aAAa,wDAC6B,CAAC;AAExD,2BAA2B;AAC3B,eAAO,MAAM,eAAe,iDAAiD,CAAC;AAc9E;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,CAAC;CAC1C;AAUD,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,sBAA2B,GACnC,IAAI,CAyBN"}
@@ -0,0 +1,55 @@
1
+ // Assembly of the 2020-12 dialect from its vocabularies (DESIGN.md D2).
2
+ import { coreVocabulary, VOCAB_CORE, annotationOnly } from "./core.js";
3
+ import { applicatorVocabulary, VOCAB_APPLICATOR } from "./applicator.js";
4
+ import { validationVocabulary, VOCAB_VALIDATION } from "./validation.js";
5
+ import { unevaluatedVocabulary, VOCAB_UNEVALUATED } from "./unevaluated.js";
6
+ import { registerDialect2019 } from "./vocab2019.js";
7
+ import { registerDialect07, registerDialect06 } from "./vocab7.js";
8
+ /** 2020-12 meta-data vocabulary URI. */
9
+ export const VOCAB_META_DATA = "https://json-schema.org/draft/2020-12/vocab/meta-data";
10
+ /** 2020-12 format-annotation vocabulary URI. */
11
+ export const VOCAB_FORMAT_ANNOTATION = "https://json-schema.org/draft/2020-12/vocab/format-annotation";
12
+ /** 2020-12 content vocabulary URI. */
13
+ export const VOCAB_CONTENT = "https://json-schema.org/draft/2020-12/vocab/content";
14
+ /** 2020-12 dialect URI. */
15
+ export const DIALECT_2020_12 = "https://json-schema.org/draft/2020-12/schema";
16
+ const metaDataVocabulary = Object.fromEntries([
17
+ "title",
18
+ "description",
19
+ "default",
20
+ "deprecated",
21
+ "readOnly",
22
+ "writeOnly",
23
+ "examples",
24
+ ].map((name) => [name, annotationOnly(`${VOCAB_META_DATA}#${name}`)]));
25
+ // content* keywords are never assertions.
26
+ const contentVocabulary = Object.fromEntries(["contentMediaType", "contentEncoding", "contentSchema"].map((name) => [
27
+ name,
28
+ annotationOnly(`${VOCAB_CONTENT}#${name}`),
29
+ ]));
30
+ /** Registers the 2020-12, 2019-09, draft-07, and draft-06 vocabularies and dialects. */
31
+ export function registerStandardDialects(registry, options = {}) {
32
+ const format = options.format ?? annotationOnly;
33
+ registry.registerVocabulary(VOCAB_CORE, coreVocabulary);
34
+ registry.registerVocabulary(VOCAB_APPLICATOR, applicatorVocabulary);
35
+ registry.registerVocabulary(VOCAB_VALIDATION, validationVocabulary);
36
+ registry.registerVocabulary(VOCAB_UNEVALUATED, unevaluatedVocabulary);
37
+ registry.registerVocabulary(VOCAB_META_DATA, metaDataVocabulary);
38
+ registry.registerVocabulary(VOCAB_FORMAT_ANNOTATION, {
39
+ format: format(`${VOCAB_FORMAT_ANNOTATION}#format`),
40
+ });
41
+ registry.registerVocabulary(VOCAB_CONTENT, contentVocabulary);
42
+ registry.registerDialect(DIALECT_2020_12, [
43
+ VOCAB_CORE,
44
+ VOCAB_APPLICATOR,
45
+ VOCAB_VALIDATION,
46
+ VOCAB_UNEVALUATED,
47
+ VOCAB_META_DATA,
48
+ VOCAB_FORMAT_ANNOTATION,
49
+ VOCAB_CONTENT,
50
+ ]);
51
+ registerDialect2019(registry, format);
52
+ registerDialect07(registry, format);
53
+ registerDialect06(registry, format);
54
+ }
55
+ //# sourceMappingURL=vocab2020.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab2020.js","sourceRoot":"","sources":["../../src/keywords/vocab2020.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAGxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnE,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAC1B,uDAAuD,CAAC;AAC1D,gDAAgD;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAClC,+DAA+D,CAAC;AAClE,sCAAsC;AACtC,MAAM,CAAC,MAAM,aAAa,GACxB,qDAAqD,CAAC;AAExD,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,8CAA8C,CAAC;AAE9E,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAC3C;IACE,OAAO;IACP,aAAa;IACb,SAAS;IACT,YAAY;IACZ,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,eAAe,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC;AAWF,0CAA0C;AAC1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAC1C,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACrE,IAAI;IACJ,cAAc,CAAC,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;CAC3C,CAAC,CACH,CAAC;AAEF,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CACtC,QAAyB,EACzB,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC;IAChD,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IACpE,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IACpE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IACtE,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACjE,QAAQ,CAAC,kBAAkB,CAAC,uBAAuB,EAAE;QACnD,MAAM,EAAE,MAAM,CAAC,GAAG,uBAAuB,SAAS,CAAC;KACpD,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE9D,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE;QACxC,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,uBAAuB;QACvB,aAAa;KACd,CAAC,CAAC;IAEH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { DialectRegistry, KeywordBehavior } from "../dialect.js";
2
+ /** draft-07 core vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
3
+ export declare const VOCAB_CORE_07 = "urn:jse:vocab:draft-07:core";
4
+ /** draft-07 applicator vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
5
+ export declare const VOCAB_APPLICATOR_07 = "urn:jse:vocab:draft-07:applicator";
6
+ /** draft-07 validation vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
7
+ export declare const VOCAB_VALIDATION_07 = "urn:jse:vocab:draft-07:validation";
8
+ /** draft-07 meta-data vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
9
+ export declare const VOCAB_META_DATA_07 = "urn:jse:vocab:draft-07:meta-data";
10
+ /** draft-07 format vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
11
+ export declare const VOCAB_FORMAT_07 = "urn:jse:vocab:draft-07:format";
12
+ /** draft-07 content vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
13
+ export declare const VOCAB_CONTENT_07 = "urn:jse:vocab:draft-07:content";
14
+ /** draft-06 core vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
15
+ export declare const VOCAB_CORE_06 = "urn:jse:vocab:draft-06:core";
16
+ /** draft-06 applicator vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
17
+ export declare const VOCAB_APPLICATOR_06 = "urn:jse:vocab:draft-06:applicator";
18
+ /** draft-06 validation vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
19
+ export declare const VOCAB_VALIDATION_06 = "urn:jse:vocab:draft-06:validation";
20
+ /** draft-06 meta-data vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
21
+ export declare const VOCAB_META_DATA_06 = "urn:jse:vocab:draft-06:meta-data";
22
+ /** draft-06 format vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
23
+ export declare const VOCAB_FORMAT_06 = "urn:jse:vocab:draft-06:format";
24
+ /** draft-07 dialect URI. */
25
+ export declare const DIALECT_DRAFT_07 = "http://json-schema.org/draft-07/schema";
26
+ /** draft-06 dialect URI. */
27
+ export declare const DIALECT_DRAFT_06 = "http://json-schema.org/draft-06/schema";
28
+ /**
29
+ * `contains` (draft-07/06): unlike 2020-12's `contains`, these drafts have
30
+ * no `minContains`/`maxContains` keywords at all — any occurrence of those
31
+ * names is just an unknown (annotation-only) keyword, never a sibling
32
+ * `contains` reads. So the count assertion is unconditionally "at least 1",
33
+ * with no min/max reads.
34
+ */
35
+ export declare const containsLegacy: KeywordBehavior;
36
+ /**
37
+ * `dependencies` (draft-07/06): a single keyword folding what 2019-09+ split
38
+ * into `dependentRequired` (array-valued members) and `dependentSchemas`
39
+ * (schema-valued members).
40
+ */
41
+ export declare const dependencies: KeywordBehavior;
42
+ /** Registers the draft-07 vocabularies and dialect. */
43
+ export declare function registerDialect07(registry: DialectRegistry, format?: (id: string) => KeywordBehavior): void;
44
+ /** Registers the draft-06 vocabularies and dialect. */
45
+ export declare function registerDialect06(registry: DialectRegistry, format?: (id: string) => KeywordBehavior): void;
46
+ //# sourceMappingURL=vocab7.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab7.d.ts","sourceRoot":"","sources":["../../src/keywords/vocab7.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EACf,eAAe,EAIhB,MAAM,eAAe,CAAC;AAyBvB,gGAAgG;AAChG,eAAO,MAAM,aAAa,gCAAgC,CAAC;AAC3D,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AACvE,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AACvE,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AACrE,kGAAkG;AAClG,eAAO,MAAM,eAAe,kCAAkC,CAAC;AAC/D,mGAAmG;AACnG,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AAEjE,gGAAgG;AAChG,eAAO,MAAM,aAAa,gCAAgC,CAAC;AAC3D,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AACvE,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AACvE,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AACrE,kGAAkG;AAClG,eAAO,MAAM,eAAe,kCAAkC,CAAC;AAE/D,4BAA4B;AAC5B,eAAO,MAAM,gBAAgB,2CAA2C,CAAC;AACzE,4BAA4B;AAC5B,eAAO,MAAM,gBAAgB,2CAA2C,CAAC;AAIzE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,eAsD5B,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,eAkG1B,CAAC;AAiGF,uDAAuD;AACvD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAgC,GACvD,IAAI,CAsBN;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAgC,GACvD,IAAI,CAoBN"}
@@ -0,0 +1,305 @@
1
+ // draft-07 and draft-06 dialects (DESIGN.md M4-B, D11, D18). These drafts
2
+ // predate `$vocabulary`, so there are no official vocabulary URIs to assemble
3
+ // from (contrast vocab2019.ts) — the URIs minted below are registry
4
+ // identities only (D2/D18), never exposed as spec-meaningful vocabulary
5
+ // documents. draft-06 is a strict keyword subset of draft-07 (D11 amendment),
6
+ // so its vocabulary objects are built by omission from the draft-07 ones.
7
+ import { isObject } from "../json.js";
8
+ import { identifiersLegacy, } from "../dialect.js";
9
+ import { childCursor } from "../cursor.js";
10
+ import { lowerIR } from "../lowering.js";
11
+ import { $ref, structural, annotationOnly, mapPositions, SELF, } from "./core.js";
12
+ import { allOf, anyOf, oneOf, not, ifKeyword, conditionalBranch, properties, patternProperties, propertyNames, additionalProperties, } from "./applicator.js";
13
+ import { items2019, additionalItems } from "./vocab2019.js";
14
+ import { validationVocabulary } from "./validation.js";
15
+ /** draft-07 core vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
16
+ export const VOCAB_CORE_07 = "urn:jse:vocab:draft-07:core";
17
+ /** draft-07 applicator vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
18
+ export const VOCAB_APPLICATOR_07 = "urn:jse:vocab:draft-07:applicator";
19
+ /** draft-07 validation vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
20
+ export const VOCAB_VALIDATION_07 = "urn:jse:vocab:draft-07:validation";
21
+ /** draft-07 meta-data vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
22
+ export const VOCAB_META_DATA_07 = "urn:jse:vocab:draft-07:meta-data";
23
+ /** draft-07 format vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
24
+ export const VOCAB_FORMAT_07 = "urn:jse:vocab:draft-07:format";
25
+ /** draft-07 content vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
26
+ export const VOCAB_CONTENT_07 = "urn:jse:vocab:draft-07:content";
27
+ /** draft-06 core vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
28
+ export const VOCAB_CORE_06 = "urn:jse:vocab:draft-06:core";
29
+ /** draft-06 applicator vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
30
+ export const VOCAB_APPLICATOR_06 = "urn:jse:vocab:draft-06:applicator";
31
+ /** draft-06 validation vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
32
+ export const VOCAB_VALIDATION_06 = "urn:jse:vocab:draft-06:validation";
33
+ /** draft-06 meta-data vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
34
+ export const VOCAB_META_DATA_06 = "urn:jse:vocab:draft-06:meta-data";
35
+ /** draft-06 format vocabulary identity (registry-internal; not a spec-meaningful URI, D2/D18). */
36
+ export const VOCAB_FORMAT_06 = "urn:jse:vocab:draft-06:format";
37
+ /** draft-07 dialect URI. */
38
+ export const DIALECT_DRAFT_07 = "http://json-schema.org/draft-07/schema";
39
+ /** draft-06 dialect URI. */
40
+ export const DIALECT_DRAFT_06 = "http://json-schema.org/draft-06/schema";
41
+ const id07 = (name) => `${VOCAB_APPLICATOR_07}#${name}`;
42
+ /**
43
+ * `contains` (draft-07/06): unlike 2020-12's `contains`, these drafts have
44
+ * no `minContains`/`maxContains` keywords at all — any occurrence of those
45
+ * names is just an unknown (annotation-only) keyword, never a sibling
46
+ * `contains` reads. So the count assertion is unconditionally "at least 1",
47
+ * with no min/max reads.
48
+ */
49
+ export const containsLegacy = {
50
+ id: id07("contains"),
51
+ // Per-item probes don't individually assert (the count does) — same
52
+ // asserts:false shape as 2020-12 contains' childSweep application.
53
+ analyze: () => ({
54
+ ...SELF,
55
+ applications: [
56
+ { path: [], mode: "childSweep", conditional: false, asserts: false },
57
+ ],
58
+ }),
59
+ // Unconditional "at least 1" — countRange with no upper bound, matching
60
+ // evaluate()'s fixed message exactly (no minContains/maxContains reads
61
+ // exist in these drafts, so unlike 2020-12 `contains` there is no tally
62
+ // or params in the failure text).
63
+ lower: (_value, lctx) => {
64
+ const b = lctx.binding();
65
+ lctx.emit(lowerIR.when(lowerIR.typeIs(lctx.instance, "array"), [
66
+ {
67
+ kind: "countRange",
68
+ target: lctx.instance,
69
+ binding: b,
70
+ countWhen: {
71
+ kind: "applyExpr",
72
+ apply: {
73
+ path: [],
74
+ cursor: {
75
+ kind: "child",
76
+ of: { kind: "here" },
77
+ segment: { kind: "binding", id: b },
78
+ },
79
+ fold: "discard",
80
+ },
81
+ },
82
+ min: 1,
83
+ max: Infinity,
84
+ outOfRangeMessage: ["no item matches the contains subschema"],
85
+ },
86
+ ]));
87
+ },
88
+ evaluate: (_value, cursor, ctx) => {
89
+ if (!Array.isArray(cursor.value))
90
+ return true;
91
+ const matched = [];
92
+ for (let i = 0; i < cursor.value.length; i++) {
93
+ if (ctx.apply(["contains"], childCursor(cursor, i, cursor.value[i])))
94
+ matched.push(i);
95
+ }
96
+ if (matched.length === 0) {
97
+ ctx.error("no item matches the contains subschema");
98
+ return false;
99
+ }
100
+ return true;
101
+ },
102
+ };
103
+ // Member values are exactly one of two shapes per the metaschema's `anyOf`
104
+ // (schema vs stringArray) — a member is never both, so reading the JS type
105
+ // of the value at evaluate/analyze time is sufficient to dispatch, no
106
+ // declared-shape tracking needed.
107
+ const isSchemaValue = (v) => v === true || v === false || (isObject(v) && !Array.isArray(v));
108
+ /**
109
+ * `dependencies` (draft-07/06): a single keyword folding what 2019-09+ split
110
+ * into `dependentRequired` (array-valued members) and `dependentSchemas`
111
+ * (schema-valued members).
112
+ */
113
+ export const dependencies = {
114
+ id: id07("dependencies"),
115
+ analyze: (value) => {
116
+ if (!isObject(value))
117
+ return {};
118
+ const schemaMembers = Object.entries(value).filter(([, v]) => isSchemaValue(v));
119
+ return {
120
+ subschemas: schemaMembers.map(([k]) => [k]),
121
+ // Only schema-valued members get an edge — array-valued members
122
+ // (dependentRequired's shape) have no subschema to plan/apply at all.
123
+ applications: schemaMembers.map(([k]) => ({
124
+ path: [k],
125
+ mode: "inPlace",
126
+ conditional: true,
127
+ asserts: true,
128
+ })),
129
+ };
130
+ },
131
+ // Per-member dispatch is plan-time (the value shape is static, just like
132
+ // evaluate()'s Array.isArray/isSchemaValue reads): array-valued members
133
+ // lower like dependentRequired (validation.ts), schema-valued members
134
+ // like dependentSchemas (applicator.ts, path ["dependencies", name]).
135
+ lower: (value, lctx) => {
136
+ if (!isObject(value))
137
+ return;
138
+ const branches = Object.entries(value).flatMap(([name, dep]) => {
139
+ if (Array.isArray(dep)) {
140
+ return [
141
+ lowerIR.when({ kind: "hasOwn", target: lctx.instance, key: name }, dep.map((required) => lowerIR.when(lowerIR.not({
142
+ kind: "hasOwn",
143
+ target: lctx.instance,
144
+ key: required,
145
+ }), [
146
+ lowerIR.failWith({
147
+ property: lowerIR.constant(name),
148
+ missingProperty: lowerIR.constant(required),
149
+ }, `'${name}' requires '${required}' to be present`),
150
+ ]))),
151
+ ];
152
+ }
153
+ if (isSchemaValue(dep)) {
154
+ return [
155
+ lowerIR.when({ kind: "hasOwn", target: lctx.instance, key: name }, [
156
+ {
157
+ kind: "apply",
158
+ apply: {
159
+ path: [name],
160
+ cursor: { kind: "here" },
161
+ fold: "allMustPass",
162
+ },
163
+ },
164
+ ]),
165
+ ];
166
+ }
167
+ // Unreachable per the metaschema's anyOf (schema vs stringArray),
168
+ // mirrored defensively as evaluate()'s implicit no-op else branch.
169
+ return [];
170
+ });
171
+ if (branches.length === 0)
172
+ return;
173
+ lctx.emit(lowerIR.when(lowerIR.typeIs(lctx.instance, "object"), branches));
174
+ },
175
+ evaluate: (value, cursor, ctx) => {
176
+ if (!isObject(cursor.value))
177
+ return true;
178
+ const instance = cursor.value;
179
+ let ok = true;
180
+ for (const [name, dep] of Object.entries(value)) {
181
+ if (!Object.hasOwn(instance, name))
182
+ continue;
183
+ if (Array.isArray(dep)) {
184
+ for (const required of dep) {
185
+ if (!Object.hasOwn(instance, required)) {
186
+ ctx.error(`'${name}' requires '${required}' to be present`, {
187
+ property: name,
188
+ missingProperty: required,
189
+ });
190
+ ok = false;
191
+ }
192
+ }
193
+ }
194
+ else if (isSchemaValue(dep)) {
195
+ if (!ctx.apply(["dependencies", name], cursor))
196
+ ok = false;
197
+ }
198
+ }
199
+ return ok;
200
+ },
201
+ };
202
+ const core07Vocabulary = {
203
+ $ref,
204
+ $id: structural(`${VOCAB_CORE_07}#$id`),
205
+ $schema: structural(`${VOCAB_CORE_07}#$schema`),
206
+ $comment: structural(`${VOCAB_CORE_07}#$comment`),
207
+ // definitions is draft-07/06's pre-$defs name for the same inert-container
208
+ // shape: subschemas exist for identification/registration but nothing
209
+ // evaluates them directly.
210
+ definitions: {
211
+ id: `${VOCAB_CORE_07}#definitions`,
212
+ structural: true,
213
+ analyze: mapPositions,
214
+ evaluate: () => true,
215
+ lower: () => {
216
+ /* contents are reachable only by reference */
217
+ },
218
+ },
219
+ };
220
+ const applicator07Vocabulary = {
221
+ allOf,
222
+ anyOf,
223
+ oneOf,
224
+ not,
225
+ if: ifKeyword,
226
+ then: conditionalBranch(id07("then"), "then", true),
227
+ else: conditionalBranch(id07("else"), "else", false),
228
+ dependencies,
229
+ properties,
230
+ patternProperties,
231
+ propertyNames,
232
+ additionalProperties,
233
+ items: items2019,
234
+ additionalItems,
235
+ contains: containsLegacy,
236
+ };
237
+ const metaData07Vocabulary = Object.fromEntries(["title", "description", "default", "readOnly", "writeOnly", "examples"].map((name) => [name, annotationOnly(`${VOCAB_META_DATA_07}#${name}`)]));
238
+ const content07Vocabulary = Object.fromEntries(["contentMediaType", "contentEncoding"].map((name) => [
239
+ name,
240
+ annotationOnly(`${VOCAB_CONTENT_07}#${name}`),
241
+ ]));
242
+ // draft-06: draft-07 minus if/then/else, $comment, readOnly/writeOnly,
243
+ // contentMediaType/contentEncoding (D11 amendment — a compatible subset).
244
+ const { $comment: _dropComment, ...core06Rest } = core07Vocabulary;
245
+ const core06Vocabulary = {
246
+ ...core06Rest,
247
+ $id: structural(`${VOCAB_CORE_06}#$id`),
248
+ $schema: structural(`${VOCAB_CORE_06}#$schema`),
249
+ definitions: {
250
+ id: `${VOCAB_CORE_06}#definitions`,
251
+ structural: true,
252
+ analyze: mapPositions,
253
+ evaluate: () => true,
254
+ lower: () => {
255
+ /* contents are reachable only by reference */
256
+ },
257
+ },
258
+ };
259
+ const { if: _dropIf, then: _dropThen, else: _dropElse, ...applicator06Rest } = applicator07Vocabulary;
260
+ const applicator06Vocabulary = {
261
+ ...applicator06Rest,
262
+ };
263
+ const { readOnly: _dropReadOnly, writeOnly: _dropWriteOnly, ...metaData06Rest } = metaData07Vocabulary;
264
+ const metaData06Vocabulary = metaData06Rest;
265
+ // draft-07/06 predate minContains/maxContains/dependentRequired: those names
266
+ // are unknown keywords (annotation-only) in these dialects — registering the
267
+ // 2020-12 behaviors would silently enforce assertions these drafts don't have.
268
+ const { minContains: _dropMinContains, maxContains: _dropMaxContains, dependentRequired: _dropDependentRequired, ...validationLegacyVocabulary } = validationVocabulary;
269
+ /** Registers the draft-07 vocabularies and dialect. */
270
+ export function registerDialect07(registry, format = annotationOnly) {
271
+ registry.registerVocabulary(VOCAB_CORE_07, core07Vocabulary);
272
+ registry.registerVocabulary(VOCAB_APPLICATOR_07, applicator07Vocabulary);
273
+ registry.registerVocabulary(VOCAB_VALIDATION_07, validationLegacyVocabulary);
274
+ registry.registerVocabulary(VOCAB_META_DATA_07, metaData07Vocabulary);
275
+ registry.registerVocabulary(VOCAB_FORMAT_07, {
276
+ format: format(`${VOCAB_FORMAT_07}#format`),
277
+ });
278
+ registry.registerVocabulary(VOCAB_CONTENT_07, content07Vocabulary);
279
+ registry.registerDialect(DIALECT_DRAFT_07, [
280
+ VOCAB_CORE_07,
281
+ VOCAB_APPLICATOR_07,
282
+ VOCAB_VALIDATION_07,
283
+ VOCAB_META_DATA_07,
284
+ VOCAB_FORMAT_07,
285
+ VOCAB_CONTENT_07,
286
+ ], { identifiers: identifiersLegacy, refIgnoresSiblings: true });
287
+ }
288
+ /** Registers the draft-06 vocabularies and dialect. */
289
+ export function registerDialect06(registry, format = annotationOnly) {
290
+ registry.registerVocabulary(VOCAB_CORE_06, core06Vocabulary);
291
+ registry.registerVocabulary(VOCAB_APPLICATOR_06, applicator06Vocabulary);
292
+ registry.registerVocabulary(VOCAB_VALIDATION_06, validationLegacyVocabulary);
293
+ registry.registerVocabulary(VOCAB_META_DATA_06, metaData06Vocabulary);
294
+ registry.registerVocabulary(VOCAB_FORMAT_06, {
295
+ format: format(`${VOCAB_FORMAT_06}#format`),
296
+ });
297
+ registry.registerDialect(DIALECT_DRAFT_06, [
298
+ VOCAB_CORE_06,
299
+ VOCAB_APPLICATOR_06,
300
+ VOCAB_VALIDATION_06,
301
+ VOCAB_META_DATA_06,
302
+ VOCAB_FORMAT_06,
303
+ ], { identifiers: identifiersLegacy, refIgnoresSiblings: true });
304
+ }
305
+ //# sourceMappingURL=vocab7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab7.js","sourceRoot":"","sources":["../../src/keywords/vocab7.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,oEAAoE;AACpE,wEAAwE;AACxE,8EAA8E;AAC9E,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AACjD,OAAO,EAKL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAa,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,IAAI,EACJ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,IAAI,GACL,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,gGAAgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAC3D,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AACrE,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAC/D,mGAAmG;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAEjE,gGAAgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAC3D,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AACrE,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAE/D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AACzE,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAEzE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,mBAAmB,IAAI,IAAI,EAAE,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC;IACpB,oEAAoE;IACpE,mEAAmE;IACnE,OAAO,EAAE,GAAgB,EAAE,CAAC,CAAC;QAC3B,GAAG,IAAI;QACP,YAAY,EAAE;YACZ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SACrE;KACF,CAAC;IACF,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,kCAAkC;IAClC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACnD;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE;4BACN,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;4BACpB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE;yBACpC;wBACD,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,QAAQ;gBACb,iBAAiB,EAAE,CAAC,wCAAwC,CAAC;aAC9D;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,2EAA2E;AAC3E,2EAA2E;AAC3E,sEAAsE;AACtE,kCAAkC;AAClC,MAAM,aAAa,GAAG,CAAC,CAAY,EAAW,EAAE,CAC9C,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAe,EAAE;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3D,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;QACF,OAAO;YACL,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,gEAAgE;YAChE,sEAAsE;YACtE,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC;gBAC9D,IAAI,EAAE,CAAC,CAAC,CAAC;gBACT,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAkC,CAAC,CAAC,OAAO,CACzE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAe,EAAE;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EACnD,GAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,OAAO,CAAC,IAAI,CACV,OAAO,CAAC,GAAG,CAAC;wBACV,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI,CAAC,QAAQ;wBACrB,GAAG,EAAE,QAAQ;qBACd,CAAC,EACF;wBACE,OAAO,CAAC,QAAQ,CACd;4BACE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAChC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;yBAC5C,EACD,IAAI,IAAI,eAAe,QAAQ,iBAAiB,CACjD;qBACF,CACF,CACF,CACF;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;wBACjE;4BACE,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC,IAAI,CAAC;gCACZ,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gCACxB,IAAI,EAAE,aAAa;6BACpB;yBACF;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;YACD,kEAAkE;YAClE,mEAAmE;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CACtC,KAAkC,CACnC,EAAE,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAAE,SAAS;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,QAAQ,IAAI,GAAe,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACvC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe,QAAQ,iBAAiB,EAAE;4BAC1D,QAAQ,EAAE,IAAI;4BACd,eAAe,EAAE,QAAQ;yBAC1B,CAAC,CAAC;wBACH,EAAE,GAAG,KAAK,CAAC;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;oBAAE,EAAE,GAAG,KAAK,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAoC;IACxD,IAAI;IACJ,GAAG,EAAE,UAAU,CAAC,GAAG,aAAa,MAAM,CAAC;IACvC,OAAO,EAAE,UAAU,CAAC,GAAG,aAAa,UAAU,CAAC;IAC/C,QAAQ,EAAE,UAAU,CAAC,GAAG,aAAa,WAAW,CAAC;IACjD,2EAA2E;IAC3E,sEAAsE;IACtE,2BAA2B;IAC3B,WAAW,EAAE;QACX,EAAE,EAAE,GAAG,aAAa,cAAc;QAClC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,KAAK,EAAE,GAAG,EAAE;YACV,8CAA8C;QAChD,CAAC;KACF;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAoC;IAC9D,KAAK;IACL,KAAK;IACL,KAAK;IACL,GAAG;IACH,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;IACnD,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IACpD,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,aAAa;IACb,oBAAoB;IACpB,KAAK,EAAE,SAAS;IAChB,eAAe;IACf,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC7C,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAC1E,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,kBAAkB,IAAI,IAAI,EAAE,CAAC,CAAC,CAClE,CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACpD,IAAI;IACJ,cAAc,CAAC,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;CAC9C,CAAC,CACH,CAAC;AAEF,uEAAuE;AACvE,0EAA0E;AAC1E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,gBAAgB,CAAC;AACnE,MAAM,gBAAgB,GAAoC;IACxD,GAAG,UAAU;IACb,GAAG,EAAE,UAAU,CAAC,GAAG,aAAa,MAAM,CAAC;IACvC,OAAO,EAAE,UAAU,CAAC,GAAG,aAAa,UAAU,CAAC;IAC/C,WAAW,EAAE;QACX,EAAE,EAAE,GAAG,aAAa,cAAc;QAClC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,KAAK,EAAE,GAAG,EAAE;YACV,8CAA8C;QAChD,CAAC;KACF;CACF,CAAC;AAEF,MAAM,EACJ,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,EACf,GAAG,gBAAgB,EACpB,GAAG,sBAAsB,CAAC;AAC3B,MAAM,sBAAsB,GAAoC;IAC9D,GAAG,gBAAgB;CACpB,CAAC;AAEF,MAAM,EACJ,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,GAAG,cAAc,EAClB,GAAG,oBAAoB,CAAC;AACzB,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,EACJ,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,gBAAgB,EAC7B,iBAAiB,EAAE,sBAAsB,EACzC,GAAG,0BAA0B,EAC9B,GAAG,oBAAoB,CAAC;AAEzB,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAC/B,QAAyB,EACzB,SAA0C,cAAc;IAExD,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACzE,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC;IAC7E,QAAQ,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACtE,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAAE;QAC3C,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,SAAS,CAAC;KAC5C,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IAEnE,QAAQ,CAAC,eAAe,CACtB,gBAAgB,EAChB;QACE,aAAa;QACb,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,gBAAgB;KACjB,EACD,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7D,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAC/B,QAAyB,EACzB,SAA0C,cAAc;IAExD,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACzE,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC;IAC7E,QAAQ,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACtE,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAAE;QAC3C,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,SAAS,CAAC;KAC5C,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,CACtB,gBAAgB,EAChB;QACE,aAAa;QACb,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;KAChB,EACD,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { JsonValue } from "./json.js";
2
+ /** 1-based line/column; offset is 0-based when present. */
3
+ export interface SourcePosition {
4
+ line: number;
5
+ column: number;
6
+ offset?: number;
7
+ }
8
+ /** A range between two source positions. */
9
+ export interface SourceSpan {
10
+ start: SourcePosition;
11
+ end: SourcePosition;
12
+ }
13
+ /**
14
+ * Key vs value spans (D17): diagnostics point at the key for missing/extra-
15
+ * property errors and at the value for type errors; SARIF/LSP-class
16
+ * consumers need both.
17
+ */
18
+ export interface SourceRange {
19
+ /** span of the member key, when the value is an object member */
20
+ key?: SourceSpan;
21
+ value: SourceSpan;
22
+ }
23
+ /** A document handed to the registry by a {@link SchemaLoader}. */
24
+ export interface LoadedDocument {
25
+ value: JsonValue;
26
+ /**
27
+ * Source range for a document-rooted JSON Pointer (D17). A function rather
28
+ * than a materialized map so loaders can keep a parse AST and resolve
29
+ * lazily; returning undefined for any pointer is always allowed.
30
+ */
31
+ getRange?: (documentRootPointer: string) => SourceRange | undefined;
32
+ }
33
+ /** Fetches a schema document by URI. Returns undefined when this loader does not handle the URI. */
34
+ export type SchemaLoader = (uri: string) => LoadedDocument | undefined | Promise<LoadedDocument | undefined>;
35
+ /** Where a canonical schema location physically lives (D17 bridge). */
36
+ export interface SourceLocation {
37
+ documentUri: string;
38
+ pointer: string;
39
+ range?: SourceRange;
40
+ }
41
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CACrE;AAED,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,MAAM,KACR,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;AAEtE,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB"}
package/dist/loader.js ADDED
@@ -0,0 +1,13 @@
1
+ // Resource loading types (DESIGN.md D7/D17). Loading is the only async
2
+ // boundary: loaders feed Engine.load/loadSchema, which register documents
3
+ // and their transitive references; compile and evaluate stay sync.
4
+ //
5
+ // D17 bridge: canonical schema locations are resource-rooted
6
+ // (`resourceUri#/pointer`), but loaders report source positions
7
+ // document-rooted, since a document can embed multiple resources via nested
8
+ // `$id`. The registry's documentLocation(resourceUri) gives the containing
9
+ // document plus the resource root's document-rooted pointer; a canonical
10
+ // location's document-rooted pointer is then
11
+ // `documentLocation(resourceUri).pointer + pointer`.
12
+ export {};
13
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,mEAAmE;AACnE,EAAE;AACF,6DAA6D;AAC7D,gEAAgE;AAChE,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,6CAA6C;AAC7C,qDAAqD"}