@voxgig/apidef 8.15.1 → 8.16.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.
- package/dist/builder/entity/entity.js +8 -5
- package/dist/builder/entity/entity.js.map +1 -1
- package/dist/builder/entity/info.js +1 -1
- package/dist/builder/entity/info.js.map +1 -1
- package/dist/builder/flow.js +3 -3
- package/dist/builder/flow.js.map +1 -1
- package/dist/cli.js +8 -10
- package/dist/cli.js.map +1 -1
- package/dist/guide/guide.d.ts +14 -1
- package/dist/guide/guide.js +104 -62
- package/dist/guide/guide.js.map +1 -1
- package/dist/guide/heuristic01.js +105 -34
- package/dist/guide/heuristic01.js.map +1 -1
- package/dist/parse.d.ts +2 -1
- package/dist/parse.js +42 -43
- package/dist/parse.js.map +1 -1
- package/dist/refcount.d.ts +6 -0
- package/dist/refcount.js +215 -0
- package/dist/refcount.js.map +1 -0
- package/dist/transform/field.js +1 -1
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/operation.js +1 -1
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/top.js +1 -1
- package/dist/transform/top.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.d.ts +2 -1
- package/dist/utility.js +42 -1
- package/dist/utility.js.map +1 -1
- package/model/{guide.aon → guide.aontu} +1 -1
- package/package.json +3 -3
- package/src/builder/entity/entity.ts +8 -5
- package/src/builder/entity/info.ts +1 -1
- package/src/builder/flow.ts +3 -3
- package/src/cli.ts +8 -10
- package/src/guide/guide.ts +133 -71
- package/src/guide/heuristic01.ts +136 -38
- package/src/parse.ts +64 -38
- package/src/refcount.ts +244 -0
- package/src/transform/field.ts +1 -1
- package/src/transform/operation.ts +1 -1
- package/src/transform/top.ts +1 -1
- package/src/types.ts +2 -2
- package/src/utility.ts +54 -1
- /package/model/{apidef.aon → apidef.aontu} +0 -0
|
@@ -8,11 +8,12 @@ const utility_1 = require("../utility");
|
|
|
8
8
|
const utility_2 = require("../utility");
|
|
9
9
|
const jostraca_2 = require("jostraca");
|
|
10
10
|
const entity_1 = require("../transform/entity");
|
|
11
|
+
const refcount_1 = require("../refcount");
|
|
11
12
|
const KONSOLE_LOG = console['log'];
|
|
12
13
|
// Log non - fatal wierdness.
|
|
13
14
|
const dlog = (0, utility_2.getdlog)('apidef', __filename);
|
|
14
|
-
//
|
|
15
|
-
//
|
|
15
|
+
// A schema whose per-use occurrences, over the method count or over the path
|
|
16
|
+
// count, fall below these rates names an entity rather than a shared shape.
|
|
16
17
|
const IS_ENTCMP_METHOD_RATE = 0.21;
|
|
17
18
|
const IS_ENTCMP_PATH_RATE = 0.41;
|
|
18
19
|
const METHOD_IDOP = {
|
|
@@ -28,6 +29,8 @@ const METHOD_IDOP = {
|
|
|
28
29
|
HEAD: 'head',
|
|
29
30
|
OPTIONS: 'OPTIONS',
|
|
30
31
|
};
|
|
32
|
+
// Tried in order: the first shape a path matches decides how its entity is named.
|
|
33
|
+
const ENTITY_PATH_SHAPES = ['t/p/t/', 't/p/', 'p/t/', 't/', 't/p/p'];
|
|
31
34
|
const METHOD_CONSIDER_ORDER = {
|
|
32
35
|
'GET': 100,
|
|
33
36
|
'QUERY': 150,
|
|
@@ -49,6 +52,8 @@ async function heuristic01(ctx) {
|
|
|
49
52
|
]
|
|
50
53
|
},
|
|
51
54
|
{ select: selectCmpXrefs, apply: MeasureRef },
|
|
55
|
+
{ select: selectAllMethods, apply: MeasureEnvelope },
|
|
56
|
+
MeasureEnvelopeItems,
|
|
52
57
|
{
|
|
53
58
|
select: selectAllMethods, apply: [
|
|
54
59
|
ResolveEntityComponent,
|
|
@@ -118,6 +123,7 @@ function Prepare(spec) {
|
|
|
118
123
|
work: {
|
|
119
124
|
pathmap: {},
|
|
120
125
|
entmap: {},
|
|
126
|
+
envelope: {},
|
|
121
127
|
entity: {
|
|
122
128
|
count: {
|
|
123
129
|
seen: 0,
|
|
@@ -175,26 +181,63 @@ function PreparePath(spec) {
|
|
|
175
181
|
work.pathmap[pathstr] = pathdesc;
|
|
176
182
|
}
|
|
177
183
|
function selectCmpXrefs(_source, spec) {
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
184
|
+
const counts = (0, refcount_1.countRefs)(spec.ctx.def);
|
|
185
|
+
return Object.keys(counts)
|
|
186
|
+
.sort(refcount_1.byCodePoint)
|
|
187
|
+
.filter(val => val.match(/\/(components\/schemas|definitions)\//))
|
|
188
|
+
.map(val => ({ val, count: counts[val] }));
|
|
181
189
|
}
|
|
182
190
|
function MeasureRef(spec) {
|
|
183
191
|
const guide = spec.data.guide;
|
|
184
192
|
const metrics = guide.metrics;
|
|
185
|
-
|
|
193
|
+
const xref = spec.node.val;
|
|
194
|
+
let m = xref.val.match(/\/(components\/schemas|definitions)\/(.+)$/);
|
|
186
195
|
if (m) {
|
|
187
196
|
const name = (0, utility_2.canonizeCmpName)(m[2]);
|
|
188
197
|
if (null == metrics.count.origcmprefs[name]) {
|
|
189
198
|
metrics.count.cmp++;
|
|
190
199
|
metrics.count.origcmprefs[name] = 0;
|
|
191
200
|
}
|
|
192
|
-
metrics.count.origcmprefs[name]
|
|
201
|
+
metrics.count.origcmprefs[name] =
|
|
202
|
+
(0, refcount_1.satAdd)(metrics.count.origcmprefs[name], xref.count);
|
|
193
203
|
if (null == metrics.found.cmp[name]) {
|
|
194
204
|
metrics.found.cmp[name] = { orig: m[2] };
|
|
195
205
|
}
|
|
196
206
|
}
|
|
197
207
|
}
|
|
208
|
+
// Being an envelope belongs to the component, not to one operation: it names
|
|
209
|
+
// through the record it carries only when every operation answering with it
|
|
210
|
+
// unwraps it, so the operations on one resource are never split between the
|
|
211
|
+
// record's name and the envelope's. An operation unwraps only the response
|
|
212
|
+
// ResolveTransform reads. The entry is the item's reference, or '' for none.
|
|
213
|
+
function MeasureEnvelope(spec) {
|
|
214
|
+
const work = spec.data.work;
|
|
215
|
+
const mdesc = spec.node.val;
|
|
216
|
+
const opname = methodOpname(mdesc, matchEntityPath(work.pathmap[mdesc.path].parts), []);
|
|
217
|
+
const unwrapref = getResponseSchema(successResponse(mdesc.responses))?.['x-ref'];
|
|
218
|
+
for (const schema of successSchemas(mdesc.responses)) {
|
|
219
|
+
const xref = schema['x-ref'];
|
|
220
|
+
if (null != xref) {
|
|
221
|
+
const itemref = null == opname || xref !== unwrapref ? null :
|
|
222
|
+
(0, utility_1.envelopeItemRef)(schema, opname);
|
|
223
|
+
work.envelope[xref] = '' === work.envelope[xref] || null == itemref ? '' : itemref;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// An item carried by more than one envelope is named by none of them: the
|
|
228
|
+
// envelopes' own names are then what tell the resources apart.
|
|
229
|
+
function MeasureEnvelopeItems(spec) {
|
|
230
|
+
const envelope = spec.data.work.envelope;
|
|
231
|
+
const carriers = {};
|
|
232
|
+
for (const itemref of Object.values(envelope)) {
|
|
233
|
+
carriers[itemref] = (carriers[itemref] ?? 0) + 1;
|
|
234
|
+
}
|
|
235
|
+
for (const xref of Object.keys(envelope)) {
|
|
236
|
+
if (1 < carriers[envelope[xref]]) {
|
|
237
|
+
envelope[xref] = '';
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
198
241
|
function selectAllMethods(_source, spec) {
|
|
199
242
|
const ctx = spec.ctx;
|
|
200
243
|
let caught = { methods: [] };
|
|
@@ -245,7 +288,7 @@ function ResolveEntityComponent(spec) {
|
|
|
245
288
|
const parts = work.pathmap[pathStr].parts;
|
|
246
289
|
let why_cmp = [];
|
|
247
290
|
let responses = methodDef.responses;
|
|
248
|
-
let origxrefs = findPotentialSchemaRefs(pathStr, methodName, responses).map(val => ({
|
|
291
|
+
let origxrefs = findPotentialSchemaRefs(pathStr, methodName, responses, work.envelope, why_cmp).map(val => ({
|
|
249
292
|
val
|
|
250
293
|
}));
|
|
251
294
|
let cmpxrefs = origxrefs
|
|
@@ -373,20 +416,20 @@ function ResolveEntityName(spec) {
|
|
|
373
416
|
}
|
|
374
417
|
why_path.push(...(ment.why_cmp ?? []));
|
|
375
418
|
let entname;
|
|
376
|
-
|
|
377
|
-
if (
|
|
419
|
+
const pm = matchEntityPath(parts);
|
|
420
|
+
if ('t/p/t/' === pm?.expr) {
|
|
378
421
|
entname = entityPathMatch_tpte(data, pm, mdesc, why_path);
|
|
379
422
|
}
|
|
380
|
-
else if (
|
|
423
|
+
else if ('t/p/' === pm?.expr) {
|
|
381
424
|
entname = entityPathMatch_tpe(data, pm, mdesc, why_path);
|
|
382
425
|
}
|
|
383
|
-
else if (
|
|
426
|
+
else if ('p/t/' === pm?.expr) {
|
|
384
427
|
entname = entityPathMatch_pte(data, pm, mdesc, why_path);
|
|
385
428
|
}
|
|
386
|
-
else if (
|
|
429
|
+
else if ('t/' === pm?.expr) {
|
|
387
430
|
entname = entityPathMatch_te(data, pm, mdesc, why_path);
|
|
388
431
|
}
|
|
389
|
-
else if (
|
|
432
|
+
else if ('t/p/p' === pm?.expr) {
|
|
390
433
|
entname = entityPathMatch_tpp(data, pm, mdesc, why_path);
|
|
391
434
|
}
|
|
392
435
|
else {
|
|
@@ -694,7 +737,7 @@ function ResolveOperation(spec) {
|
|
|
694
737
|
return;
|
|
695
738
|
}
|
|
696
739
|
if ('load' === standard_opname) {
|
|
697
|
-
const islist = isListResponse(mdesc, pathStr, why_op);
|
|
740
|
+
const islist = isListResponse(mdesc, ment.pm, pathStr, why_op);
|
|
698
741
|
opname = islist ? 'list' : opname;
|
|
699
742
|
}
|
|
700
743
|
else {
|
|
@@ -743,8 +786,7 @@ function ResolveTransform(spec) {
|
|
|
743
786
|
req: undefined,
|
|
744
787
|
res: undefined,
|
|
745
788
|
};
|
|
746
|
-
const
|
|
747
|
-
const resprops = getResponseSchema(resokdef)?.properties;
|
|
789
|
+
const resprops = getResponseSchema(successResponse(mdesc.responses))?.properties;
|
|
748
790
|
(0, utility_2.debugpath)(pathStr, methodName, 'TRANSFORM-RES', (0, struct_1.keysof)(resprops));
|
|
749
791
|
if (resprops) {
|
|
750
792
|
if ((0, utility_1.isEntityWrapperProp)(resprops[entdesc.origname])) {
|
|
@@ -1000,6 +1042,17 @@ function getRequestBodySchema(requestBody) {
|
|
|
1000
1042
|
return requestBody?.content?.['application/json']?.schema ??
|
|
1001
1043
|
requestBody?.schema;
|
|
1002
1044
|
}
|
|
1045
|
+
// The response an operation's result is read from.
|
|
1046
|
+
function successResponse(responses) {
|
|
1047
|
+
return responses?.[200] ?? responses?.[201];
|
|
1048
|
+
}
|
|
1049
|
+
// The response schemas an operation answers with when it succeeds, in the
|
|
1050
|
+
// order they are tried.
|
|
1051
|
+
function successSchemas(responses) {
|
|
1052
|
+
return ['200', '201']
|
|
1053
|
+
.map((rescode) => getResponseSchema(responses?.[rescode]))
|
|
1054
|
+
.filter((schema) => null != schema);
|
|
1055
|
+
}
|
|
1003
1056
|
function getResponseSchema(response) {
|
|
1004
1057
|
return response?.content?.['application/json']?.schema ??
|
|
1005
1058
|
response?.schema;
|
|
@@ -1143,9 +1196,22 @@ function cmpOccursInPath(data, cmpname) {
|
|
|
1143
1196
|
}
|
|
1144
1197
|
return null != data.work.potentialCmpsFromPaths[cmpname];
|
|
1145
1198
|
}
|
|
1146
|
-
function
|
|
1147
|
-
const
|
|
1148
|
-
|
|
1199
|
+
function matchEntityPath(parts) {
|
|
1200
|
+
for (const shape of ENTITY_PATH_SHAPES) {
|
|
1201
|
+
const pm = (0, utility_2.pathMatch)(parts, shape);
|
|
1202
|
+
if (null != pm) {
|
|
1203
|
+
return pm;
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
return null;
|
|
1207
|
+
}
|
|
1208
|
+
// The operation ResolveOperation will assign, needed before the entity is
|
|
1209
|
+
// named: whether a response unwraps as an envelope depends on it.
|
|
1210
|
+
function methodOpname(mdesc, pm, why) {
|
|
1211
|
+
const opname = METHOD_IDOP[mdesc.method];
|
|
1212
|
+
return 'load' === opname && isListResponse(mdesc, pm, mdesc.path, why) ? 'list' : opname;
|
|
1213
|
+
}
|
|
1214
|
+
function isListResponse(mdesc, pm, pathStr, why) {
|
|
1149
1215
|
let islist = false;
|
|
1150
1216
|
let schema;
|
|
1151
1217
|
const endParamAnchored = !!(pm && pm.expr.endsWith('p/'));
|
|
@@ -1154,8 +1220,7 @@ function isListResponse(mdesc, pathStr, why) {
|
|
|
1154
1220
|
why.push('end-param');
|
|
1155
1221
|
}
|
|
1156
1222
|
else {
|
|
1157
|
-
|
|
1158
|
-
schema = getResponseSchema(response);
|
|
1223
|
+
schema = getResponseSchema(successResponse(mdesc.responses));
|
|
1159
1224
|
if (null == schema) {
|
|
1160
1225
|
why.push('no-schema');
|
|
1161
1226
|
}
|
|
@@ -1304,26 +1369,32 @@ function makeMethodEntityDesc(desc) {
|
|
|
1304
1369
|
};
|
|
1305
1370
|
return ment;
|
|
1306
1371
|
}
|
|
1307
|
-
function findPotentialSchemaRefs(pathStr, methodName, responses) {
|
|
1372
|
+
function findPotentialSchemaRefs(pathStr, methodName, responses, envelope, why) {
|
|
1308
1373
|
const xrefs = [];
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
xrefs.push(schema['x-ref']);
|
|
1374
|
+
for (const schema of successSchemas(responses)) {
|
|
1375
|
+
if (null != schema['x-ref']) {
|
|
1376
|
+
// An envelope component names its wrapping, not the entity: the
|
|
1377
|
+
// component it carries takes its place.
|
|
1378
|
+
const itemref = envelope[schema['x-ref']];
|
|
1379
|
+
if ('' !== itemref) {
|
|
1380
|
+
why.push('envelope=' + cmpRefName(schema['x-ref']));
|
|
1381
|
+
xrefs.push(itemref);
|
|
1318
1382
|
}
|
|
1319
|
-
else
|
|
1320
|
-
xrefs.push(schema
|
|
1383
|
+
else {
|
|
1384
|
+
xrefs.push(schema['x-ref']);
|
|
1321
1385
|
}
|
|
1322
1386
|
}
|
|
1387
|
+
else if ('array' === schema.type && null != schema.items?.['x-ref']) {
|
|
1388
|
+
xrefs.push(schema.items?.['x-ref']);
|
|
1389
|
+
}
|
|
1323
1390
|
}
|
|
1324
1391
|
(0, utility_2.debugpath)(pathStr, methodName, 'POTENTIAL-SCHEMA-REFS', xrefs);
|
|
1325
1392
|
return xrefs;
|
|
1326
1393
|
}
|
|
1394
|
+
function cmpRefName(xref) {
|
|
1395
|
+
const m = xref.match(/\/(components\/schemas|definitions)\/(.+)$/);
|
|
1396
|
+
return null == m ? xref : (0, utility_2.canonizeCmpName)(m[2]);
|
|
1397
|
+
}
|
|
1327
1398
|
function hasMethod(def, pathStr, methodName) {
|
|
1328
1399
|
const pathDef = def?.paths?.[pathStr];
|
|
1329
1400
|
const found = (null != pathDef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
|
package/dist/parse.d.ts
CHANGED
package/dist/parse.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/* Copyright (c) 2024-2025 Voxgig, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.parse = parse;
|
|
5
|
+
exports.decycledChild = decycledChild;
|
|
5
6
|
const jsonic_1 = require("@tabnas/jsonic");
|
|
6
7
|
const yaml_1 = require("@tabnas/yaml");
|
|
7
8
|
const utility_1 = require("./utility");
|
|
@@ -102,6 +103,12 @@ async function parseOpenAPI(source, _meta) {
|
|
|
102
103
|
const def = decycle(parsed);
|
|
103
104
|
return def;
|
|
104
105
|
}
|
|
106
|
+
// Edges decycle cut, so the guide can still count through them; a clone has none.
|
|
107
|
+
const DECYCLED = new WeakMap();
|
|
108
|
+
function decycledChild(holder, key) {
|
|
109
|
+
const cut = DECYCLED.get(holder)?.get(String(key));
|
|
110
|
+
return undefined === cut ? holder[key] : cut;
|
|
111
|
+
}
|
|
105
112
|
function decycle(root) {
|
|
106
113
|
// Entry path of each node on the current ancestor chain; presence in this
|
|
107
114
|
// map is what identifies a back-edge. Nodes are removed on the way out, so
|
|
@@ -128,6 +135,12 @@ function decycle(root) {
|
|
|
128
135
|
continue;
|
|
129
136
|
const cyclePath = onPath.get(val);
|
|
130
137
|
if (undefined !== cyclePath) {
|
|
138
|
+
let cuts = DECYCLED.get(node);
|
|
139
|
+
if (undefined === cuts) {
|
|
140
|
+
cuts = new Map();
|
|
141
|
+
DECYCLED.set(node, cuts);
|
|
142
|
+
}
|
|
143
|
+
cuts.set(String(key), val);
|
|
131
144
|
node[key] = `[Circular *${cyclePath.join('.')}]`;
|
|
132
145
|
continue;
|
|
133
146
|
}
|
|
@@ -150,59 +163,45 @@ function refSiblings(node) {
|
|
|
150
163
|
}
|
|
151
164
|
return out;
|
|
152
165
|
}
|
|
153
|
-
function addXRefsAndResolve(obj, root, visited) {
|
|
166
|
+
function addXRefsAndResolve(obj, root, visited = new WeakSet(), expanding = new Map()) {
|
|
154
167
|
if (!obj || typeof obj !== 'object')
|
|
155
168
|
return;
|
|
156
|
-
if (!visited)
|
|
157
|
-
visited = new WeakSet();
|
|
158
169
|
if (visited.has(obj))
|
|
159
170
|
return;
|
|
160
171
|
visited.add(obj);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const resolved = resolvePointer(root, xref);
|
|
168
|
-
if (resolved !== undefined) {
|
|
169
|
-
obj[i] = { ...resolved, ...refSiblings(item), 'x-ref': xref };
|
|
170
|
-
addXRefsAndResolve(obj[i], root, visited);
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
item['x-ref'] = xref;
|
|
174
|
-
addXRefsAndResolve(item, root, visited);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
addXRefsAndResolve(item, root, visited);
|
|
179
|
-
}
|
|
172
|
+
const keys = Array.isArray(obj) ? Array.from(obj.keys()) : Object.keys(obj);
|
|
173
|
+
for (const key of keys) {
|
|
174
|
+
const val = obj[key];
|
|
175
|
+
if (val && typeof val === 'object') {
|
|
176
|
+
if (typeof val.$ref === 'string') {
|
|
177
|
+
resolveRefSite(obj, key, root, visited, expanding);
|
|
180
178
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
else {
|
|
184
|
-
for (const key of Object.keys(obj)) {
|
|
185
|
-
const val = obj[key];
|
|
186
|
-
if (val && typeof val === 'object') {
|
|
187
|
-
if (typeof val.$ref === 'string') {
|
|
188
|
-
const xref = val.$ref;
|
|
189
|
-
const resolved = resolvePointer(root, xref);
|
|
190
|
-
if (resolved !== undefined) {
|
|
191
|
-
obj[key] = { ...resolved, ...refSiblings(val), 'x-ref': xref };
|
|
192
|
-
addXRefsAndResolve(obj[key], root, visited);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
val['x-ref'] = xref;
|
|
196
|
-
addXRefsAndResolve(val, root, visited);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
addXRefsAndResolve(val, root, visited);
|
|
201
|
-
}
|
|
179
|
+
else {
|
|
180
|
+
addXRefsAndResolve(val, root, visited, expanding);
|
|
202
181
|
}
|
|
203
182
|
}
|
|
204
183
|
}
|
|
205
184
|
}
|
|
185
|
+
function resolveRefSite(holder, key, root, visited, expanding) {
|
|
186
|
+
const site = holder[key];
|
|
187
|
+
const inProgress = expanding.get(site);
|
|
188
|
+
if (undefined !== inProgress) {
|
|
189
|
+
holder[key] = inProgress;
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const xref = site.$ref;
|
|
193
|
+
const resolved = resolvePointer(root, xref);
|
|
194
|
+
if (resolved === undefined) {
|
|
195
|
+
site['x-ref'] = xref;
|
|
196
|
+
addXRefsAndResolve(site, root, visited, expanding);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const copy = { ...resolved, ...refSiblings(site), 'x-ref': xref };
|
|
200
|
+
holder[key] = copy;
|
|
201
|
+
expanding.set(site, copy);
|
|
202
|
+
addXRefsAndResolve(copy, root, visited, expanding);
|
|
203
|
+
expanding.delete(site);
|
|
204
|
+
}
|
|
206
205
|
function resolvePointer(root, ref) {
|
|
207
206
|
const seen = new Set();
|
|
208
207
|
const siblings = [];
|