@texaryn/schema-json 0.6.2 → 0.7.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.
@@ -0,0 +1,118 @@
1
+ const SINGLE = new Set([
2
+ 'additionalItems',
3
+ 'additionalProperties',
4
+ 'contains',
5
+ 'contentSchema',
6
+ 'else',
7
+ 'if',
8
+ 'items',
9
+ 'not',
10
+ 'propertyNames',
11
+ 'then',
12
+ 'unevaluatedItems',
13
+ 'unevaluatedProperties',
14
+ ]);
15
+ const LIST = new Set(['allOf', 'anyOf', 'items', 'oneOf', 'prefixItems']);
16
+ const MAP = new Set(['$defs', 'definitions', 'dependencies', 'dependentSchemas', 'patternProperties', 'properties']);
17
+ const REFERENCES = new Set(['$ref', '$dynamicRef', '$recursiveRef']);
18
+ const IDENTIFIERS = new Set(['$id', '$anchor', '$dynamicAnchor']);
19
+ const ALIASES = { definitions: '$defs', dependentSchemas: 'dependencies', prefixItems: 'items', additionalItems: 'items' };
20
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
21
+ const escape = (segment) => segment.replace(/~/g, '~0').replace(/\//g, '~1');
22
+ const unescape = (segment) => segment.replace(/~1/g, '/').replace(/~0/g, '~');
23
+ const alias = (segment) => (Object.hasOwn(ALIASES, segment) ? ALIASES[segment] : segment);
24
+ const below = (p, key, member = false) => ({
25
+ escaped: `${p.escaped}/${escape(key)}`,
26
+ raw: `${p.raw}/${key}`,
27
+ registry: `${p.registry}/${member ? encodeURIComponent(escape(key)) : key}`,
28
+ keys: [...p.keys, key],
29
+ });
30
+ function decode(fragment) {
31
+ try {
32
+ return decodeURIComponent(fragment);
33
+ }
34
+ catch {
35
+ return fragment;
36
+ }
37
+ }
38
+ function copy(value) {
39
+ if (Array.isArray(value))
40
+ return value.map(copy);
41
+ if (!isRecord(value) || ![Object.prototype, null].includes(Object.getPrototypeOf(value)))
42
+ return value;
43
+ return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, copy(child)]));
44
+ }
45
+ const aliased = (pointer) => pointer.split('/').map(alias).join('/');
46
+ function spellings(reference) {
47
+ const trimmed = reference.replace(/#+$/, '');
48
+ const first = trimmed.indexOf('#');
49
+ if (first < 0 && !trimmed.startsWith('/'))
50
+ return [];
51
+ const fragments = first < 0 ? [trimmed] : [...new Set([trimmed.slice(first + 1), trimmed.slice(trimmed.lastIndexOf('#') + 1)])];
52
+ return fragments.map((fragment) => {
53
+ const pointer = fragment === '' || fragment.startsWith('/') ? fragment : `/${fragment}`;
54
+ const segments = pointer === '' ? [] : pointer.slice(1).split('/').map((s) => alias(unescape(decode(s))));
55
+ return { strings: [pointer, decode(pointer)].map(aliased), segments };
56
+ });
57
+ }
58
+ function referencePointers(value, found) {
59
+ if (Array.isArray(value))
60
+ for (const item of value)
61
+ referencePointers(item, found);
62
+ else if (isRecord(value)) {
63
+ for (const [key, child] of Object.entries(value)) {
64
+ if (REFERENCES.has(key) && typeof child === 'string')
65
+ found.push(...spellings(child));
66
+ referencePointers(child, found);
67
+ }
68
+ }
69
+ return found;
70
+ }
71
+ function declaresIdentifier(value) {
72
+ if (Array.isArray(value))
73
+ return value.some(declaresIdentifier);
74
+ if (!isRecord(value))
75
+ return false;
76
+ return Object.entries(value).some(([key, child]) => (IDENTIFIERS.has(key) && typeof child === 'string') || declaresIdentifier(child));
77
+ }
78
+ const unreachable = (schema, keyword) => (keyword === 'then' && (schema.if === undefined || schema.if === false)) ||
79
+ (keyword === 'else' && (schema.if === undefined || schema.if === true));
80
+ const startsWith = (a, b) => b.length <= a.length && b.every((s, i) => a[i] === s);
81
+ /** Keeps a branch the specification never evaluates when a reference or an identifier could reach it. */
82
+ export function withoutUnreachableBranches(document) {
83
+ const references = referencePointers(document, []);
84
+ const reached = (at, bases) => bases.some((base) => {
85
+ const relative = [at.escaped.slice(base.escaped.length), at.raw.slice(base.raw.length), at.registry.slice(base.registry.length)].map(aliased);
86
+ const keys = at.keys.slice(base.keys.length).map(alias);
87
+ return references.some((reference) => reference.strings.some((s) => relative.some((pointer) => s === pointer || s.startsWith(`${pointer}/`))) ||
88
+ startsWith(reference.segments, keys));
89
+ });
90
+ const schemaAt = (schema, position, bases) => {
91
+ if (!isRecord(schema))
92
+ return copy(schema);
93
+ const within = typeof schema.$id === 'string' && position.keys.length > 0 ? [...bases, position] : bases;
94
+ const dropped = (key) => unreachable(schema, key) && !reached(below(position, key), within) && !declaresIdentifier(schema[key]);
95
+ const branches = ['then', 'else'].filter((key) => key in schema);
96
+ const bare = typeof schema.if === 'boolean' && branches.length > 0 && branches.every(dropped) && !reached(below(position, 'if'), within);
97
+ const entries = [];
98
+ for (const [key, value] of Object.entries(schema)) {
99
+ const at = below(position, key);
100
+ if (dropped(key) || (key === 'if' && bare))
101
+ continue;
102
+ if (SINGLE.has(key) && (isRecord(value) || typeof value === 'boolean'))
103
+ entries.push([key, schemaAt(value, at, within)]);
104
+ else if (LIST.has(key) && Array.isArray(value))
105
+ entries.push([key, value.map((item, i) => schemaAt(item, below(at, String(i)), within))]);
106
+ else if (MAP.has(key) && isRecord(value)) {
107
+ const member = key === '$defs' || key === 'definitions';
108
+ entries.push([key, Object.fromEntries(Object.entries(value).map(([name, m]) => [name, schemaAt(m, below(at, name, member), within)]))]);
109
+ }
110
+ else
111
+ entries.push([key, copy(value)]);
112
+ }
113
+ return Object.fromEntries(entries);
114
+ };
115
+ const root = { escaped: '', raw: '', registry: '', keys: [] };
116
+ return schemaAt(document, root, [root]);
117
+ }
118
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;IACrB,iBAAiB;IACjB,sBAAsB;IACtB,UAAU;IACV,eAAe;IACf,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,eAAe;IACf,MAAM;IACN,kBAAkB;IAClB,uBAAuB;CACxB,CAAC,CAAA;AACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;AACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAA;AACpH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;AACpE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;AACjE,MAAM,OAAO,GAA2B,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AAElJ,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAiB,EAAE,CACjD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAEtE,MAAM,MAAM,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC5F,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC7F,MAAM,KAAK,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAG1G,MAAM,KAAK,GAAG,CAAC,CAAW,EAAE,GAAW,EAAE,MAAM,GAAG,KAAK,EAAY,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;IACtC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE;IACtB,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;IAC3E,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;CACvB,CAAC,CAAA;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACtG,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAGpF,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/H,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;QACvF,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzG,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAkB;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SAC7E,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YACrF,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AACvI,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,MAAY,EAAE,OAAe,EAAW,EAAE,CAC7D,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACxE,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;AAEzE,MAAM,UAAU,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAExH,yGAAyG;AACzG,MAAM,UAAU,0BAA0B,CAAC,QAAiB;IAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,CAAC,EAAY,EAAE,KAA0B,EAAW,EAAE,CACpE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7I,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;YACvG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CACvC,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAE,QAAkB,EAAE,KAA0B,EAAW,EAAE;QAC5F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACxG,MAAM,OAAO,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAChJ,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAA;QAChE,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;QACxI,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC;gBAAE,SAAQ;YACpD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;iBACnH,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;iBACpI,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,aAAa,CAAA;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzI,CAAC;;gBAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAA;IAED,MAAM,IAAI,GAAa,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IACvE,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import { type SchemaNode } from 'json-schema-library';
2
2
  import type { SchemaProjection } from '@texaryn/core';
3
+ import { type ProjectionCache } from './identity.js';
4
+ export interface ProjectionLimits {
5
+ readonly objects: number;
6
+ readonly nodes: number;
7
+ }
8
+ export declare const DEFAULT_LIMITS: ProjectionLimits;
3
9
  /**
4
10
  * Maps a compiled json-schema-library root node to a SchemaProjection.
5
11
  * Called by adapter.project() on every data change.
@@ -10,5 +16,5 @@ import type { SchemaProjection } from '@texaryn/core';
10
16
  * contract), while array items are walked from `data` (an array's length is a data-time
11
17
  * fact, not a schema-time one). $ref is resolved transparently via node.resolveRef().
12
18
  */
13
- export declare function buildProjection(root: SchemaNode, data: unknown): SchemaProjection;
19
+ export declare function buildProjection(root: SchemaNode, data: unknown, cache: ProjectionCache, limits?: ProjectionLimits): SchemaProjection;
14
20
  //# sourceMappingURL=projection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EACV,gBAAgB,EASjB,MAAM,eAAe,CAAA;AA4nCtB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAKjF"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAUjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAQL,KAAK,eAAe,EACrB,MAAM,eAAe,CAAA;AAyPtB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,gBAA8C,CAAA;AA2jC3E;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,eAAe,EACtB,MAAM,GAAE,gBAAiC,GACxC,gBAAgB,CAiDlB"}
@@ -1,4 +1,6 @@
1
- import { mergeNode } from 'json-schema-library';
1
+ import { mergeNode, isSchemaNode } from 'json-schema-library';
2
+ import { childDeclaring, followRef, itemDeclaring, locationInfo, onlyPoints, positionOf, } from './identity.js';
3
+ import { POSITION } from './schema-graph.js';
2
4
  const VALID_TYPES = new Set([
3
5
  'string',
4
6
  'number',
@@ -174,9 +176,80 @@ function extractEnumValues(schema) {
174
176
  return undefined;
175
177
  return schema.enum.map((value) => ({ value }));
176
178
  }
179
+ function dereferenceChecked(node) {
180
+ let current = node;
181
+ const seen = new Set();
182
+ while (typeof current.$ref === 'string') {
183
+ const position = positionOf(current);
184
+ if (seen.has(position))
185
+ return { node: current, cycle: true };
186
+ seen.add(position);
187
+ const next = followRef(current);
188
+ if (!next) {
189
+ const raw = current.resolveRef();
190
+ return { node: (raw ?? current), cycle: false };
191
+ }
192
+ current = next;
193
+ if (!onlyPoints(current))
194
+ break;
195
+ }
196
+ return { node: current, cycle: false };
197
+ }
177
198
  /** Follows a $ref to the node it points at; returns the node unchanged otherwise. */
178
199
  function dereference(node) {
179
- return node.$ref ? node.resolveRef() : node;
200
+ return dereferenceChecked(node).node;
201
+ }
202
+ // A dialect whose reducer leaves $ref unresolved reduces a selected `{ $ref }` branch to `{}`.
203
+ function resolveSelectedBranch(original, reduced, data) {
204
+ const reducedSchema = reduced.schema;
205
+ if (reducedSchema && typeof reducedSchema === 'object') {
206
+ if (resolveExplicitType(reducedSchema) || inferProjectionShape(reducedSchema).kind === 'resolved') {
207
+ return reduced;
208
+ }
209
+ }
210
+ const selected = [];
211
+ if (original.oneOf) {
212
+ const matching = original.oneOf.filter((branch) => branchApplies(branch, data));
213
+ if (matching.length === 1)
214
+ selected.push(matching[0]);
215
+ }
216
+ for (const branch of original.anyOf ?? []) {
217
+ if (branchApplies(branch, data))
218
+ selected.push(branch);
219
+ }
220
+ if (!selected.some((branch) => typeof branch.$ref === 'string'))
221
+ return reduced;
222
+ let merged = reduced;
223
+ for (const branch of selected) {
224
+ const target = dereference(branch);
225
+ if (!isSchemaNode(target))
226
+ continue;
227
+ const targetReduced = target.reduceNode(data).node ?? target;
228
+ merged = mergeNode(merged, targetReduced) ?? merged;
229
+ }
230
+ return merged;
231
+ }
232
+ export const DEFAULT_LIMITS = { objects: 16, nodes: 512 };
233
+ function walkOrder(a, b) {
234
+ for (let i = 0; i < Math.min(a.length, b.length); i++)
235
+ if (a[i] !== b[i])
236
+ return a[i] - b[i];
237
+ return a.length - b.length;
238
+ }
239
+ function addBoundary(ctx, pointer, reason) {
240
+ const reasons = ctx.boundaries.get(pointer) ?? new Set();
241
+ reasons.add(reason);
242
+ ctx.boundaries.set(pointer, reasons);
243
+ }
244
+ // A leaf needs no reduction, so it rides with its parent's budget unit.
245
+ function isLeafSchema(schema) {
246
+ if (typeof schema !== 'object' || schema === null)
247
+ return true;
248
+ const record = schema;
249
+ const type = resolveExplicitType(record);
250
+ if (type !== undefined)
251
+ return type !== 'object';
252
+ return ('enum' in record || 'const' in record) && !('properties' in record);
180
253
  }
181
254
  /**
182
255
  * The position of a schema within the document it was authored in, as a JSON
@@ -334,7 +407,7 @@ function collectApplicableDefaults(roots, data) {
334
407
  return declarationsFrom((visitor) => eachApplicable(roots, data, visitor));
335
408
  }
336
409
  /** The positions that declare one property of `roots`, by both reachability rules. */
337
- function childPositions(roots, key, data) {
410
+ function childPositions(roots, key, data, declaring) {
338
411
  const unconditional = [];
339
412
  eachUnconditional(roots.unconditional, (node) => {
340
413
  const child = node.properties?.[key];
@@ -347,10 +420,10 @@ function childPositions(roots, key, data) {
347
420
  if (child)
348
421
  applicable.push(child);
349
422
  });
350
- return { unconditional, applicable };
423
+ return { unconditional, applicable, declaring };
351
424
  }
352
425
  /** The positions that declare the elements of `roots`, by both reachability rules. */
353
- function itemPositions(roots, data) {
426
+ function itemPositions(roots, data, declaring) {
354
427
  const unconditional = [];
355
428
  eachUnconditional(roots.unconditional, (node) => {
356
429
  if (node.items)
@@ -361,7 +434,7 @@ function itemPositions(roots, data) {
361
434
  if (node.items)
362
435
  applicable.push(node.items);
363
436
  });
364
- return { unconditional, applicable };
437
+ return { unconditional, applicable, declaring };
365
438
  }
366
439
  /**
367
440
  * The declarations to report, or nothing where the schema states one answer.
@@ -641,6 +714,8 @@ function computeRequiredSet(resolved, reducedSchema, dataRecord) {
641
714
  }
642
715
  return required;
643
716
  }
717
+ // An unreadable identity is never a repeat, and is budgeted so it cannot expand without end.
718
+ const budgeted = (info) => info.cyclic || info.key === '';
644
719
  /**
645
720
  * Walks the compiled schema statically (via node.properties/node.items plus every
646
721
  * conditional branch), only descending into array items that are actually present in
@@ -664,9 +739,57 @@ provisional, nodes, diagnostics,
664
739
  * supply: by the time the caller has a node to walk it holds the merge of
665
740
  * them, and the merge is what loses a disagreement.
666
741
  */
667
- declaredAt) {
668
- const original = dereference(node);
742
+ declaredAt, ctx,
743
+ /** Entered as an object member, which is the only way to be past the data. */
744
+ member,
745
+ /** The past-the-data ancestors, nearest first, up to the nearest location holding data. */
746
+ lineage, path) {
747
+ const info = locationInfo(declaredAt.declaring, ctx.cache);
748
+ const { node: original, cycle: referenceCycle } = dereferenceChecked(node);
749
+ if (info.cycle || referenceCycle) {
750
+ diagnostics.push({
751
+ pointer: toPointer(pointer),
752
+ code: 'unresolved-projection-shape',
753
+ message: `A "$ref" or in-place applicator cycle never leaves this location, so there is no ` +
754
+ `shape to render.`,
755
+ });
756
+ return;
757
+ }
758
+ const pastData = member && (data === undefined || data === null);
759
+ const recursive = pastData && ((lineage?.recursive ?? false) || budgeted(info));
760
+ for (let ancestor = pastData ? lineage : undefined; ancestor; ancestor = ancestor.parent) {
761
+ if (info.key !== '' && ancestor.key === info.key) {
762
+ addBoundary(ctx, ancestor.pointer, 'recursion');
763
+ ctx.removed.add(pointer);
764
+ return;
765
+ }
766
+ }
669
767
  const originalSchema = original.schema;
768
+ if (recursive && lineage !== undefined) {
769
+ const parent = pointer.slice(0, pointer.lastIndexOf('/'));
770
+ let admit;
771
+ if (isLeafSchema(originalSchema)) {
772
+ const covered = ctx.reserved.has(parent);
773
+ admit = covered || ctx.nodesUsed < ctx.limits.nodes;
774
+ if (admit && !covered)
775
+ ctx.nodesUsed += 1;
776
+ }
777
+ else {
778
+ const leaves = [...collectCandidateProperties(original).values()].filter((candidate) => isLeafSchema(dereference(candidatePrototype(candidate)).schema)).length;
779
+ admit = ctx.objectsUsed < ctx.limits.objects && ctx.nodesUsed + 1 + leaves <= ctx.limits.nodes;
780
+ if (admit) {
781
+ ctx.objectsUsed += 1;
782
+ ctx.nodesUsed += 1 + leaves;
783
+ ctx.reserved.add(pointer);
784
+ }
785
+ }
786
+ if (!admit) {
787
+ addBoundary(ctx, parent, 'budget');
788
+ ctx.removed.add(pointer);
789
+ return;
790
+ }
791
+ ctx.flagged.add(pointer);
792
+ }
670
793
  if (typeof originalSchema !== 'object' || originalSchema === null)
671
794
  return;
672
795
  let resolved = original;
@@ -697,8 +820,8 @@ declaredAt) {
697
820
  composedAgainstData = true;
698
821
  const { node: branchNode } = original.reduceNode(data);
699
822
  if (branchNode) {
700
- resolved = branchNode;
701
- schema = branchNode.schema;
823
+ resolved = resolveSelectedBranch(original, branchNode, data);
824
+ schema = resolved.schema;
702
825
  type = resolveExplicitType(schema);
703
826
  }
704
827
  else {
@@ -751,7 +874,7 @@ declaredAt) {
751
874
  * this adapter renders, because scalar shapes are deliberately not inferred.
752
875
  * That schema is genuinely unprojectable and has to be reported.
753
876
  */
754
- const isTransientBranchMiss = () => Object.keys(schema).length === 0 && compositionHasRenderableAlternative(original);
877
+ const isTransientBranchMiss = () => Object.keys(schema).every((keyword) => keyword === POSITION) && compositionHasRenderableAlternative(original);
755
878
  // Last resort, after the oneOf/anyOf branch above has had its chance: that
756
879
  // path handles a typeless wrapper whose type only exists once a branch is
757
880
  // chosen, and inferring first would take a schema carrying both `properties`
@@ -800,6 +923,9 @@ declaredAt) {
800
923
  }
801
924
  if (!type)
802
925
  return;
926
+ const selfLineage = pastData
927
+ ? { key: info.key, pointer, recursive, depth: (lineage?.depth ?? 0) + 1, parent: lineage }
928
+ : undefined;
803
929
  // Reported at the location it is about, and after the shape gate above: a
804
930
  // pointer with no node has nothing to omit an annotation from, and saying
805
931
  // that its `default` is undecidable on top of saying it cannot be drawn at
@@ -819,9 +945,13 @@ declaredAt) {
819
945
  // selects. A superset of the diagnostic's: every unconditional disagreement
820
946
  // is also an applicable one, so the node carries both kinds and a consumer
821
947
  // reads one place.
822
- const applicableConflict = disagreeingDefaults(collectApplicableDefaults(declaredAt.applicable, data));
948
+ const applicableDeclarations = collectApplicableDefaults(declaredAt.applicable, data);
949
+ const applicableConflict = disagreeingDefaults(applicableDeclarations);
823
950
  const conflictedDefault = applicableConflict !== undefined || ambiguousDefault !== undefined;
824
951
  const defaultConflict = (applicableConflict ?? ambiguousDefault)?.map((declaration) => declaration.source);
952
+ const defaultSources = !conflictedDefault && 'default' in schema && info.cyclic
953
+ ? [...new Set(applicableDeclarations.map((declaration) => declaration.source))].sort()
954
+ : undefined;
825
955
  const nodeActive = active && branchResolved;
826
956
  // A node the schema applies is never also provisional; the two report
827
957
  // different facts and only the second is a choice this projection made. The
@@ -846,7 +976,13 @@ declaredAt) {
846
976
  // wrapper case), it has already been reduced against the real `data` at this
847
977
  // pointer; re-reducing it against `dataRecord ?? {}` here would be redundant (and,
848
978
  // for a branch with no dynamic keywords of its own, a no-op), so it is skipped.
849
- const reducedNode = resolved === original ? resolved.reduceNode(dataRecord ?? {}).node : resolved;
979
+ let reducedNode = resolved === original ? resolved.reduceNode(dataRecord ?? {}).node : resolved;
980
+ if (reducedNode &&
981
+ resolved === original &&
982
+ !resolveExplicitType(originalSchema) &&
983
+ (original.oneOf || original.anyOf)) {
984
+ reducedNode = resolveSelectedBranch(original, reducedNode, dataRecord ?? {});
985
+ }
850
986
  const reducedSchema = reducedNode?.schema;
851
987
  const reducedProperties = reducedSchema?.properties ??
852
988
  schema.properties ??
@@ -903,8 +1039,9 @@ declaredAt) {
903
1039
  provisional: nodeProvisional ? true : undefined,
904
1040
  defaultConflict,
905
1041
  annotations: extractAnnotations(schema, conflictedDefault),
1042
+ ...(defaultSources !== undefined ? { defaultSources } : {}),
906
1043
  });
907
- for (const key of propKeys) {
1044
+ for (const [index, key] of propKeys.entries()) {
908
1045
  const childPointer = `${pointer}/${escapeSegment(key)}`;
909
1046
  const childActive = nodeActive && activeKeys.has(key);
910
1047
  // A descendant inherits exposure, not activity: under a provisionally
@@ -927,12 +1064,19 @@ declaredAt) {
927
1064
  const childNode = reducedChildNode ??
928
1065
  composeChild(candidate.direct, provisionalChildNode) ??
929
1066
  candidatePrototype(candidate);
930
- walk(childNode, childPointer, dataRecord?.[key], childActive, childProvisional, nodes, diagnostics,
1067
+ const positions = childPositions(declaredAt, key,
931
1068
  // This node's own data, not the child's: the branches being entered
932
1069
  // are this location's, so they are decided by the instance here. The
933
1070
  // child's own conditional edges are entered by the child's walk, with
934
1071
  // the child's data.
935
- childPositions(declaredAt, key, data));
1072
+ data, childDeclaring(info, key));
1073
+ const enter = () => walk(childNode, childPointer, dataRecord !== undefined && Object.hasOwn(dataRecord, key) ? dataRecord[key] : undefined, childActive, childProvisional, nodes, diagnostics, positions, ctx, true, selfLineage, [...path, index]);
1074
+ // Deferring the children the budget counts, by depth below the anchor, admits it breadth first.
1075
+ const counted = selfLineage && (recursive || budgeted(locationInfo(positions.declaring, ctx.cache)));
1076
+ if (counted)
1077
+ (ctx.queue[selfLineage.depth] ??= []).push({ path: [...path, index], enter });
1078
+ else
1079
+ enter();
936
1080
  }
937
1081
  return;
938
1082
  }
@@ -946,6 +1090,7 @@ declaredAt) {
946
1090
  provisional: nodeProvisional ? true : undefined,
947
1091
  defaultConflict,
948
1092
  annotations: extractAnnotations(schema, conflictedDefault),
1093
+ ...(defaultSources !== undefined ? { defaultSources } : {}),
949
1094
  // Deliberately not given the flag above. A conflict under `items` belongs
950
1095
  // to the element locations, and each of those reports its own; this field
951
1096
  // describes the item schema rather than being one of those locations, so
@@ -957,9 +1102,9 @@ declaredAt) {
957
1102
  : undefined,
958
1103
  });
959
1104
  if (type === 'array' && resolved.items && Array.isArray(data)) {
960
- const elementPositions = itemPositions(declaredAt, data);
1105
+ const elementPositions = itemPositions(declaredAt, data, itemDeclaring(info));
961
1106
  data.forEach((item, index) => {
962
- walk(resolved.items, `${pointer}/${index}`, item, nodeActive, nodeProvisional, nodes, diagnostics, elementPositions);
1107
+ walk(resolved.items, `${pointer}/${index}`, item, nodeActive, nodeProvisional, nodes, diagnostics, elementPositions, ctx, false, undefined, [...path, index]);
963
1108
  });
964
1109
  }
965
1110
  }
@@ -973,10 +1118,42 @@ declaredAt) {
973
1118
  * contract), while array items are walked from `data` (an array's length is a data-time
974
1119
  * fact, not a schema-time one). $ref is resolved transparently via node.resolveRef().
975
1120
  */
976
- export function buildProjection(root, data) {
1121
+ export function buildProjection(root, data, cache, limits = DEFAULT_LIMITS) {
977
1122
  const nodes = new Map();
978
1123
  const diagnostics = [];
979
- walk(root, '', data, true, false, nodes, diagnostics, { unconditional: [root], applicable: [root] });
1124
+ const ctx = {
1125
+ cache,
1126
+ limits,
1127
+ boundaries: new Map(),
1128
+ removed: new Set(),
1129
+ flagged: new Set(),
1130
+ reserved: new Set(),
1131
+ queue: [],
1132
+ objectsUsed: 0,
1133
+ nodesUsed: 0,
1134
+ };
1135
+ walk(root, '', data, true, false, nodes, diagnostics, { unconditional: [root], applicable: [root], declaring: [root] }, ctx, false, undefined, []);
1136
+ for (const level of ctx.queue)
1137
+ for (const { enter } of (level ?? []).sort((a, b) => walkOrder(a.path, b.path)))
1138
+ enter();
1139
+ for (const node of nodes.values()) {
1140
+ if (node.children?.some((child) => ctx.removed.has(child.pointer))) {
1141
+ ;
1142
+ node.children = node.children.filter((child) => !ctx.removed.has(child.pointer));
1143
+ }
1144
+ }
1145
+ for (const pointer of ctx.flagged) {
1146
+ const node = nodes.get(toPointer(pointer));
1147
+ if (node)
1148
+ node.recursiveExpansion = true;
1149
+ }
1150
+ for (const [pointer, reasons] of ctx.boundaries) {
1151
+ const node = nodes.get(toPointer(pointer));
1152
+ if (node) {
1153
+ ;
1154
+ node.boundaries = ['recursion', 'budget'].filter((reason) => reasons.has(reason));
1155
+ }
1156
+ }
980
1157
  return { nodes, diagnostics };
981
1158
  }
982
1159
  //# sourceMappingURL=projection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type SchemaNode } from 'json-schema-library';
2
+ import type { Dialect } from './dialect.js';
3
+ export declare function fixRootReference(root: SchemaNode, dialect: Dialect): void;
4
+ //# sourceMappingURL=root-reference.d.ts.map