@ttsc/graph 0.19.1 → 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.
Files changed (46) hide show
  1. package/lib/TtscGraphApplication.js +3 -1
  2. package/lib/TtscGraphApplication.js.map +1 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/index.js +2 -1
  5. package/lib/index.js.map +1 -1
  6. package/lib/model/TtscGraphSession.js +509 -162
  7. package/lib/model/TtscGraphSession.js.map +1 -1
  8. package/lib/model/loadGraph.d.ts +14 -0
  9. package/lib/model/loadGraph.js +382 -101
  10. package/lib/model/loadGraph.js.map +1 -1
  11. package/lib/resolveGraphBinary.d.ts +9 -3
  12. package/lib/resolveGraphBinary.js +9 -3
  13. package/lib/resolveGraphBinary.js.map +1 -1
  14. package/lib/server/createServer.js +5 -5
  15. package/lib/server/resultAudit.d.ts +29 -8
  16. package/lib/server/resultAudit.js +47 -9
  17. package/lib/server/resultAudit.js.map +1 -1
  18. package/lib/server/runDetails.d.ts +7 -0
  19. package/lib/server/runDetails.js +87 -58
  20. package/lib/server/runDetails.js.map +1 -1
  21. package/lib/structures/ITtscGraphApplication.d.ts +8 -7
  22. package/lib/structures/ITtscGraphDetails.d.ts +18 -8
  23. package/lib/structures/ITtscGraphDump.d.ts +169 -6
  24. package/lib/structures/ITtscGraphNode.d.ts +37 -0
  25. package/lib/structures/ITtscGraphSnapshot.d.ts +55 -0
  26. package/lib/structures/ITtscGraphSnapshot.js +3 -0
  27. package/lib/structures/ITtscGraphSnapshot.js.map +1 -0
  28. package/lib/structures/ITtscGraphTour.d.ts +1 -1
  29. package/lib/structures/index.d.ts +1 -0
  30. package/lib/structures/index.js +1 -0
  31. package/lib/structures/index.js.map +1 -1
  32. package/package.json +5 -2
  33. package/src/TtscGraphApplication.ts +4 -1
  34. package/src/index.ts +1 -0
  35. package/src/model/TtscGraphSession.ts +89 -16
  36. package/src/model/loadGraph.ts +36 -0
  37. package/src/resolveGraphBinary.ts +9 -3
  38. package/src/server/resultAudit.ts +47 -8
  39. package/src/server/runDetails.ts +95 -70
  40. package/src/structures/ITtscGraphApplication.ts +8 -7
  41. package/src/structures/ITtscGraphDetails.ts +18 -8
  42. package/src/structures/ITtscGraphDump.ts +194 -6
  43. package/src/structures/ITtscGraphNode.ts +40 -0
  44. package/src/structures/ITtscGraphSnapshot.ts +69 -0
  45. package/src/structures/ITtscGraphTour.ts +1 -1
  46. package/src/structures/index.ts +1 -0
@@ -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");
@@ -47,6 +48,20 @@ const TtscGraphMemory_1 = require("./TtscGraphMemory");
47
48
  // monorepo runs to many megabytes, well past spawnSync's 1 MiB default, so the
48
49
  // buffer is raised to a ceiling no real graph reaches.
49
50
  const MAX_DUMP_BYTES = 1024 * 1024 * 1024;
51
+ /**
52
+ * The dump schema version this client reads.
53
+ *
54
+ * Keep it equal to `DumpSchemaVersion` in
55
+ * `packages/ttsc/internal/graph/provenance.go`. The two are hand-synchronized,
56
+ * and `dump_schema_version_matches_the_typescript_client_test.go` reads this
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.
63
+ */
64
+ exports.DUMP_SCHEMA_VERSION = 3;
50
65
  /**
51
66
  * Build the resident {@link TtscGraphMemory} for a project by running `ttscgraph
52
67
  * dump` once and loading its JSON. This is the one-shot path for direct callers
@@ -83,6 +98,13 @@ function loadGraph(options = {}) {
83
98
  * {@link ITtscGraphDump} shape so a malformed or stale dump fails loudly here
84
99
  * rather than producing wrong answers downstream, and the schema version is
85
100
  * checked so an incompatible producer is refused.
101
+ *
102
+ * The version is read before the shape: a dump from another schema is entitled
103
+ * to another shape, so asserting first would report the mismatch as a field
104
+ * complaint about a contract that producer never agreed to. A dump also
105
+ * outlives the process that wrote it — this is the one-shot path, and the JSON
106
+ * on disk may be from any build — so the version is the first question to ask
107
+ * of it.
86
108
  */
