@ttsc/graph 0.19.2 → 0.19.3
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/lib/TtscGraphApplication.js +3 -1
- package/lib/TtscGraphApplication.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/model/TtscGraphSession.js +109 -49
- package/lib/model/TtscGraphSession.js.map +1 -1
- package/lib/model/loadGraph.d.ts +14 -0
- package/lib/model/loadGraph.js +114 -66
- package/lib/model/loadGraph.js.map +1 -1
- package/lib/resolveGraphBinary.d.ts +9 -3
- package/lib/resolveGraphBinary.js +9 -3
- package/lib/resolveGraphBinary.js.map +1 -1
- package/lib/server/createServer.js +5 -5
- package/lib/server/resultAudit.d.ts +29 -8
- package/lib/server/resultAudit.js +47 -9
- package/lib/server/resultAudit.js.map +1 -1
- package/lib/server/runDetails.d.ts +7 -0
- package/lib/server/runDetails.js +87 -58
- package/lib/server/runDetails.js.map +1 -1
- package/lib/structures/ITtscGraphApplication.d.ts +8 -7
- package/lib/structures/ITtscGraphDetails.d.ts +18 -8
- package/lib/structures/ITtscGraphNode.d.ts +37 -0
- package/lib/structures/ITtscGraphTour.d.ts +1 -1
- package/package.json +5 -2
- package/src/TtscGraphApplication.ts +4 -1
- package/src/index.ts +1 -0
- package/src/model/TtscGraphSession.ts +27 -0
- package/src/model/loadGraph.ts +6 -1
- package/src/resolveGraphBinary.ts +9 -3
- package/src/server/resultAudit.ts +47 -8
- package/src/server/runDetails.ts +95 -70
- package/src/structures/ITtscGraphApplication.ts +8 -7
- package/src/structures/ITtscGraphDetails.ts +18 -8
- package/src/structures/ITtscGraphNode.ts +40 -0
- package/src/structures/ITtscGraphTour.ts +1 -1
package/lib/model/loadGraph.js
CHANGED
|
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.DUMP_SCHEMA_VERSION = void 0;
|
|
39
40
|
exports.loadGraph = loadGraph;
|
|
40
41
|
const _assertGuard_1 = __importStar(require("typia/lib/internal/_assertGuard"));
|
|
41
42
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -54,8 +55,13 @@ const MAX_DUMP_BYTES = 1024 * 1024 * 1024;
|
|
|
54
55
|
* `packages/ttsc/internal/graph/provenance.go`. The two are hand-synchronized,
|
|
55
56
|
* and `dump_schema_version_matches_the_typescript_client_test.go` reads this
|
|
56
57
|
* constant out of this file and fails if the pair drifts.
|
|
58
|
+
*
|
|
59
|
+
* Exported because the resident session reads the same dump body over the serve
|
|
60
|
+
* protocol and has to hold it to the same number: the envelope's version and the
|
|
61
|
+
* body's are independent, so a producer can speak this protocol and still send a
|
|
62
|
+
* body from another schema.
|
|
57
63
|
*/
|
|
58
|
-
|
|
64
|
+
exports.DUMP_SCHEMA_VERSION = 3;
|
|
59
65
|
/**
|
|
60
66
|
* Build the resident {@link TtscGraphMemory} for a project by running `ttscgraph
|
|
61
67
|
* dump` once and loading its JSON. This is the one-shot path for direct callers
|
|
@@ -114,8 +120,8 @@ function parseDump(json) {
|
|
|
114
120
|
return input => "object" === typeof input && null !== input && _io0(input);
|
|
115
121
|
})()(value) ? value.provenance.schemaVersion
|
|
116
122
|
: undefined;
|
|
117
|
-
if (version !== DUMP_SCHEMA_VERSION) {
|
|
118
|
-
throw new Error(`@ttsc/graph: ttscgraph dump is schema ${version === undefined ? "unknown" : `v${String(version)}`}, this client reads v${String(DUMP_SCHEMA_VERSION)}. ` +
|
|
123
|
+
if (version !== exports.DUMP_SCHEMA_VERSION) {
|
|
124
|
+
throw new Error(`@ttsc/graph: ttscgraph dump is schema ${version === undefined ? "unknown" : `v${String(version)}`}, this client reads v${String(exports.DUMP_SCHEMA_VERSION)}. ` +
|
|
119
125
|
"Install a matching `ttsc` (the binary resolves from the target " +
|
|
120
126
|
"project, or from TTSC_GRAPH_BINARY).");
|
|
121
127
|
}
|
|
@@ -124,7 +130,7 @@ function parseDump(json) {
|
|
|
124
130
|
const _iv0 = new Set(["class", "enum", "external_symbol", "file", "function", "interface", "method", "module", "namespace", "package", "parameter", "property", "type", "variable"]);
|
|
125
131
|
const _ip1 = input => "string" === typeof input["name"];
|
|
126
132
|
const _iv1 = new Set(["abstract", "async", "const", "declare", "default", "export", "optional", "private", "protected", "public", "readonly", "static"]);
|
|
127
|
-
const _ip2 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] &&
|
|
133
|
+
const _ip2 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] && _io12(input["evidence"]);
|
|
128
134
|
const _iv2 = new Set(["accesses", "calls", "contains", "decorates", "dispatches", "exports", "extends", "implements", "imports", "instantiates", "overrides", "renders", "tests", "type_ref"]);
|
|
129
135
|
const _ap0 = (input, _path, _exceptionable = true) => "string" === typeof input["file"] || _assertGuard_1._assertGuard(_exceptionable, {
|
|
130
136
|
method: "typia.assert",
|
|
@@ -147,7 +153,7 @@ function parseDump(json) {
|
|
|
147
153
|
path: _path + ".evidence",
|
|
148
154
|
expected: "(ITtscGraphSpan | undefined)",
|
|
149
155
|
value: input["evidence"]
|
|
150
|
-
}, _errorFactory)) &&
|
|
156
|
+
}, _errorFactory)) && _ao12(input["evidence"], _path + ".evidence", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
151
157
|
method: "typia.assert",
|
|
152
158
|
path: _path + ".evidence",
|
|
153
159
|
expected: "(ITtscGraphSpan | undefined)",
|
|
@@ -180,14 +186,14 @@ function parseDump(json) {
|
|
|
180
186
|
path: _path + ".diagnostics",
|
|
181
187
|
expected: "Array<ITtscGraphDump.IDiagnostic>",
|
|
182
188
|
value: input.diagnostics
|
|
183
|
-
}, _errorFactory)) && input.diagnostics.every((elem,
|
|
189
|
+
}, _errorFactory)) && input.diagnostics.every((elem, _index13) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
184
190
|
method: "typia.assert",
|
|
185
|
-
path: _path + ".diagnostics[" +
|
|
191
|
+
path: _path + ".diagnostics[" + _index13 + "]",
|
|
186
192
|
expected: "ITtscGraphDump.IDiagnostic",
|
|
187
193
|
value: elem
|
|
188
|
-
}, _errorFactory)) && _ao7(elem, _path + ".diagnostics[" +
|
|
194
|
+
}, _errorFactory)) && _ao7(elem, _path + ".diagnostics[" + _index13 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
189
195
|
method: "typia.assert",
|
|
190
|
-
path: _path + ".diagnostics[" +
|
|
196
|
+
path: _path + ".diagnostics[" + _index13 + "]",
|
|
191
197
|
expected: "ITtscGraphDump.IDiagnostic",
|
|
192
198
|
value: elem
|
|
193
199
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -200,14 +206,14 @@ function parseDump(json) {
|
|
|
200
206
|
path: _path + ".nodes",
|
|
201
207
|
expected: "Array<ITtscGraphDump.INode>",
|
|
202
208
|
value: input.nodes
|
|
203
|
-
}, _errorFactory)) && input.nodes.every((elem,
|
|
209
|
+
}, _errorFactory)) && input.nodes.every((elem, _index14) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
204
210
|
method: "typia.assert",
|
|
205
|
-
path: _path + ".nodes[" +
|
|
211
|
+
path: _path + ".nodes[" + _index14 + "]",
|
|
206
212
|
expected: "ITtscGraphDump.INode",
|
|
207
213
|
value: elem
|
|
208
|
-
}, _errorFactory)) && _ao8(elem, _path + ".nodes[" +
|
|
214
|
+
}, _errorFactory)) && _ao8(elem, _path + ".nodes[" + _index14 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
209
215
|
method: "typia.assert",
|
|
210
|
-
path: _path + ".nodes[" +
|
|
216
|
+
path: _path + ".nodes[" + _index14 + "]",
|
|
211
217
|
expected: "ITtscGraphDump.INode",
|
|
212
218
|
value: elem
|
|
213
219
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -220,14 +226,14 @@ function parseDump(json) {
|
|
|
220
226
|
path: _path + ".edges",
|
|
221
227
|
expected: "Array<ITtscGraphDump.IEdge>",
|
|
222
228
|
value: input.edges
|
|
223
|
-
}, _errorFactory)) && input.edges.every((elem,
|
|
229
|
+
}, _errorFactory)) && input.edges.every((elem, _index15) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
224
230
|
method: "typia.assert",
|
|
225
|
-
path: _path + ".edges[" +
|
|
231
|
+
path: _path + ".edges[" + _index15 + "]",
|
|
226
232
|
expected: "ITtscGraphDump.IEdge",
|
|
227
233
|
value: elem
|
|
228
|
-
}, _errorFactory)) &&
|
|
234
|
+
}, _errorFactory)) && _ao13(elem, _path + ".edges[" + _index15 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
229
235
|
method: "typia.assert",
|
|
230
|
-
path: _path + ".edges[" +
|
|
236
|
+
path: _path + ".edges[" + _index15 + "]",
|
|
231
237
|
expected: "ITtscGraphDump.IEdge",
|
|
232
238
|
value: elem
|
|
233
239
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -246,9 +252,9 @@ function parseDump(json) {
|
|
|
246
252
|
path: _path + ".capabilities",
|
|
247
253
|
expected: "Array<string>",
|
|
248
254
|
value: input.capabilities
|
|
249
|
-
}, _errorFactory)) && input.capabilities.every((elem,
|
|
255
|
+
}, _errorFactory)) && input.capabilities.every((elem, _index16) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
250
256
|
method: "typia.assert",
|
|
251
|
-
path: _path + ".capabilities[" +
|
|
257
|
+
path: _path + ".capabilities[" + _index16 + "]",
|
|
252
258
|
expected: "string",
|
|
253
259
|
value: elem
|
|
254
260
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -281,14 +287,14 @@ function parseDump(json) {
|
|
|
281
287
|
path: _path + ".sources",
|
|
282
288
|
expected: "Array<ITtscGraphDump.ISourceDigest>",
|
|
283
289
|
value: input.sources
|
|
284
|
-
}, _errorFactory)) && input.sources.every((elem,
|
|
290
|
+
}, _errorFactory)) && input.sources.every((elem, _index17) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
285
291
|
method: "typia.assert",
|
|
286
|
-
path: _path + ".sources[" +
|
|
292
|
+
path: _path + ".sources[" + _index17 + "]",
|
|
287
293
|
expected: "ITtscGraphDump.ISourceDigest",
|
|
288
294
|
value: elem
|
|
289
|
-
}, _errorFactory)) && _ao6(elem, _path + ".sources[" +
|
|
295
|
+
}, _errorFactory)) && _ao6(elem, _path + ".sources[" + _index17 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
290
296
|
method: "typia.assert",
|
|
291
|
-
path: _path + ".sources[" +
|
|
297
|
+
path: _path + ".sources[" + _index17 + "]",
|
|
292
298
|
expected: "ITtscGraphDump.ISourceDigest",
|
|
293
299
|
value: elem
|
|
294
300
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -297,13 +303,34 @@ function parseDump(json) {
|
|
|
297
303
|
expected: "Array<ITtscGraphDump.ISourceDigest>",
|
|
298
304
|
value: input.sources
|
|
299
305
|
}, _errorFactory));
|
|
300
|
-
const _ao10 = (input, _path, _exceptionable = true) =>
|
|
306
|
+
const _ao10 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && ((Array.isArray(input.arguments) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
307
|
+
method: "typia.assert",
|
|
308
|
+
path: _path + ".arguments",
|
|
309
|
+
expected: "Array<ITtscGraphDecorator.IArgument>",
|
|
310
|
+
value: input.arguments
|
|
311
|
+
}, _errorFactory)) && input.arguments.every((elem, _index24) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
312
|
+
method: "typia.assert",
|
|
313
|
+
path: _path + ".arguments[" + _index24 + "]",
|
|
314
|
+
expected: "ITtscGraphDecorator.IArgument",
|
|
315
|
+
value: elem
|
|
316
|
+
}, _errorFactory)) && _ao11(elem, _path + ".arguments[" + _index24 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
317
|
+
method: "typia.assert",
|
|
318
|
+
path: _path + ".arguments[" + _index24 + "]",
|
|
319
|
+
expected: "ITtscGraphDecorator.IArgument",
|
|
320
|
+
value: elem
|
|
321
|
+
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
322
|
+
method: "typia.assert",
|
|
323
|
+
path: _path + ".arguments",
|
|
324
|
+
expected: "Array<ITtscGraphDecorator.IArgument>",
|
|
325
|
+
value: input.arguments
|
|
326
|
+
}, _errorFactory));
|
|
327
|
+
const _ao11 = (input, _path, _exceptionable = true) => undefined === input.literal || "string" === typeof input.literal || "number" === typeof input.literal || "boolean" === typeof input.literal || _assertGuard_1._assertGuard(_exceptionable, {
|
|
301
328
|
method: "typia.assert",
|
|
302
329
|
path: _path + ".literal",
|
|
303
330
|
expected: "(boolean | number | string | undefined)",
|
|
304
331
|
value: input.literal
|
|
305
332
|
}, _errorFactory);
|
|
306
|
-
const
|
|
333
|
+
const _ao12 = (input, _path, _exceptionable = true) => (undefined === input.file || "string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
|
|
307
334
|
method: "typia.assert",
|
|
308
335
|
path: _path + ".file",
|
|
309
336
|
expected: "(string | undefined)",
|
|
@@ -329,7 +356,7 @@ function parseDump(json) {
|
|
|
329
356
|
expected: "(number | undefined)",
|
|
330
357
|
value: input.endCol
|
|
331
358
|
}, _errorFactory));
|
|
332
|
-
const
|
|
359
|
+
const _ao13 = (input, _path, _exceptionable = true) => ("string" === typeof input.from || _assertGuard_1._assertGuard(_exceptionable, {
|
|
333
360
|
method: "typia.assert",
|
|
334
361
|
path: _path + ".from",
|
|
335
362
|
expected: "string",
|
|
@@ -366,14 +393,14 @@ function parseDump(json) {
|
|
|
366
393
|
path: _path + ".configs",
|
|
367
394
|
expected: "Array<ITtscGraphDump.IFileDigest>",
|
|
368
395
|
value: input.configs
|
|
369
|
-
}, _errorFactory)) && input.configs.every((elem,
|
|
396
|
+
}, _errorFactory)) && input.configs.every((elem, _index18) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
370
397
|
method: "typia.assert",
|
|
371
|
-
path: _path + ".configs[" +
|
|
398
|
+
path: _path + ".configs[" + _index18 + "]",
|
|
372
399
|
expected: "ITtscGraphDump.IFileDigest",
|
|
373
400
|
value: elem
|
|
374
|
-
}, _errorFactory)) && _ao4(elem, _path + ".configs[" +
|
|
401
|
+
}, _errorFactory)) && _ao4(elem, _path + ".configs[" + _index18 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
375
402
|
method: "typia.assert",
|
|
376
|
-
path: _path + ".configs[" +
|
|
403
|
+
path: _path + ".configs[" + _index18 + "]",
|
|
377
404
|
expected: "ITtscGraphDump.IFileDigest",
|
|
378
405
|
value: elem
|
|
379
406
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -386,14 +413,14 @@ function parseDump(json) {
|
|
|
386
413
|
path: _path + ".roots",
|
|
387
414
|
expected: "Array<ITtscGraphDump.IRootFile>",
|
|
388
415
|
value: input.roots
|
|
389
|
-
}, _errorFactory)) && input.roots.every((elem,
|
|
416
|
+
}, _errorFactory)) && input.roots.every((elem, _index19) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
390
417
|
method: "typia.assert",
|
|
391
|
-
path: _path + ".roots[" +
|
|
418
|
+
path: _path + ".roots[" + _index19 + "]",
|
|
392
419
|
expected: "ITtscGraphDump.IRootFile",
|
|
393
420
|
value: elem
|
|
394
|
-
}, _errorFactory)) && _ao5(elem, _path + ".roots[" +
|
|
421
|
+
}, _errorFactory)) && _ao5(elem, _path + ".roots[" + _index19 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
395
422
|
method: "typia.assert",
|
|
396
|
-
path: _path + ".roots[" +
|
|
423
|
+
path: _path + ".roots[" + _index19 + "]",
|
|
397
424
|
expected: "ITtscGraphDump.IRootFile",
|
|
398
425
|
value: elem
|
|
399
426
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -491,9 +518,9 @@ function parseDump(json) {
|
|
|
491
518
|
path: _path + ".modifiers",
|
|
492
519
|
expected: "(Array<TtscGraphNodeModifier> | undefined)",
|
|
493
520
|
value: input.modifiers
|
|
494
|
-
}, _errorFactory)) && input.modifiers.every((elem,
|
|
521
|
+
}, _errorFactory)) && input.modifiers.every((elem, _index20) => true === _av1.has(elem) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
495
522
|
method: "typia.assert",
|
|
496
|
-
path: _path + ".modifiers[" +
|
|
523
|
+
path: _path + ".modifiers[" + _index20 + "]",
|
|
497
524
|
expected: _ae1,
|
|
498
525
|
value: elem
|
|
499
526
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -501,19 +528,54 @@ function parseDump(json) {
|
|
|
501
528
|
path: _path + ".modifiers",
|
|
502
529
|
expected: "(Array<TtscGraphNodeModifier> | undefined)",
|
|
503
530
|
value: input.modifiers
|
|
531
|
+
}, _errorFactory)) && (undefined === input.literals || (Array.isArray(input.literals) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
532
|
+
method: "typia.assert",
|
|
533
|
+
path: _path + ".literals",
|
|
534
|
+
expected: "(Array<string> | undefined)",
|
|
535
|
+
value: input.literals
|
|
536
|
+
}, _errorFactory)) && input.literals.every((elem, _index21) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
537
|
+
method: "typia.assert",
|
|
538
|
+
path: _path + ".literals[" + _index21 + "]",
|
|
539
|
+
expected: "string",
|
|
540
|
+
value: elem
|
|
541
|
+
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
542
|
+
method: "typia.assert",
|
|
543
|
+
path: _path + ".literals",
|
|
544
|
+
expected: "(Array<string> | undefined)",
|
|
545
|
+
value: input.literals
|
|
546
|
+
}, _errorFactory)) && (undefined === input.enumMembers || (Array.isArray(input.enumMembers) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
547
|
+
method: "typia.assert",
|
|
548
|
+
path: _path + ".enumMembers",
|
|
549
|
+
expected: "(Array<ITtscGraphNode.IEnumMember> | undefined)",
|
|
550
|
+
value: input.enumMembers
|
|
551
|
+
}, _errorFactory)) && input.enumMembers.every((elem, _index22) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
552
|
+
method: "typia.assert",
|
|
553
|
+
path: _path + ".enumMembers[" + _index22 + "]",
|
|
554
|
+
expected: "ITtscGraphNode.IEnumMember",
|
|
555
|
+
value: elem
|
|
556
|
+
}, _errorFactory)) && _ao9(elem, _path + ".enumMembers[" + _index22 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
557
|
+
method: "typia.assert",
|
|
558
|
+
path: _path + ".enumMembers[" + _index22 + "]",
|
|
559
|
+
expected: "ITtscGraphNode.IEnumMember",
|
|
560
|
+
value: elem
|
|
561
|
+
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
562
|
+
method: "typia.assert",
|
|
563
|
+
path: _path + ".enumMembers",
|
|
564
|
+
expected: "(Array<ITtscGraphNode.IEnumMember> | undefined)",
|
|
565
|
+
value: input.enumMembers
|
|
504
566
|
}, _errorFactory)) && (undefined === input.decorators || (Array.isArray(input.decorators) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
505
567
|
method: "typia.assert",
|
|
506
568
|
path: _path + ".decorators",
|
|
507
569
|
expected: "(Array<ITtscGraphDecorator> | undefined)",
|
|
508
570
|
value: input.decorators
|
|
509
|
-
}, _errorFactory)) && input.decorators.every((elem,
|
|
571
|
+
}, _errorFactory)) && input.decorators.every((elem, _index23) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
|
|
510
572
|
method: "typia.assert",
|
|
511
|
-
path: _path + ".decorators[" +
|
|
573
|
+
path: _path + ".decorators[" + _index23 + "]",
|
|
512
574
|
expected: "ITtscGraphDecorator",
|
|
513
575
|
value: elem
|
|
514
|
-
}, _errorFactory)) &&
|
|
576
|
+
}, _errorFactory)) && _ao10(elem, _path + ".decorators[" + _index23 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
515
577
|
method: "typia.assert",
|
|
516
|
-
path: _path + ".decorators[" +
|
|
578
|
+
path: _path + ".decorators[" + _index23 + "]",
|
|
517
579
|
expected: "ITtscGraphDecorator",
|
|
518
580
|
value: elem
|
|
519
581
|
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -526,46 +588,32 @@ function parseDump(json) {
|
|
|
526
588
|
path: _path + ".implementation",
|
|
527
589
|
expected: "(ITtscGraphSpan | undefined)",
|
|
528
590
|
value: input.implementation
|
|
529
|
-
}, _errorFactory)) &&
|
|
591
|
+
}, _errorFactory)) && _ao12(input.implementation, _path + ".implementation", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
530
592
|
method: "typia.assert",
|
|
531
593
|
path: _path + ".implementation",
|
|
532
594
|
expected: "(ITtscGraphSpan | undefined)",
|
|
533
595
|
value: input.implementation
|
|
534
596
|
}, _errorFactory));
|
|
535
|
-
const _ao9 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && (
|
|
536
|
-
method: "typia.assert",
|
|
537
|
-
path: _path + ".arguments",
|
|
538
|
-
expected: "Array<ITtscGraphDecorator.IArgument>",
|
|
539
|
-
value: input.arguments
|
|
540
|
-
}, _errorFactory)) && input.arguments.every((elem, _index20) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
597
|
+
const _ao9 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && (undefined === input.value || "string" === typeof input.value || _assertGuard_1._assertGuard(_exceptionable, {
|
|
541
598
|
method: "typia.assert",
|
|
542
|
-
path: _path + ".
|
|
543
|
-
expected: "
|
|
544
|
-
value:
|
|
545
|
-
}, _errorFactory)) && _ao10(elem, _path + ".arguments[" + _index20 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
546
|
-
method: "typia.assert",
|
|
547
|
-
path: _path + ".arguments[" + _index20 + "]",
|
|
548
|
-
expected: "ITtscGraphDecorator.IArgument",
|
|
549
|
-
value: elem
|
|
550
|
-
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
551
|
-
method: "typia.assert",
|
|
552
|
-
path: _path + ".arguments",
|
|
553
|
-
expected: "Array<ITtscGraphDecorator.IArgument>",
|
|
554
|
-
value: input.arguments
|
|
599
|
+
path: _path + ".value",
|
|
600
|
+
expected: "(string | undefined)",
|
|
601
|
+
value: input.value
|
|
555
602
|
}, _errorFactory));
|
|
556
|
-
const _io0 = input => "string" === typeof input.project && "string" === typeof input.tsconfig && ("object" === typeof input.provenance && null !== input.provenance && _io1(input.provenance)) && (Array.isArray(input.diagnostics) && input.diagnostics.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.nodes) && input.nodes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (Array.isArray(input.edges) && input.edges.every(elem => "object" === typeof elem && null !== elem &&
|
|
603
|
+
const _io0 = input => "string" === typeof input.project && "string" === typeof input.tsconfig && ("object" === typeof input.provenance && null !== input.provenance && _io1(input.provenance)) && (Array.isArray(input.diagnostics) && input.diagnostics.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.nodes) && input.nodes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (Array.isArray(input.edges) && input.edges.every(elem => "object" === typeof elem && null !== elem && _io13(elem)));
|
|
557
604
|
const _io1 = input => "number" === typeof input.schemaVersion && (Array.isArray(input.capabilities) && input.capabilities.every(elem => "string" === typeof elem)) && ("object" === typeof input.producer && null !== input.producer && _io2(input.producer)) && ("object" === typeof input.universe && null !== input.universe && _io3(input.universe)) && (Array.isArray(input.sources) && input.sources.every(elem => "object" === typeof elem && null !== elem && _io6(elem)));
|
|
558
|
-
const _io10 = input =>
|
|
559
|
-
const _io11 = input =>
|
|
560
|
-
const _io12 = input => "string" === typeof input.
|
|
605
|
+
const _io10 = input => _ip1(input) && (Array.isArray(input.arguments) && input.arguments.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _io11(elem)));
|
|
606
|
+
const _io11 = input => undefined === input.literal || "string" === typeof input.literal || "number" === typeof input.literal || "boolean" === typeof input.literal;
|
|
607
|
+
const _io12 = input => (undefined === input.file || "string" === typeof input.file) && "number" === typeof input.startLine && (undefined === input.startCol || "number" === typeof input.startCol) && (undefined === input.endLine || "number" === typeof input.endLine) && (undefined === input.endCol || "number" === typeof input.endCol);
|
|
608
|
+
const _io13 = input => "string" === typeof input.from && "string" === typeof input.to && true === _iv2.has(input.kind) && _ip2(input);
|
|
561
609
|
const _io2 = input => "string" === typeof input.tool && "string" === typeof input.version && "string" === typeof input.typescript;
|
|
562
610
|
const _io3 = input => Array.isArray(input.configs) && input.configs.every(elem => "object" === typeof elem && null !== elem && _io4(elem)) && (Array.isArray(input.roots) && input.roots.every(elem => "object" === typeof elem && null !== elem && _io5(elem)));
|
|
563
611
|
const _io4 = input => _ip0(input) && "string" === typeof input.digest;
|
|
564
612
|
const _io5 = input => "string" === typeof input.config && _ip0(input);
|
|
565
613
|
const _io6 = input => _ip0(input) && "string" === typeof input.checkerDigest && "string" === typeof input.diskDigest;
|
|
566
614
|
const _io7 = input => _ip0(input) && "number" === typeof input.line && "number" === typeof input.column && "number" === typeof input.code && ("error" === input.category || "warning" === input.category) && "string" === typeof input.message;
|
|
567
|
-
const _io8 = input => "string" === typeof input.id && true === _iv0.has(input.kind) && _ip1(input) && (undefined === input.qualifiedName || "string" === typeof input.qualifiedName) && _ip0(input) && "boolean" === typeof input.external && (undefined === input.ignored || "boolean" === typeof input.ignored) && (undefined === input.exported || "boolean" === typeof input.exported) && (undefined === input.closure || "boolean" === typeof input.closure) && (undefined === input.modifiers || Array.isArray(input.modifiers) && input.modifiers.every(elem => true === _iv1.has(elem))) && (undefined === input.decorators || Array.isArray(input.decorators) && input.decorators.every(elem => "object" === typeof elem && null !== elem &&
|
|
568
|
-
const _io9 = input => _ip1(input) && (
|
|
615
|
+
const _io8 = input => "string" === typeof input.id && true === _iv0.has(input.kind) && _ip1(input) && (undefined === input.qualifiedName || "string" === typeof input.qualifiedName) && _ip0(input) && "boolean" === typeof input.external && (undefined === input.ignored || "boolean" === typeof input.ignored) && (undefined === input.exported || "boolean" === typeof input.exported) && (undefined === input.closure || "boolean" === typeof input.closure) && (undefined === input.modifiers || Array.isArray(input.modifiers) && input.modifiers.every(elem => true === _iv1.has(elem))) && (undefined === input.literals || Array.isArray(input.literals) && input.literals.every(elem => "string" === typeof elem)) && (undefined === input.enumMembers || Array.isArray(input.enumMembers) && input.enumMembers.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && (undefined === input.decorators || Array.isArray(input.decorators) && input.decorators.every(elem => "object" === typeof elem && null !== elem && _io10(elem))) && _ip2(input) && (undefined === input.implementation || "object" === typeof input.implementation && null !== input.implementation && _io12(input.implementation));
|
|
616
|
+
const _io9 = input => _ip1(input) && (undefined === input.value || "string" === typeof input.value);
|
|
569
617
|
const __is = input => "object" === typeof input && null !== input && _io0(input);
|
|
570
618
|
let _errorFactory;
|
|
571
619
|
return (input, errorFactory) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadGraph.js","sourceRoot":"","sources":["../../src/model/loadGraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadGraph.js","sourceRoot":"","sources":["../../src/model/loadGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* Resolve the per-platform `ttscgraph` binary, or `null` when it cannot be
|
|
3
3
|
* located.
|
|
4
4
|
*
|
|
5
|
-
* `ttsc` is a peer
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `ttsc` is a peer dependency pinned to this package's own version, installed
|
|
6
|
+
* alongside `@ttsc/graph` in the user's project rather than nested under this
|
|
7
|
+
* launcher, so resolution starts from the user's project, not from this
|
|
8
|
+
* package's own tree.
|
|
9
|
+
*
|
|
10
|
+
* The pin is what keeps the two halves of the graph in step. `literals` and the
|
|
11
|
+
* rest of the node facts are resolved by the Go builder and ride the dump, so a
|
|
12
|
+
* newer `@ttsc/graph` reading an older `ttscgraph` would find those fields
|
|
13
|
+
* simply absent and answer from a graph missing facts it believes are there.
|
|
8
14
|
*
|
|
9
15
|
* Resolution order:
|
|
10
16
|
*
|
|
@@ -10,9 +10,15 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
10
10
|
* Resolve the per-platform `ttscgraph` binary, or `null` when it cannot be
|
|
11
11
|
* located.
|
|
12
12
|
*
|
|
13
|
-
* `ttsc` is a peer
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* `ttsc` is a peer dependency pinned to this package's own version, installed
|
|
14
|
+
* alongside `@ttsc/graph` in the user's project rather than nested under this
|
|
15
|
+
* launcher, so resolution starts from the user's project, not from this
|
|
16
|
+
* package's own tree.
|
|
17
|
+
*
|
|
18
|
+
* The pin is what keeps the two halves of the graph in step. `literals` and the
|
|
19
|
+
* rest of the node facts are resolved by the Go builder and ride the dump, so a
|
|
20
|
+
* newer `@ttsc/graph` reading an older `ttscgraph` would find those fields
|
|
21
|
+
* simply absent and answer from a graph missing facts it believes are there.
|
|
16
22
|
*
|
|
17
23
|
* Resolution order:
|
|
18
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveGraphBinary.js","sourceRoot":"","sources":["../src/resolveGraphBinary.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,0DAA6B;AAE7B
|
|
1
|
+
{"version":3,"file":"resolveGraphBinary.js","sourceRoot":"","sources":["../src/resolveGraphBinary.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,0DAA6B;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,4BACE,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,GAAG,CAAC,iBAAiB,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;IACzE,IAAI,CAAC;QACH,2EAA2E;QAC3E,0DAA0D;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAC3D,KAAK,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,eAAe,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,OAAO,CACrB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,GAAG,EAAE,CACvD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -78,7 +78,7 @@ function createServer(graph, version) {
|
|
|
78
78
|
properties: {
|
|
79
79
|
audit: {
|
|
80
80
|
type: "string",
|
|
81
|
-
description: "What the server audited this result against before returning it, in its\nown words: every node, span, edge, signature, member, and step in it\nresolves to the type-checked program for the snapshot the call synced to,\nso opening a file it cites only returns a fact already in it.\n\nThe audit is operation-aware. For the
|
|
81
|
+
description: "What the server audited this result against before returning it, in its\nown words: every node, span, edge, signature, member, and step in it\nresolves to the type-checked program for the snapshot the call synced to,\nso opening a file it cites only returns a fact already in it.\n\nThe audit is operation-aware. For the walks from a named handle (`trace`,\n`overview`) it reports the result as the structure the graph holds,\nbounded where `truncated` says. For `details` it reports the two halves of\na resolved symbol: its own shape returned whole, its fan-out returned as a\nslice with `trace` for the rest. For the ranked operations (`lookup`,\n`entrypoints`, `tour`) it adds that the selection is heuristic \u2014 matched,\nscored, ranked, and limited against the question \u2014 so the facts are\nverified but the shortlist's coverage is the caller's to judge."
|
|
82
82
|
},
|
|
83
83
|
next: {
|
|
84
84
|
$ref: "#/$defs/ITtscGraphNext",
|
|
@@ -372,7 +372,7 @@ function createServer(graph, version) {
|
|
|
372
372
|
items: {
|
|
373
373
|
type: "string"
|
|
374
374
|
},
|
|
375
|
-
description: "
|
|
375
|
+
description: "The complete value set a type alias or enum admits, in TypeScript source\nform (`\"a\"`, `1`, `true`, `null`) \u2014 the checker's resolved union members,\nnot the quoted tokens that happened to fit in `signature`.\n\nAbsent when the type has no enumerable value set. A `signature` is capped\nat the declaration head, so for a union or enum written across several\nlines this is the field that carries the members."
|
|
376
376
|
},
|
|
377
377
|
members: {
|
|
378
378
|
type: "array",
|
|
@@ -1679,15 +1679,15 @@ function createServer(graph, version) {
|
|
|
1679
1679
|
},
|
|
1680
1680
|
neighborLimit: {
|
|
1681
1681
|
type: "number",
|
|
1682
|
-
description: "
|
|
1682
|
+
description: "Dependencies and dependents per side when `neighbors:true`. A small\norientation slice by default; what uses a symbol grows with its\npopularity, so `trace` answers the whole \"who uses this\"."
|
|
1683
1683
|
},
|
|
1684
1684
|
memberLimit: {
|
|
1685
1685
|
type: "number",
|
|
1686
|
-
description: "
|
|
1686
|
+
description: "Owned members for a container or object literal. The complete outline by\ndefault \u2014 a class's members and an enum's are the symbol itself, so they\nare not sampled. Pass a number to cap."
|
|
1687
1687
|
},
|
|
1688
1688
|
dependencyLimit: {
|
|
1689
1689
|
type: "number",
|
|
1690
|
-
description: "
|
|
1690
|
+
description: "Direct execution and type references per group. A small orientation slice\nby default; `trace` follows the whole fan-out."
|
|
1691
1691
|
},
|
|
1692
1692
|
includeExternal: {
|
|
1693
1693
|
type: "boolean",
|
|
@@ -47,14 +47,18 @@
|
|
|
47
47
|
* payload, and told it to stop where the shortlist's coverage was exactly what
|
|
48
48
|
* needed judging.
|
|
49
49
|
*
|
|
50
|
-
* So
|
|
51
|
-
* from an explicit handle or structure (`trace`, `
|
|
52
|
-
* result is what the graph holds for what you named, bounded
|
|
53
|
-
* `truncated` says. {@link
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
50
|
+
* So the audits split by what the reader must judge. {@link RESULT_AUDIT}
|
|
51
|
+
* covers the walks from an explicit handle or structure (`trace`, `overview`):
|
|
52
|
+
* the result is what the graph holds for what you named, bounded where
|
|
53
|
+
* `truncated` says. {@link RESULT_AUDIT_DETAILS} covers `details`, whose result
|
|
54
|
+
* is not one bounded whole but two halves — a symbol's own shape, returned
|
|
55
|
+
* complete, and its fan-out, returned as a slice with `trace` for the rest — so
|
|
56
|
+
* it names which half to trust outright and which to follow. {@link
|
|
57
|
+
* RESULT_AUDIT_SELECTION} covers the ranked shortlists (`lookup`, `entrypoints`,
|
|
58
|
+
* `tour`): it keeps the same fact-verification and adds that the _selection_ is
|
|
59
|
+
* heuristic, so whether the shortlist covers the question is the caller's to
|
|
60
|
+
* judge — and a follow-up request or a read of a cited span is a sound next
|
|
61
|
+
* step, not a failure to trust the result.
|
|
58
62
|
*
|
|
59
63
|
* Keep both narrow, and keep the stop-or-continue decision with the result's
|
|
60
64
|
* `next`, so neither contradicts a partial result that legitimately asks for
|
|
@@ -70,5 +74,22 @@ export declare const RESULT_AUDIT: string;
|
|
|
70
74
|
* many — is heuristic, so coverage is the caller's to judge.
|
|
71
75
|
*/
|
|
72
76
|
export declare const RESULT_AUDIT_SELECTION: string;
|
|
77
|
+
/**
|
|
78
|
+
* The audit for `details`, whose contract is not the other exact operations'.
|
|
79
|
+
*
|
|
80
|
+
* `trace` walks and marks where the walk was cut with `truncated`; `details`
|
|
81
|
+
* does not walk. It resolves a named handle, and its result splits in two. What
|
|
82
|
+
* a symbol *is* — its members, its values, its signature — is bounded by the
|
|
83
|
+
* declaration and returned whole, so the old "trust it, do not open the file"
|
|
84
|
+
* is finally true of it rather than contradicted by a capped member list. What
|
|
85
|
+
* a symbol *reaches or is reached by* — its calls, its type references, its
|
|
86
|
+
* implementers, its dependents — is bounded by how widely it is used, not by
|
|
87
|
+
* the symbol, so returning it whole is a `trace`/impact answer of a thousand
|
|
88
|
+
* refs in a "what is this" call. That half is a short orientation slice, and
|
|
89
|
+
* the audit has to say which half is which so the reader trusts the complete
|
|
90
|
+
* one and reaches for `trace` on the other, instead of reading the file for a
|
|
91
|
+
* member list that is already here.
|
|
92
|
+
*/
|
|
93
|
+
export declare const RESULT_AUDIT_DETAILS: string;
|
|
73
94
|
/** The escape branch carries no graph facts, so it claims none. */
|
|
74
95
|
export declare const RESULT_AUDIT_ESCAPE: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AUDIT = void 0;
|
|
3
|
+
exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_DETAILS = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AUDIT = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The audit stamped as the first property of every
|
|
6
6
|
* {@link ITtscGraphApplication.IOutput}. Because it serializes before `result`,
|
|
@@ -50,14 +50,18 @@ exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AU
|
|
|
50
50
|
* payload, and told it to stop where the shortlist's coverage was exactly what
|
|
51
51
|
* needed judging.
|
|
52
52
|
*
|
|
53
|
-
* So
|
|
54
|
-
* from an explicit handle or structure (`trace`, `
|
|
55
|
-
* result is what the graph holds for what you named, bounded
|
|
56
|
-
* `truncated` says. {@link
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
53
|
+
* So the audits split by what the reader must judge. {@link RESULT_AUDIT}
|
|
54
|
+
* covers the walks from an explicit handle or structure (`trace`, `overview`):
|
|
55
|
+
* the result is what the graph holds for what you named, bounded where
|
|
56
|
+
* `truncated` says. {@link RESULT_AUDIT_DETAILS} covers `details`, whose result
|
|
57
|
+
* is not one bounded whole but two halves — a symbol's own shape, returned
|
|
58
|
+
* complete, and its fan-out, returned as a slice with `trace` for the rest — so
|
|
59
|
+
* it names which half to trust outright and which to follow. {@link
|
|
60
|
+
* RESULT_AUDIT_SELECTION} covers the ranked shortlists (`lookup`, `entrypoints`,
|
|
61
|
+
* `tour`): it keeps the same fact-verification and adds that the _selection_ is
|
|
62
|
+
* heuristic, so whether the shortlist covers the question is the caller's to
|
|
63
|
+
* judge — and a follow-up request or a read of a cited span is a sound next
|
|
64
|
+
* step, not a failure to trust the result.
|
|
61
65
|
*
|
|
62
66
|
* Keep both narrow, and keep the stop-or-continue decision with the result's
|
|
63
67
|
* `next`, so neither contradicts a partial result that legitimately asks for
|
|
@@ -105,6 +109,40 @@ span is a sound next step, not a failure to trust the result.
|
|
|
105
109
|
|
|
106
110
|
Follow \`next\` for where that leaves the question.
|
|
107
111
|
`.trim();
|
|
112
|
+
/**
|
|
113
|
+
* The audit for `details`, whose contract is not the other exact operations'.
|
|
114
|
+
*
|
|
115
|
+
* `trace` walks and marks where the walk was cut with `truncated`; `details`
|
|
116
|
+
* does not walk. It resolves a named handle, and its result splits in two. What
|
|
117
|
+
* a symbol *is* — its members, its values, its signature — is bounded by the
|
|
118
|
+
* declaration and returned whole, so the old "trust it, do not open the file"
|
|
119
|
+
* is finally true of it rather than contradicted by a capped member list. What
|
|
120
|
+
* a symbol *reaches or is reached by* — its calls, its type references, its
|
|
121
|
+
* implementers, its dependents — is bounded by how widely it is used, not by
|
|
122
|
+
* the symbol, so returning it whole is a `trace`/impact answer of a thousand
|
|
123
|
+
* refs in a "what is this" call. That half is a short orientation slice, and
|
|
124
|
+
* the audit has to say which half is which so the reader trusts the complete
|
|
125
|
+
* one and reaches for `trace` on the other, instead of reading the file for a
|
|
126
|
+
* member list that is already here.
|
|
127
|
+
*/
|
|
128
|
+
exports.RESULT_AUDIT_DETAILS = `
|
|
129
|
+
AUDITED BEFORE RETURNING. READ FIRST.
|
|
130
|
+
|
|
131
|
+
The server assembled this \`result\`, then checked it: every fact in it — each name, span,
|
|
132
|
+
edge, signature, member, and value — was taken back to the type-checked program for the
|
|
133
|
+
snapshot this call synced to, and resolved there, so for this snapshot a fact here cannot be
|
|
134
|
+
wrong.
|
|
135
|
+
|
|
136
|
+
This is the structure the graph holds for the handles you named. What a symbol is — its
|
|
137
|
+
members, its values, its signature — is complete: trust it and do not open the file to read
|
|
138
|
+
what is already here. What a symbol reaches or is reached by — its calls, its type
|
|
139
|
+
references, its implementers, and under \`neighbors\` its dependents — is a short orientation
|
|
140
|
+
slice, not the whole set, because that grows with how widely a symbol is used; \`trace\`
|
|
141
|
+
follows it in full.
|
|
142
|
+
|
|
143
|
+
Follow \`next\`: answer from this result, and re-call the graph only when it says inspect, or
|
|
144
|
+
after you edit the source.
|
|
145
|
+
`.trim();
|
|
108
146
|
/** The escape branch carries no graph facts, so it claims none. */
|
|
109
147
|
exports.RESULT_AUDIT_ESCAPE = "This escape carries no graph facts to audit.";
|
|
110
148
|
//# sourceMappingURL=resultAudit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resultAudit.js","sourceRoot":"","sources":["../../src/server/resultAudit.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"resultAudit.js","sourceRoot":"","sources":["../../src/server/resultAudit.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACU,QAAA,YAAY,GAAW;;;;;;;;;;;;;;;CAenC,CAAC,IAAI,EAAE,CAAC;AAET;;;;;GAKG;AACU,QAAA,sBAAsB,GAAW;;;;;;;;;;;;;;;;;CAiB7C,CAAC,IAAI,EAAE,CAAC;AAET;;;;;;;;;;;;;;;GAeG;AACU,QAAA,oBAAoB,GAAW;;;;;;;;;;;;;;;;;CAiB3C,CAAC,IAAI,EAAE,CAAC;AAET,mEAAmE;AACtD,QAAA,mBAAmB,GAC9B,8CAA8C,CAAC"}
|