@component-compass/reference-graph 0.1.24 → 0.1.26
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/engine/binding.d.ts +96 -0
- package/dist/engine/binding.js +405 -0
- package/dist/engine/binding.js.map +1 -0
- package/dist/engine/component-shape.d.ts +26 -2
- package/dist/engine/component-shape.js +74 -11
- package/dist/engine/component-shape.js.map +1 -1
- package/dist/engine/denotation.d.ts +7 -0
- package/dist/engine/denotation.js +15 -0
- package/dist/engine/denotation.js.map +1 -1
- package/dist/engine/helper-callers.d.ts +0 -7
- package/dist/engine/helper-callers.js +2 -23
- package/dist/engine/helper-callers.js.map +1 -1
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.js +259 -308
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/member-identity.d.ts +7 -19
- package/dist/engine/member-identity.js +13 -19
- package/dist/engine/member-identity.js.map +1 -1
- package/dist/engine/re-export-chain.d.ts +1 -1
- package/dist/engine/re-export-chain.js +6 -6
- package/dist/engine/re-export-chain.js.map +1 -1
- package/dist/engine/registry.d.ts +52 -13
- package/dist/engine/registry.js +73 -58
- package/dist/engine/registry.js.map +1 -1
- package/dist/engine/resolve-reference.d.ts +2 -21
- package/dist/engine/resolve-reference.js +4 -178
- package/dist/engine/resolve-reference.js.map +1 -1
- package/dist/engine/resolve-type.d.ts +7 -7
- package/dist/engine/resolve-type.js +23 -29
- package/dist/engine/resolve-type.js.map +1 -1
- package/dist/engine/wrapper-folding.d.ts +18 -22
- package/dist/engine/wrapper-folding.js +147 -282
- package/dist/engine/wrapper-folding.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { boundArgument, createArgumentMap } from "./argument-map.js";
|
|
2
2
|
import { createCycleGuard } from "./cycle-detection.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveReference } from "./resolve-reference.js";
|
|
4
|
+
import { fileGraphForRef, findLocalDeclaration } from "./binding.js";
|
|
4
5
|
import { resolveToFunctions, resolveType, DYNAMIC_MEMBER_KEY } from "./resolve-type.js";
|
|
5
6
|
import { assertNever } from "./assert-never.js";
|
|
7
|
+
import { libraryExportFor } from "./library-stubs.js";
|
|
6
8
|
export function evalKind(type, graph, fileGraph, argMap = createArgumentMap(), guard = createCycleGuard()) {
|
|
7
9
|
return evalInner(type, { graph, fileGraph, argMap, guard });
|
|
8
10
|
}
|
|
@@ -87,9 +89,12 @@ function evalInner(t, ctx) {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
function evalCall(t, ctx) {
|
|
92
|
+
// A non-component product (a context) holds its arguments; it never wraps them.
|
|
93
|
+
if (nonComponentProduct(ctx.graph, ctx.fileGraph, t.callee, ctx.guard) !== null)
|
|
94
|
+
return "other";
|
|
90
95
|
// `lazy(() => import('./x'))` and friends: the engine's lazy-import rule
|
|
91
96
|
// owns identity; for shape purposes the call is a component.
|
|
92
|
-
if (t.args.some(containsDynamicImport))
|
|
97
|
+
if (t.args.some((a) => containsDynamicImport(a)))
|
|
93
98
|
return "component";
|
|
94
99
|
const fns = resolveToFunctions(ctx.graph, ctx.fileGraph, t.callee, ctx.argMap, ctx.guard);
|
|
95
100
|
const resolvable = [];
|
|
@@ -99,8 +104,10 @@ function evalCall(t, ctx) {
|
|
|
99
104
|
}
|
|
100
105
|
if (resolvable.length === 0) {
|
|
101
106
|
// Opaque callee: component iff some argument is
|
|
102
|
-
// component-shaped or an import-backed leaf the engine will fold to.
|
|
103
|
-
|
|
107
|
+
// component-shaped or an import-backed leaf the engine will fold to. A
|
|
108
|
+
// non-component product call (`withX(createContext(…))`) is neither.
|
|
109
|
+
const isProductCall = (a) => a.kind === "ReturnTypeOf" && nonComponentProduct(ctx.graph, ctx.fileGraph, a.callee, ctx.guard) !== null;
|
|
110
|
+
const carries = t.args.some((a) => evalInner(a, ctx) === "component" || (isImportBackedLeaf(a, ctx.graph, ctx.fileGraph, ctx.guard) && !isProductCall(a)));
|
|
104
111
|
if (!carries)
|
|
105
112
|
return "unresolved";
|
|
106
113
|
// A method call on non-import-backed data — a parameter,
|
|
@@ -158,6 +165,33 @@ export function isImportBackedLeaf(t, graph, fileGraph, guard) {
|
|
|
158
165
|
return false;
|
|
159
166
|
return resolveReference(graph, fileGraph, cur.ref, guard).kind === "Unknown";
|
|
160
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* The semantics of the non-component value a call produces: the stub table's
|
|
170
|
+
* entry for the callee's export, when the callee is an import the graph cannot
|
|
171
|
+
* see (`isImportBackedLeaf`, the same predicate the unseen-hook rule uses).
|
|
172
|
+
* Null for every other call. Exported: `walkReturnTypeOf` names such a call's
|
|
173
|
+
* product from it, and `evalCall` below answers "other" for it; neither
|
|
174
|
+
* re-derives it.
|
|
175
|
+
*
|
|
176
|
+
* The callee's spelling is read through `libraryExportFor`, the one table
|
|
177
|
+
* `libraryStubFor` reads: a reference (a named import, or a default /
|
|
178
|
+
* namespace import carrying the member on the ref) or a member access on one
|
|
179
|
+
* (`React.createContext`).
|
|
180
|
+
*/
|
|
181
|
+
export function nonComponentProduct(graph, fileGraph, callee, guard) {
|
|
182
|
+
const ref = callee.kind === "TypeOf"
|
|
183
|
+
? callee.ref
|
|
184
|
+
: callee.kind === "MemberOf" && callee.obj.kind === "TypeOf"
|
|
185
|
+
? { ...callee.obj.ref, memberChain: [callee.member] }
|
|
186
|
+
: null;
|
|
187
|
+
if (ref === null)
|
|
188
|
+
return null;
|
|
189
|
+
const imp = fileGraphForRef(graph, ref, fileGraph).importsByLocal.get(ref.symbol);
|
|
190
|
+
const entry = imp === undefined ? null : libraryExportFor(imp, ref);
|
|
191
|
+
if (entry === null || entry.kind !== "non-component-product")
|
|
192
|
+
return null;
|
|
193
|
+
return isImportBackedLeaf(callee, graph, fileGraph, guard) ? entry.semantics : null;
|
|
194
|
+
}
|
|
161
195
|
/** Answers "is there an `import()` anywhere in this value" — for reporting
|
|
162
196
|
* only. It descends every node kind that can hold one and never claims a
|
|
163
197
|
* projection, so the specifier it hands back names the import the diagnostic
|
|
@@ -167,41 +201,70 @@ export function isImportBackedLeaf(t, graph, fileGraph, guard) {
|
|
|
167
201
|
* credit, is deliberately narrower, and is the only one that may claim a
|
|
168
202
|
* projection. */
|
|
169
203
|
export function firstDynamicImport(t) {
|
|
204
|
+
return searchDynamicImport(t, null);
|
|
205
|
+
}
|
|
206
|
+
function searchDynamicImport(t, peek) {
|
|
170
207
|
switch (t.kind) {
|
|
171
208
|
case "DynamicImport":
|
|
172
209
|
return t;
|
|
173
210
|
case "Function":
|
|
174
211
|
for (const r of t.returns) {
|
|
175
|
-
const hit =
|
|
212
|
+
const hit = searchDynamicImport(r, peek);
|
|
176
213
|
if (hit)
|
|
177
214
|
return hit;
|
|
178
215
|
}
|
|
179
216
|
return null;
|
|
180
217
|
case "ReturnTypeOf": {
|
|
181
|
-
const inCallee =
|
|
218
|
+
const inCallee = searchDynamicImport(t.callee, peek);
|
|
182
219
|
if (inCallee)
|
|
183
220
|
return inCallee;
|
|
184
221
|
for (const a of t.args) {
|
|
185
|
-
const hit =
|
|
222
|
+
const hit = searchDynamicImport(a, peek);
|
|
186
223
|
if (hit)
|
|
187
224
|
return hit;
|
|
188
225
|
}
|
|
189
226
|
return null;
|
|
190
227
|
}
|
|
191
228
|
case "MemberOf":
|
|
192
|
-
return
|
|
229
|
+
return searchDynamicImport(t.obj, peek);
|
|
193
230
|
case "Union":
|
|
194
231
|
for (const u of t.types) {
|
|
195
|
-
const hit =
|
|
232
|
+
const hit = searchDynamicImport(u, peek);
|
|
196
233
|
if (hit)
|
|
197
234
|
return hit;
|
|
198
235
|
}
|
|
199
236
|
return null;
|
|
237
|
+
case "Object":
|
|
238
|
+
for (const v of Object.values(t.props)) {
|
|
239
|
+
const hit = searchDynamicImport(v, peek);
|
|
240
|
+
if (hit)
|
|
241
|
+
return hit;
|
|
242
|
+
}
|
|
243
|
+
return null;
|
|
244
|
+
case "Array":
|
|
245
|
+
for (const e of t.elements) {
|
|
246
|
+
const hit = searchDynamicImport(e, peek);
|
|
247
|
+
if (hit)
|
|
248
|
+
return hit;
|
|
249
|
+
}
|
|
250
|
+
return null;
|
|
251
|
+
case "TypeOf": {
|
|
252
|
+
const bound = peek?.(t) ?? null;
|
|
253
|
+
return bound === null ? null : searchDynamicImport(bound, null);
|
|
254
|
+
}
|
|
200
255
|
default:
|
|
201
256
|
return null;
|
|
202
257
|
}
|
|
203
258
|
}
|
|
204
|
-
|
|
205
|
-
|
|
259
|
+
/** True when there is an `import()` anywhere in this value, by
|
|
260
|
+
* `firstDynamicImport`'s descent; it claims no projection. Given `at`, a
|
|
261
|
+
* reference is followed once: the binding it names is found scope-aware in
|
|
262
|
+
* the file the reference was written in, and that binding's value is
|
|
263
|
+
* searched with no further peek. */
|
|
264
|
+
export function containsDynamicImport(t, at) {
|
|
265
|
+
const peek = at === undefined
|
|
266
|
+
? null
|
|
267
|
+
: (ref) => findLocalDeclaration(fileGraphForRef(at.graph, ref.ref, at.fileGraph), ref.ref)?.value ?? null;
|
|
268
|
+
return searchDynamicImport(t, peek) !== null;
|
|
206
269
|
}
|
|
207
270
|
//# sourceMappingURL=component-shape.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-shape.js","sourceRoot":"","sources":["../../src/engine/component-shape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAmB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"component-shape.js","sourceRoot":"","sources":["../../src/engine/component-shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,11 @@ export type Denotation =
|
|
|
42
42
|
/** Nothing known. */
|
|
43
43
|
| {
|
|
44
44
|
kind: "indeterminate";
|
|
45
|
+
}
|
|
46
|
+
/** A function reached at a tag position: what JSX renders is the function
|
|
47
|
+
* itself, whatever it returns. */
|
|
48
|
+
| {
|
|
49
|
+
kind: "callable";
|
|
45
50
|
};
|
|
46
51
|
export type OpaqueSemantics = "context";
|
|
47
52
|
export type LateBoundSource = "parameter" | "parameter-member" | "hook-result";
|
|
@@ -80,4 +85,6 @@ export type RenderOutcome = {
|
|
|
80
85
|
* with the holder fold and argument-site seeding so there is not one
|
|
81
86
|
* classification per arm. Empty when nothing is credited. */
|
|
82
87
|
export declare function creditedTerminals(e: readonly Terminal[]): Terminal[];
|
|
88
|
+
/** True when this terminal is a function a tag renders. */
|
|
89
|
+
export declare function isCallable(t: Terminal): boolean;
|
|
83
90
|
export declare function renderOutcome(e: Evaluation): RenderOutcome;
|
|
@@ -12,6 +12,7 @@ const RENDER_VERDICT = {
|
|
|
12
12
|
"late-bound": () => "late-bound",
|
|
13
13
|
data: () => "unresolved",
|
|
14
14
|
indeterminate: () => "unresolved",
|
|
15
|
+
callable: () => "credit",
|
|
15
16
|
};
|
|
16
17
|
/** THE fan-out precedence: a Union / dynamic-map evaluation has several
|
|
17
18
|
* terminals with different verdicts. Highest wins, once, here. */
|
|
@@ -22,6 +23,20 @@ const VERDICT_ORDER = ["credit", "silent", "late-bound", "unresolved"];
|
|
|
22
23
|
export function creditedTerminals(e) {
|
|
23
24
|
return e.filter((t) => matchDenotation(t, RENDER_VERDICT) === "credit");
|
|
24
25
|
}
|
|
26
|
+
const IS_CALLABLE = {
|
|
27
|
+
element: () => false,
|
|
28
|
+
foreign: () => false,
|
|
29
|
+
"host-string": () => false,
|
|
30
|
+
opaque: () => false,
|
|
31
|
+
"late-bound": () => false,
|
|
32
|
+
data: () => false,
|
|
33
|
+
indeterminate: () => false,
|
|
34
|
+
callable: () => true,
|
|
35
|
+
};
|
|
36
|
+
/** True when this terminal is a function a tag renders. */
|
|
37
|
+
export function isCallable(t) {
|
|
38
|
+
return matchDenotation(t, IS_CALLABLE);
|
|
39
|
+
}
|
|
25
40
|
export function renderOutcome(e) {
|
|
26
41
|
const verdicts = e.map((t) => matchDenotation(t, RENDER_VERDICT));
|
|
27
42
|
const winner = VERDICT_ORDER.find((v) => verdicts.includes(v)) ?? "unresolved";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"denotation.js","sourceRoot":"","sources":["../../src/engine/denotation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"denotation.js","sourceRoot":"","sources":["../../src/engine/denotation.ts"],"names":[],"mappings":"AAuDA,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAI,CAAW,EAAE,KAAyB;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAsC,CAAC;IAC9E,OAAO,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AAID,4EAA4E;AAC5E,MAAM,cAAc,GAAmC;IACrD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ;IACvB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ;IACvB,aAAa,EAAE,GAAG,EAAE,CAAC,QAAQ;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ;IACtB,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY;IACxB,aAAa,EAAE,GAAG,EAAE,CAAC,YAAY;IACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;CACzB,CAAC;AAEF;mEACmE;AACnE,MAAM,aAAa,GAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAOjG;;8DAE8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,CAAsB;IACtD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,WAAW,GAA6B;IAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;IACpB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;IACpB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;IACnB,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK;IACjB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;IAC1B,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;CACrB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CAAC,CAAW;IACpC,OAAO,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IAC/E,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAA8B,EAAE,CAAC;QAC1F,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpG,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QACzD,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import type { BindingDecl, FileGraph, Graph, Reference } from "../index.js";
|
|
2
2
|
import type { ComponentRegistry } from "./registry.js";
|
|
3
|
-
/**
|
|
4
|
-
* Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
|
|
5
|
-
* return the first matching BindingDecl, or null if not found. THE
|
|
6
|
-
* scope-chain walk — `registry.ts`'s `resolveUsageTarget` calls this
|
|
7
|
-
* seam instead of re-deriving it.
|
|
8
|
-
*/
|
|
9
|
-
export declare function findLocalDeclaration(fileGraph: FileGraph, ref: Reference): BindingDecl | null;
|
|
10
3
|
export type Classification = "component" | "helper" | "unknown";
|
|
11
4
|
/**
|
|
12
5
|
* Component-vs-helper classification for owner attribution: owners
|
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
import { MODULE_SCOPE } from "../index.js";
|
|
2
|
+
import { graphKeyFor } from "./binding.js";
|
|
2
3
|
import { followReExportChain } from "./re-export-chain.js";
|
|
3
|
-
/**
|
|
4
|
-
* Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
|
|
5
|
-
* return the first matching BindingDecl, or null if not found. THE
|
|
6
|
-
* scope-chain walk — `registry.ts`'s `resolveUsageTarget` calls this
|
|
7
|
-
* seam instead of re-deriving it.
|
|
8
|
-
*/
|
|
9
|
-
export function findLocalDeclaration(fileGraph, ref) {
|
|
10
|
-
let scope = ref.scope;
|
|
11
|
-
while (true) {
|
|
12
|
-
const decl = fileGraph.declarations.get(`${scope}::${ref.symbol}`);
|
|
13
|
-
if (decl)
|
|
14
|
-
return decl;
|
|
15
|
-
if (scope === MODULE_SCOPE)
|
|
16
|
-
return null;
|
|
17
|
-
const parent = fileGraph.scopes.get(scope)?.parent;
|
|
18
|
-
if (parent === null || parent === undefined)
|
|
19
|
-
return null;
|
|
20
|
-
scope = parent;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
4
|
/**
|
|
24
5
|
* Component-vs-helper classification for owner attribution: owners
|
|
25
6
|
* are registry members, or they fan out. A Function- or call-valued
|
|
@@ -301,9 +282,7 @@ export function resolveRefToDecl(ref, callerFile, callerGraph, graph) {
|
|
|
301
282
|
const resolvedAbs = graph.moduleResolver(callerFile, imp.specifier);
|
|
302
283
|
if (!resolvedAbs)
|
|
303
284
|
return null;
|
|
304
|
-
const targetFile = graph
|
|
305
|
-
? (graph.resolveToGraphKey(resolvedAbs) ?? resolvedAbs)
|
|
306
|
-
: resolvedAbs;
|
|
285
|
+
const targetFile = graphKeyFor(graph, resolvedAbs) ?? resolvedAbs;
|
|
307
286
|
const targetGraph = graph.files.get(targetFile);
|
|
308
287
|
if (!targetGraph)
|
|
309
288
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-callers.js","sourceRoot":"","sources":["../../src/engine/helper-callers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"helper-callers.js","sourceRoot":"","sources":["../../src/engine/helper-callers.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export type EngineOccurrence = {
|
|
|
53
53
|
};
|
|
54
54
|
export type ResolvedGraph = {
|
|
55
55
|
occurrences: EngineOccurrence[];
|
|
56
|
-
/** The component registry this resolution
|
|
56
|
+
/** The component registry this resolution judged identities against.
|
|
57
57
|
* The CLI's roster join (`buildComponentSeeds`) reads it. */
|
|
58
58
|
registry: ComponentRegistry;
|
|
59
59
|
};
|