87
109
  function parseDump(json) {
88
110
  let value;
@@ -92,15 +114,33 @@ function parseDump(json) {
92
114
  catch (error) {
93
115
  throw new Error(`@ttsc/graph: dump output is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
94
116
  }
117
+ const version = (() => {
118
+ const _io0 = input => "object" === typeof input.provenance && null !== input.provenance && _io1(input.provenance);
119
+ const _io1 = input => "number" === typeof input.schemaVersion;
120
+ return input => "object" === typeof input && null !== input && _io0(input);
121
+ })()(value) ? value.provenance.schemaVersion
122
+ : undefined;
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)}. ` +
125
+ "Install a matching `ttsc` (the binary resolves from the target " +
126
+ "project, or from TTSC_GRAPH_BINARY).");
127
+ }
95
128
  return (() => {
129
+ const _ip0 = input => "string" === typeof input["file"];
96
130
  const _iv0 = new Set(["class", "enum", "external_symbol", "file", "function", "interface", "method", "module", "namespace", "package", "parameter", "property", "type", "variable"]);
97
- const _ip0 = input => "string" === typeof input["name"];
131
+ const _ip1 = input => "string" === typeof input["name"];
98
132
  const _iv1 = new Set(["abstract", "async", "const", "declare", "default", "export", "optional", "private", "protected", "public", "readonly", "static"]);
99
- const _ip1 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] && _io4(input["evidence"]);
133
+ const _ip2 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] && _io12(input["evidence"]);
100
134
  const _iv2 = new Set(["accesses", "calls", "contains", "decorates", "dispatches", "exports", "extends", "implements", "imports", "instantiates", "overrides", "renders", "tests", "type_ref"]);
135
+ const _ap0 = (input, _path, _exceptionable = true) => "string" === typeof input["file"] || _assertGuard_1._assertGuard(_exceptionable, {
136
+ method: "typia.assert",
137
+ path: _path + ".file",
138
+ expected: "string",
139
+ value: input["file"]
140
+ }, _errorFactory);
101
141
  const _av0 = new Set(["class", "enum", "external_symbol", "file", "function", "interface", "method", "module", "namespace", "package", "parameter", "property", "type", "variable"]);
102
142
  const _ae0 = "(\"class\" | \"enum\" | \"external_symbol\" | \"file\" | \"function\" | \"interface\" | \"method\" | \"module\" | \"namespace\" | \"package\" | \"parameter\" | \"property\" | \"type\" | \"variable\")";
103
- const _ap0 = (input, _path, _exceptionable = true) => "string" === typeof input["name"] || _assertGuard_1._assertGuard(_exceptionable, {
143
+ const _ap1 = (input, _path, _exceptionable = true) => "string" === typeof input["name"] || _assertGuard_1._assertGuard(_exceptionable, {
104
144
  method: "typia.assert",
105
145
  path: _path + ".name",
106
146
  expected: "string",
@@ -108,12 +148,12 @@ function parseDump(json) {
108
148
  }, _errorFactory);
109
149
  const _av1 = new Set(["abstract", "async", "const", "declare", "default", "export", "optional", "private", "protected", "public", "readonly", "static"]);
110
150
  const _ae1 = "(\"abstract\" | \"async\" | \"const\" | \"declare\" | \"default\" | \"export\" | \"optional\" | \"private\" | \"protected\" | \"public\" | \"readonly\" | \"static\")";
111
- const _ap1 = (input, _path, _exceptionable = true) => undefined === input["evidence"] || ("object" === typeof input["evidence"] && null !== input["evidence"] || _assertGuard_1._assertGuard(_exceptionable, {
151
+ const _ap2 = (input, _path, _exceptionable = true) => undefined === input["evidence"] || ("object" === typeof input["evidence"] && null !== input["evidence"] || _assertGuard_1._assertGuard(_exceptionable, {
112
152
  method: "typia.assert",
113
153
  path: _path + ".evidence",
114
154
  expected: "(ITtscGraphSpan | undefined)",
115
155
  value: input["evidence"]
116
- }, _errorFactory)) && _ao4(input["evidence"], _path + ".evidence", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
156
+ }, _errorFactory)) && _ao12(input["evidence"], _path + ".evidence", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
117
157
  method: "typia.assert",
118
158
  path: _path + ".evidence",
119
159
  expected: "(ITtscGraphSpan | undefined)",
@@ -131,19 +171,49 @@ function parseDump(json) {
131
171
  path: _path + ".tsconfig",
132
172
  expected: "string",
133
173
  value: input.tsconfig
174
+ }, _errorFactory)) && (("object" === typeof input.provenance && null !== input.provenance || _assertGuard_1._assertGuard(_exceptionable, {
175
+ method: "typia.assert",
176
+ path: _path + ".provenance",
177
+ expected: "ITtscGraphDump.IProvenance",
178
+ value: input.provenance
179
+ }, _errorFactory)) && _ao1(input.provenance, _path + ".provenance", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
180
+ method: "typia.assert",
181
+ path: _path + ".provenance",
182
+ expected: "ITtscGraphDump.IProvenance",
183
+ value: input.provenance
184
+ }, _errorFactory)) && ((Array.isArray(input.diagnostics) || _assertGuard_1._assertGuard(_exceptionable, {
185
+ method: "typia.assert",
186
+ path: _path + ".diagnostics",
187
+ expected: "Array<ITtscGraphDump.IDiagnostic>",
188
+ value: input.diagnostics
189
+ }, _errorFactory)) && input.diagnostics.every((elem, _index13) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
190
+ method: "typia.assert",
191
+ path: _path + ".diagnostics[" + _index13 + "]",
192
+ expected: "ITtscGraphDump.IDiagnostic",
193
+ value: elem
194
+ }, _errorFactory)) && _ao7(elem, _path + ".diagnostics[" + _index13 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
195
+ method: "typia.assert",
196
+ path: _path + ".diagnostics[" + _index13 + "]",
197
+ expected: "ITtscGraphDump.IDiagnostic",
198
+ value: elem
199
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
200
+ method: "typia.assert",
201
+ path: _path + ".diagnostics",
202
+ expected: "Array<ITtscGraphDump.IDiagnostic>",
203
+ value: input.diagnostics
134
204
  }, _errorFactory)) && ((Array.isArray(input.nodes) || _assertGuard_1._assertGuard(_exceptionable, {
135
205
  method: "typia.assert",
136
206
  path: _path + ".nodes",
137
207
  expected: "Array<ITtscGraphDump.INode>",
138
208
  value: input.nodes
139
- }, _errorFactory)) && input.nodes.every((elem, _index6) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
209
+ }, _errorFactory)) && input.nodes.every((elem, _index14) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
140
210
  method: "typia.assert",
141
- path: _path + ".nodes[" + _index6 + "]",
211
+ path: _path + ".nodes[" + _index14 + "]",
142
212
  expected: "ITtscGraphDump.INode",
143
213
  value: elem
144
- }, _errorFactory)) && _ao1(elem, _path + ".nodes[" + _index6 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
214
+ }, _errorFactory)) && _ao8(elem, _path + ".nodes[" + _index14 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
145
215
  method: "typia.assert",
146
- path: _path + ".nodes[" + _index6 + "]",
216
+ path: _path + ".nodes[" + _index14 + "]",
147
217
  expected: "ITtscGraphDump.INode",
148
218
  value: elem
149
219
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -156,14 +226,14 @@ function parseDump(json) {
156
226
  path: _path + ".edges",
157
227
  expected: "Array<ITtscGraphDump.IEdge>",
158
228
  value: input.edges
159
- }, _errorFactory)) && input.edges.every((elem, _index7) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
229
+ }, _errorFactory)) && input.edges.every((elem, _index15) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
160
230
  method: "typia.assert",
161
- path: _path + ".edges[" + _index7 + "]",
231
+ path: _path + ".edges[" + _index15 + "]",
162
232
  expected: "ITtscGraphDump.IEdge",
163
233
  value: elem
164
- }, _errorFactory)) && _ao5(elem, _path + ".edges[" + _index7 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
234
+ }, _errorFactory)) && _ao13(elem, _path + ".edges[" + _index15 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
165
235
  method: "typia.assert",
166
- path: _path + ".edges[" + _index7 + "]",
236
+ path: _path + ".edges[" + _index15 + "]",
167
237
  expected: "ITtscGraphDump.IEdge",
168
238
  value: elem
169
239
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -172,105 +242,80 @@ function parseDump(json) {
172
242
  expected: "Array<ITtscGraphDump.IEdge>",
173
243
  value: input.edges
174
244
  }, _errorFactory));
175
- const _ao1 = (input, _path, _exceptionable = true) => ("string" === typeof input.id || _assertGuard_1._assertGuard(_exceptionable, {
245
+ const _ao1 = (input, _path, _exceptionable = true) => ("number" === typeof input.schemaVersion || _assertGuard_1._assertGuard(_exceptionable, {
176
246
  method: "typia.assert",
177
- path: _path + ".id",
178
- expected: "string",
179
- value: input.id
180
- }, _errorFactory)) && (true === _av0.has(input.kind) || _assertGuard_1._assertGuard(_exceptionable, {
181
- method: "typia.assert",
182
- path: _path + ".kind",
183
- expected: _ae0,
184
- value: input.kind
185
- }, _errorFactory)) && _ap0(input, _path, true && _exceptionable) && (undefined === input.qualifiedName || "string" === typeof input.qualifiedName || _assertGuard_1._assertGuard(_exceptionable, {
247
+ path: _path + ".schemaVersion",
248
+ expected: "number",
249
+ value: input.schemaVersion
250
+ }, _errorFactory)) && ((Array.isArray(input.capabilities) || _assertGuard_1._assertGuard(_exceptionable, {
186
251
  method: "typia.assert",
187
- path: _path + ".qualifiedName",
188
- expected: "(string | undefined)",
189
- value: input.qualifiedName
190
- }, _errorFactory)) && ("string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
252
+ path: _path + ".capabilities",
253
+ expected: "Array<string>",
254
+ value: input.capabilities
255
+ }, _errorFactory)) && input.capabilities.every((elem, _index16) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
191
256
  method: "typia.assert",
192
- path: _path + ".file",
257
+ path: _path + ".capabilities[" + _index16 + "]",
193
258
  expected: "string",
194
- value: input.file
195
- }, _errorFactory)) && ("boolean" === typeof input.external || _assertGuard_1._assertGuard(_exceptionable, {
196
- method: "typia.assert",
197
- path: _path + ".external",
198
- expected: "boolean",
199
- value: input.external
200
- }, _errorFactory)) && (undefined === input.ignored || "boolean" === typeof input.ignored || _assertGuard_1._assertGuard(_exceptionable, {
201
- method: "typia.assert",
202
- path: _path + ".ignored",
203
- expected: "(boolean | undefined)",
204
- value: input.ignored
205
- }, _errorFactory)) && (undefined === input.exported || "boolean" === typeof input.exported || _assertGuard_1._assertGuard(_exceptionable, {
206
- method: "typia.assert",
207
- path: _path + ".exported",
208
- expected: "(boolean | undefined)",
209
- value: input.exported
210
- }, _errorFactory)) && (undefined === input.closure || "boolean" === typeof input.closure || _assertGuard_1._assertGuard(_exceptionable, {
211
- method: "typia.assert",
212
- path: _path + ".closure",
213
- expected: "(boolean | undefined)",
214
- value: input.closure
215
- }, _errorFactory)) && (undefined === input.modifiers || (Array.isArray(input.modifiers) || _assertGuard_1._assertGuard(_exceptionable, {
216
- method: "typia.assert",
217
- path: _path + ".modifiers",
218
- expected: "(Array<TtscGraphNodeModifier> | undefined)",
219
- value: input.modifiers
220
- }, _errorFactory)) && input.modifiers.every((elem, _index8) => true === _av1.has(elem) || _assertGuard_1._assertGuard(_exceptionable, {
221
- method: "typia.assert",
222
- path: _path + ".modifiers[" + _index8 + "]",
223
- expected: _ae1,
224
259
  value: elem
225
260
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
226
261
  method: "typia.assert",
227
- path: _path + ".modifiers",
228
- expected: "(Array<TtscGraphNodeModifier> | undefined)",
229
- value: input.modifiers
230
- }, _errorFactory)) && (undefined === input.decorators || (Array.isArray(input.decorators) || _assertGuard_1._assertGuard(_exceptionable, {
231
- method: "typia.assert",
232
- path: _path + ".decorators",
233
- expected: "(Array<ITtscGraphDecorator> | undefined)",
234
- value: input.decorators
235
- }, _errorFactory)) && input.decorators.every((elem, _index9) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
236
- method: "typia.assert",
237
- path: _path + ".decorators[" + _index9 + "]",
238
- expected: "ITtscGraphDecorator",
262
+ path: _path + ".capabilities",
263
+ expected: "Array<string>",
264
+ value: input.capabilities
265
+ }, _errorFactory)) && (("object" === typeof input.producer && null !== input.producer || _assertGuard_1._assertGuard(_exceptionable, {
266
+ method: "typia.assert",
267
+ path: _path + ".producer",
268
+ expected: "ITtscGraphDump.IProducer",
269
+ value: input.producer
270
+ }, _errorFactory)) && _ao2(input.producer, _path + ".producer", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
271
+ method: "typia.assert",
272
+ path: _path + ".producer",
273
+ expected: "ITtscGraphDump.IProducer",
274
+ value: input.producer
275
+ }, _errorFactory)) && (("object" === typeof input.universe && null !== input.universe || _assertGuard_1._assertGuard(_exceptionable, {
276
+ method: "typia.assert",
277
+ path: _path + ".universe",
278
+ expected: "ITtscGraphDump.IUniverse",
279
+ value: input.universe
280
+ }, _errorFactory)) && _ao3(input.universe, _path + ".universe", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
281
+ method: "typia.assert",
282
+ path: _path + ".universe",
283
+ expected: "ITtscGraphDump.IUniverse",
284
+ value: input.universe
285
+ }, _errorFactory)) && ((Array.isArray(input.sources) || _assertGuard_1._assertGuard(_exceptionable, {
286
+ method: "typia.assert",
287
+ path: _path + ".sources",
288
+ expected: "Array<ITtscGraphDump.ISourceDigest>",
289
+ value: input.sources
290
+ }, _errorFactory)) && input.sources.every((elem, _index17) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
291
+ method: "typia.assert",
292
+ path: _path + ".sources[" + _index17 + "]",
293
+ expected: "ITtscGraphDump.ISourceDigest",
239
294
  value: elem
240
- }, _errorFactory)) && _ao2(elem, _path + ".decorators[" + _index9 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
295
+ }, _errorFactory)) && _ao6(elem, _path + ".sources[" + _index17 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
241
296
  method: "typia.assert",
242
- path: _path + ".decorators[" + _index9 + "]",
243
- expected: "ITtscGraphDecorator",
297
+ path: _path + ".sources[" + _index17 + "]",
298
+ expected: "ITtscGraphDump.ISourceDigest",
244
299
  value: elem
245
300
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
246
301
  method: "typia.assert",
247
- path: _path + ".decorators",
248
- expected: "(Array<ITtscGraphDecorator> | undefined)",
249
- value: input.decorators
250
- }, _errorFactory)) && _ap1(input, _path, true && _exceptionable) && (undefined === input.implementation || ("object" === typeof input.implementation && null !== input.implementation || _assertGuard_1._assertGuard(_exceptionable, {
251
- method: "typia.assert",
252
- path: _path + ".implementation",
253
- expected: "(ITtscGraphSpan | undefined)",
254
- value: input.implementation
255
- }, _errorFactory)) && _ao4(input.implementation, _path + ".implementation", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
256
- method: "typia.assert",
257
- path: _path + ".implementation",
258
- expected: "(ITtscGraphSpan | undefined)",
259
- value: input.implementation
302
+ path: _path + ".sources",
303
+ expected: "Array<ITtscGraphDump.ISourceDigest>",
304
+ value: input.sources
260
305
  }, _errorFactory));
261
- const _ao2 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && ((Array.isArray(input.arguments) || _assertGuard_1._assertGuard(_exceptionable, {
306
+ const _ao10 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && ((Array.isArray(input.arguments) || _assertGuard_1._assertGuard(_exceptionable, {
262
307
  method: "typia.assert",
263
308
  path: _path + ".arguments",
264
309
  expected: "Array<ITtscGraphDecorator.IArgument>",
265
310
  value: input.arguments
266
- }, _errorFactory)) && input.arguments.every((elem, _index10) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
311
+ }, _errorFactory)) && input.arguments.every((elem, _index24) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
267
312
  method: "typia.assert",
268
- path: _path + ".arguments[" + _index10 + "]",
313
+ path: _path + ".arguments[" + _index24 + "]",
269
314
  expected: "ITtscGraphDecorator.IArgument",
270
315
  value: elem
271
- }, _errorFactory)) && _ao3(elem, _path + ".arguments[" + _index10 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
316
+ }, _errorFactory)) && _ao11(elem, _path + ".arguments[" + _index24 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
272
317
  method: "typia.assert",
273
- path: _path + ".arguments[" + _index10 + "]",
318
+ path: _path + ".arguments[" + _index24 + "]",
274
319
  expected: "ITtscGraphDecorator.IArgument",
275
320
  value: elem
276
321
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -279,13 +324,13 @@ function parseDump(json) {
279
324
  expected: "Array<ITtscGraphDecorator.IArgument>",
280
325
  value: input.arguments
281
326
  }, _errorFactory));
282
- const _ao3 = (input, _path, _exceptionable = true) => undefined === input.literal || "string" === typeof input.literal || "number" === typeof input.literal || "boolean" === typeof input.literal || _assertGuard_1._assertGuard(_exceptionable, {
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, {
283
328
  method: "typia.assert",
284
329
  path: _path + ".literal",
285
330
  expected: "(boolean | number | string | undefined)",
286
331
  value: input.literal
287
332
  }, _errorFactory);
288
- const _ao4 = (input, _path, _exceptionable = true) => (undefined === input.file || "string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
333
+ const _ao12 = (input, _path, _exceptionable = true) => (undefined === input.file || "string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
289
334
  method: "typia.assert",
290
335
  path: _path + ".file",
291
336
  expected: "(string | undefined)",
@@ -311,7 +356,7 @@ function parseDump(json) {
311
356
  expected: "(number | undefined)",
312
357
  value: input.endCol
313
358
  }, _errorFactory));
314
- const _ao5 = (input, _path, _exceptionable = true) => ("string" === typeof input.from || _assertGuard_1._assertGuard(_exceptionable, {
359
+ const _ao13 = (input, _path, _exceptionable = true) => ("string" === typeof input.from || _assertGuard_1._assertGuard(_exceptionable, {
315
360
  method: "typia.assert",
316
361
  path: _path + ".from",
317
362
  expected: "string",
@@ -326,13 +371,249 @@ function parseDump(json) {
326
371
  path: _path + ".kind",
327
372
  expected: _ae2,
328
373
  value: input.kind
329
- }, _errorFactory)) && _ap1(input, _path, true && _exceptionable);
330
- const _io0 = input => "string" === typeof input.project && "string" === typeof input.tsconfig && (Array.isArray(input.nodes) && input.nodes.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && (Array.isArray(input.edges) && input.edges.every(elem => "object" === typeof elem && null !== elem && _io5(elem)));
331
- const _io1 = input => "string" === typeof input.id && true === _iv0.has(input.kind) && _ip0(input) && (undefined === input.qualifiedName || "string" === typeof input.qualifiedName) && "string" === typeof input.file && "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 && _io2(elem))) && _ip1(input) && (undefined === input.implementation || "object" === typeof input.implementation && null !== input.implementation && _io4(input.implementation));
332
- const _io2 = input => _ip0(input) && (Array.isArray(input.arguments) && input.arguments.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _io3(elem)));
333
- const _io3 = input => undefined === input.literal || "string" === typeof input.literal || "number" === typeof input.literal || "boolean" === typeof input.literal;
334
- const _io4 = 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);
335
- const _io5 = input => "string" === typeof input.from && "string" === typeof input.to && true === _iv2.has(input.kind) && _ip1(input);
374
+ }, _errorFactory)) && _ap2(input, _path, true && _exceptionable);
375
+ const _ao2 = (input, _path, _exceptionable = true) => ("string" === typeof input.tool || _assertGuard_1._assertGuard(_exceptionable, {
376
+ method: "typia.assert",
377
+ path: _path + ".tool",
378
+ expected: "string",
379
+ value: input.tool
380
+ }, _errorFactory)) && ("string" === typeof input.version || _assertGuard_1._assertGuard(_exceptionable, {
381
+ method: "typia.assert",
382
+ path: _path + ".version",
383
+ expected: "string",
384
+ value: input.version
385
+ }, _errorFactory)) && ("string" === typeof input.typescript || _assertGuard_1._assertGuard(_exceptionable, {
386
+ method: "typia.assert",
387
+ path: _path + ".typescript",
388
+ expected: "string",
389
+ value: input.typescript
390
+ }, _errorFactory));
391
+ const _ao3 = (input, _path, _exceptionable = true) => ((Array.isArray(input.configs) || _assertGuard_1._assertGuard(_exceptionable, {
392
+ method: "typia.assert",
393
+ path: _path + ".configs",
394
+ expected: "Array<ITtscGraphDump.IFileDigest>",
395
+ value: input.configs
396
+ }, _errorFactory)) && input.configs.every((elem, _index18) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
397
+ method: "typia.assert",
398
+ path: _path + ".configs[" + _index18 + "]",
399
+ expected: "ITtscGraphDump.IFileDigest",
400
+ value: elem
401
+ }, _errorFactory)) && _ao4(elem, _path + ".configs[" + _index18 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
402
+ method: "typia.assert",
403
+ path: _path + ".configs[" + _index18 + "]",
404
+ expected: "ITtscGraphDump.IFileDigest",
405
+ value: elem
406
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
407
+ method: "typia.assert",
408
+ path: _path + ".configs",
409
+ expected: "Array<ITtscGraphDump.IFileDigest>",
410
+ value: input.configs
411
+ }, _errorFactory)) && ((Array.isArray(input.roots) || _assertGuard_1._assertGuard(_exceptionable, {
412
+ method: "typia.assert",
413
+ path: _path + ".roots",
414
+ expected: "Array<ITtscGraphDump.IRootFile>",
415
+ value: input.roots
416
+ }, _errorFactory)) && input.roots.every((elem, _index19) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
417
+ method: "typia.assert",
418
+ path: _path + ".roots[" + _index19 + "]",
419
+ expected: "ITtscGraphDump.IRootFile",
420
+ value: elem
421
+ }, _errorFactory)) && _ao5(elem, _path + ".roots[" + _index19 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
422
+ method: "typia.assert",
423
+ path: _path + ".roots[" + _index19 + "]",
424
+ expected: "ITtscGraphDump.IRootFile",
425
+ value: elem
426
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
427
+ method: "typia.assert",
428
+ path: _path + ".roots",
429
+ expected: "Array<ITtscGraphDump.IRootFile>",
430
+ value: input.roots
431
+ }, _errorFactory));
432
+ const _ao4 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && ("string" === typeof input.digest || _assertGuard_1._assertGuard(_exceptionable, {
433
+ method: "typia.assert",
434
+ path: _path + ".digest",
435
+ expected: "string",
436
+ value: input.digest
437
+ }, _errorFactory));
438
+ const _ao5 = (input, _path, _exceptionable = true) => ("string" === typeof input.config || _assertGuard_1._assertGuard(_exceptionable, {
439
+ method: "typia.assert",
440
+ path: _path + ".config",
441
+ expected: "string",
442
+ value: input.config
443
+ }, _errorFactory)) && _ap0(input, _path, true && _exceptionable);
444
+ const _ao6 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && ("string" === typeof input.checkerDigest || _assertGuard_1._assertGuard(_exceptionable, {
445
+ method: "typia.assert",
446
+ path: _path + ".checkerDigest",
447
+ expected: "string",
448
+ value: input.checkerDigest
449
+ }, _errorFactory)) && ("string" === typeof input.diskDigest || _assertGuard_1._assertGuard(_exceptionable, {
450
+ method: "typia.assert",
451
+ path: _path + ".diskDigest",
452
+ expected: "string",
453
+ value: input.diskDigest
454
+ }, _errorFactory));
455
+ const _ao7 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && ("number" === typeof input.line || _assertGuard_1._assertGuard(_exceptionable, {
456
+ method: "typia.assert",
457
+ path: _path + ".line",
458
+ expected: "number",
459
+ value: input.line
460
+ }, _errorFactory)) && ("number" === typeof input.column || _assertGuard_1._assertGuard(_exceptionable, {
461
+ method: "typia.assert",
462
+ path: _path + ".column",
463
+ expected: "number",
464
+ value: input.column
465
+ }, _errorFactory)) && ("number" === typeof input.code || _assertGuard_1._assertGuard(_exceptionable, {
466
+ method: "typia.assert",
467
+ path: _path + ".code",
468
+ expected: "number",
469
+ value: input.code
470
+ }, _errorFactory)) && ("error" === input.category || "warning" === input.category || _assertGuard_1._assertGuard(_exceptionable, {
471
+ method: "typia.assert",
472
+ path: _path + ".category",
473
+ expected: "(\"error\" | \"warning\")",
474
+ value: input.category
475
+ }, _errorFactory)) && ("string" === typeof input.message || _assertGuard_1._assertGuard(_exceptionable, {
476
+ method: "typia.assert",
477
+ path: _path + ".message",
478
+ expected: "string",
479
+ value: input.message
480
+ }, _errorFactory));
481
+ const _ao8 = (input, _path, _exceptionable = true) => ("string" === typeof input.id || _assertGuard_1._assertGuard(_exceptionable, {
482
+ method: "typia.assert",
483
+ path: _path + ".id",
484
+ expected: "string",
485
+ value: input.id
486
+ }, _errorFactory)) && (true === _av0.has(input.kind) || _assertGuard_1._assertGuard(_exceptionable, {
487
+ method: "typia.assert",
488
+ path: _path + ".kind",
489
+ expected: _ae0,
490
+ value: input.kind
491
+ }, _errorFactory)) && _ap1(input, _path, true && _exceptionable) && (undefined === input.qualifiedName || "string" === typeof input.qualifiedName || _assertGuard_1._assertGuard(_exceptionable, {
492
+ method: "typia.assert",
493
+ path: _path + ".qualifiedName",
494
+ expected: "(string | undefined)",
495
+ value: input.qualifiedName
496
+ }, _errorFactory)) && _ap0(input, _path, true && _exceptionable) && ("boolean" === typeof input.external || _assertGuard_1._assertGuard(_exceptionable, {
497
+ method: "typia.assert",
498
+ path: _path + ".external",
499
+ expected: "boolean",
500
+ value: input.external
501
+ }, _errorFactory)) && (undefined === input.ignored || "boolean" === typeof input.ignored || _assertGuard_1._assertGuard(_exceptionable, {
502
+ method: "typia.assert",
503
+ path: _path + ".ignored",
504
+ expected: "(boolean | undefined)",
505
+ value: input.ignored
506
+ }, _errorFactory)) && (undefined === input.exported || "boolean" === typeof input.exported || _assertGuard_1._assertGuard(_exceptionable, {
507
+ method: "typia.assert",
508
+ path: _path + ".exported",
509
+ expected: "(boolean | undefined)",
510
+ value: input.exported
511
+ }, _errorFactory)) && (undefined === input.closure || "boolean" === typeof input.closure || _assertGuard_1._assertGuard(_exceptionable, {
512
+ method: "typia.assert",
513
+ path: _path + ".closure",
514
+ expected: "(boolean | undefined)",
515
+ value: input.closure
516
+ }, _errorFactory)) && (undefined === input.modifiers || (Array.isArray(input.modifiers) || _assertGuard_1._assertGuard(_exceptionable, {
517
+ method: "typia.assert",
518
+ path: _path + ".modifiers",
519
+ expected: "(Array<TtscGraphNodeModifier> | undefined)",
520
+ value: input.modifiers
521
+ }, _errorFactory)) && input.modifiers.every((elem, _index20) => true === _av1.has(elem) || _assertGuard_1._assertGuard(_exceptionable, {
522
+ method: "typia.assert",
523
+ path: _path + ".modifiers[" + _index20 + "]",
524
+ expected: _ae1,
525
+ value: elem
526
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
527
+ method: "typia.assert",
528
+ path: _path + ".modifiers",
529
+ expected: "(Array<TtscGraphNodeModifier> | undefined)",
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
566
+ }, _errorFactory)) && (undefined === input.decorators || (Array.isArray(input.decorators) || _assertGuard_1._assertGuard(_exceptionable, {
567
+ method: "typia.assert",
568
+ path: _path + ".decorators",
569
+ expected: "(Array<ITtscGraphDecorator> | undefined)",
570
+ value: input.decorators
571
+ }, _errorFactory)) && input.decorators.every((elem, _index23) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
572
+ method: "typia.assert",
573
+ path: _path + ".decorators[" + _index23 + "]",
574
+ expected: "ITtscGraphDecorator",
575
+ value: elem
576
+ }, _errorFactory)) && _ao10(elem, _path + ".decorators[" + _index23 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
577
+ method: "typia.assert",
578
+ path: _path + ".decorators[" + _index23 + "]",
579
+ expected: "ITtscGraphDecorator",
580
+ value: elem
581
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
582
+ method: "typia.assert",
583
+ path: _path + ".decorators",
584
+ expected: "(Array<ITtscGraphDecorator> | undefined)",
585
+ value: input.decorators
586
+ }, _errorFactory)) && _ap2(input, _path, true && _exceptionable) && (undefined === input.implementation || ("object" === typeof input.implementation && null !== input.implementation || _assertGuard_1._assertGuard(_exceptionable, {
587
+ method: "typia.assert",
588
+ path: _path + ".implementation",
589
+ expected: "(ITtscGraphSpan | undefined)",
590
+ value: input.implementation
591
+ }, _errorFactory)) && _ao12(input.implementation, _path + ".implementation", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
592
+ method: "typia.assert",
593
+ path: _path + ".implementation",
594
+ expected: "(ITtscGraphSpan | undefined)",
595
+ value: input.implementation
596
+ }, _errorFactory));
597
+ const _ao9 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && (undefined === input.value || "string" === typeof input.value || _assertGuard_1._assertGuard(_exceptionable, {
598
+ method: "typia.assert",
599
+ path: _path + ".value",
600
+ expected: "(string | undefined)",
601
+ value: input.value
602
+ }, _errorFactory));
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)));
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)));
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);
609
+ const _io2 = input => "string" === typeof input.tool && "string" === typeof input.version && "string" === typeof input.typescript;
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)));
611
+ const _io4 = input => _ip0(input) && "string" === typeof input.digest;
612
+ const _io5 = input => "string" === typeof input.config && _ip0(input);
613
+ const _io6 = input => _ip0(input) && "string" === typeof input.checkerDigest && "string" === typeof input.diskDigest;
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;
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);
336
617
  const __is = input => "object" === typeof input && null !== input && _io0(input);
337
618
  let _errorFactory;
338
619
  return (input, errorFactory) => {