@alloy-js/core 0.20.0-dev.4 → 0.20.0-dev.7
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/src/binder.d.ts +74 -38
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +235 -173
- package/dist/src/binder.js.map +1 -0
- package/dist/src/code.js +2 -1
- package/dist/src/code.js.map +1 -0
- package/dist/src/components/AppendFile.js +2 -1
- package/dist/src/components/AppendFile.js.map +1 -0
- package/dist/src/components/Block.js +2 -1
- package/dist/src/components/Block.js.map +1 -0
- package/dist/src/components/CopyFile.js +2 -1
- package/dist/src/components/CopyFile.js.map +1 -0
- package/dist/src/components/Declaration.d.ts +2 -2
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js +10 -3
- package/dist/src/components/Declaration.js.map +1 -0
- package/dist/src/components/For.js +2 -1
- package/dist/src/components/For.js.map +1 -0
- package/dist/src/components/Indent.js +2 -1
- package/dist/src/components/Indent.js.map +1 -0
- package/dist/src/components/List.js +2 -1
- package/dist/src/components/List.js.map +1 -0
- package/dist/src/components/MemberDeclaration.d.ts +2 -2
- package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
- package/dist/src/components/MemberDeclaration.js +11 -6
- package/dist/src/components/MemberDeclaration.js.map +1 -0
- package/dist/src/components/MemberName.js +2 -1
- package/dist/src/components/MemberName.js.map +1 -0
- package/dist/src/components/MemberScope.d.ts +30 -13
- package/dist/src/components/MemberScope.d.ts.map +1 -1
- package/dist/src/components/MemberScope.js +39 -16
- package/dist/src/components/MemberScope.js.map +1 -0
- package/dist/src/components/Name.js +2 -1
- package/dist/src/components/Name.js.map +1 -0
- package/dist/src/components/Output.d.ts.map +1 -1
- package/dist/src/components/Output.js +4 -6
- package/dist/src/components/Output.js.map +1 -0
- package/dist/src/components/Prose.js +2 -1
- package/dist/src/components/Prose.js.map +1 -0
- package/dist/src/components/ReferenceOrContent.d.ts +1 -1
- package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
- package/dist/src/components/ReferenceOrContent.js +2 -1
- package/dist/src/components/ReferenceOrContent.js.map +1 -0
- package/dist/src/components/Scope.d.ts +5 -5
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js +11 -6
- package/dist/src/components/Scope.js.map +1 -0
- package/dist/src/components/Show.js +2 -1
- package/dist/src/components/Show.js.map +1 -0
- package/dist/src/components/SourceDirectory.js +2 -1
- package/dist/src/components/SourceDirectory.js.map +1 -0
- package/dist/src/components/SourceFile.js +2 -1
- package/dist/src/components/SourceFile.js.map +1 -0
- package/dist/src/components/StatementList.js +2 -1
- package/dist/src/components/StatementList.js.map +1 -0
- package/dist/src/components/Switch.js +2 -1
- package/dist/src/components/Switch.js.map +1 -0
- package/dist/src/components/TemplateFile.js +2 -1
- package/dist/src/components/TemplateFile.js.map +1 -0
- package/dist/src/components/UpdateFile.js +2 -1
- package/dist/src/components/UpdateFile.js.map +1 -0
- package/dist/src/components/Wrap.js +2 -1
- package/dist/src/components/Wrap.js.map +1 -0
- package/dist/src/components/index.js +2 -1
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/components/stc/index.js +2 -1
- package/dist/src/components/stc/index.js.map +1 -0
- package/dist/src/components/stc/sti.js +2 -1
- package/dist/src/components/stc/sti.js.map +1 -0
- package/dist/src/context/assignment.js +2 -1
- package/dist/src/context/assignment.js.map +1 -0
- package/dist/src/context/binder.js +2 -1
- package/dist/src/context/binder.js.map +1 -0
- package/dist/src/context/declaration.js +2 -1
- package/dist/src/context/declaration.js.map +1 -0
- package/dist/src/context/index.js +2 -1
- package/dist/src/context/index.js.map +1 -0
- package/dist/src/context/member-declaration.js +2 -1
- package/dist/src/context/member-declaration.js.map +1 -0
- package/dist/src/context/member-scope.d.ts +7 -8
- package/dist/src/context/member-scope.d.ts.map +1 -1
- package/dist/src/context/member-scope.js +7 -6
- package/dist/src/context/member-scope.js.map +1 -0
- package/dist/src/context/name-policy.d.ts.map +1 -1
- package/dist/src/context/name-policy.js +5 -1
- package/dist/src/context/name-policy.js.map +1 -0
- package/dist/src/context/scope.d.ts +1 -0
- package/dist/src/context/scope.d.ts.map +1 -1
- package/dist/src/context/scope.js +9 -1
- package/dist/src/context/scope.js.map +1 -0
- package/dist/src/context/source-directory.js +2 -1
- package/dist/src/context/source-directory.js.map +1 -0
- package/dist/src/context/source-file.js +2 -1
- package/dist/src/context/source-file.js.map +1 -0
- package/dist/src/context.js +2 -1
- package/dist/src/context.js.map +1 -0
- package/dist/src/debug.js +2 -1
- package/dist/src/debug.js.map +1 -0
- package/dist/src/host/alloy-host.browser.js +2 -1
- package/dist/src/host/alloy-host.browser.js.map +1 -0
- package/dist/src/host/alloy-host.js +2 -1
- package/dist/src/host/alloy-host.js.map +1 -0
- package/dist/src/host/interface.js +2 -1
- package/dist/src/host/interface.js.map +1 -0
- package/dist/src/index.browser.js +2 -1
- package/dist/src/index.browser.js.map +1 -0
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/inspect.browser.d.ts +5 -0
- package/dist/src/inspect.browser.d.ts.map +1 -0
- package/dist/src/inspect.browser.js +6 -0
- package/dist/src/inspect.browser.js.map +1 -0
- package/dist/src/inspect.d.ts +2 -0
- package/dist/src/inspect.d.ts.map +1 -0
- package/dist/src/inspect.js +2 -0
- package/dist/src/inspect.js.map +1 -0
- package/dist/src/jsx-runtime.js +2 -1
- package/dist/src/jsx-runtime.js.map +1 -0
- package/dist/src/name-policy.d.ts +11 -0
- package/dist/src/name-policy.d.ts.map +1 -1
- package/dist/src/name-policy.js +5 -1
- package/dist/src/name-policy.js.map +1 -0
- package/dist/src/props-combinators.js +2 -1
- package/dist/src/props-combinators.js.map +1 -0
- package/dist/src/reactive-union-set.d.ts.map +1 -1
- package/dist/src/reactive-union-set.js +14 -9
- package/dist/src/reactive-union-set.js.map +1 -0
- package/dist/src/reactivity.js +2 -1
- package/dist/src/reactivity.js.map +1 -0
- package/dist/src/refkey.d.ts +39 -3
- package/dist/src/refkey.d.ts.map +1 -1
- package/dist/src/refkey.js +65 -10
- package/dist/src/refkey.js.map +1 -0
- package/dist/src/render.js +2 -1
- package/dist/src/render.js.map +1 -0
- package/dist/src/resource.js +2 -1
- package/dist/src/resource.js.map +1 -0
- package/dist/src/runtime/component.js +2 -1
- package/dist/src/runtime/component.js.map +1 -0
- package/dist/src/runtime/intrinsic.js +2 -1
- package/dist/src/runtime/intrinsic.js.map +1 -0
- package/dist/src/scheduler.js +2 -1
- package/dist/src/scheduler.js.map +1 -0
- package/dist/src/stc.js +2 -1
- package/dist/src/stc.js.map +1 -0
- package/dist/src/sti.js +2 -1
- package/dist/src/sti.js.map +1 -0
- package/dist/src/symbols/basic-scope.d.ts +14 -0
- package/dist/src/symbols/basic-scope.d.ts.map +1 -0
- package/dist/src/symbols/basic-scope.js +21 -0
- package/dist/src/symbols/basic-scope.js.map +1 -0
- package/dist/src/symbols/basic-symbol.d.ts +19 -0
- package/dist/src/symbols/basic-symbol.d.ts.map +1 -0
- package/dist/src/symbols/basic-symbol.js +29 -0
- package/dist/src/symbols/basic-symbol.js.map +1 -0
- package/dist/src/symbols/index.d.ts +3 -1
- package/dist/src/symbols/index.d.ts.map +1 -1
- package/dist/src/symbols/index.js +5 -2
- package/dist/src/symbols/index.js.map +1 -0
- package/dist/src/symbols/output-scope.d.ts +70 -41
- package/dist/src/symbols/output-scope.d.ts.map +1 -1
- package/dist/src/symbols/output-scope.js +100 -131
- package/dist/src/symbols/output-scope.js.map +1 -0
- package/dist/src/symbols/output-space.d.ts +25 -0
- package/dist/src/symbols/output-space.d.ts.map +1 -0
- package/dist/src/symbols/output-space.js +36 -0
- package/dist/src/symbols/output-space.js.map +1 -0
- package/dist/src/symbols/output-symbol.d.ts +213 -37
- package/dist/src/symbols/output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/output-symbol.js +325 -204
- package/dist/src/symbols/output-symbol.js.map +1 -0
- package/dist/src/symbols/symbol-flow.d.ts +1 -1
- package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
- package/dist/src/symbols/symbol-flow.js +24 -8
- package/dist/src/symbols/symbol-flow.js.map +1 -0
- package/dist/src/symbols/symbol-slot.d.ts +27 -9
- package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
- package/dist/src/symbols/symbol-slot.js +22 -5
- package/dist/src/symbols/symbol-slot.js.map +1 -0
- package/dist/src/symbols/symbol-table.d.ts +19 -8
- package/dist/src/symbols/symbol-table.d.ts.map +1 -1
- package/dist/src/symbols/symbol-table.js +67 -17
- package/dist/src/symbols/symbol-table.js.map +1 -0
- package/dist/src/tap.js +2 -1
- package/dist/src/tap.js.map +1 -0
- package/dist/src/tracer.d.ts +15 -3
- package/dist/src/tracer.d.ts.map +1 -1
- package/dist/src/tracer.js +41 -64
- package/dist/src/tracer.js.map +1 -0
- package/dist/src/utils.js +2 -1
- package/dist/src/utils.js.map +1 -0
- package/dist/src/write-output.js +2 -1
- package/dist/src/write-output.js.map +1 -0
- package/dist/test/browser-build.test.js +2 -1
- package/dist/test/browser-build.test.js.map +1 -0
- package/dist/test/children.test.js +2 -1
- package/dist/test/children.test.js.map +1 -0
- package/dist/test/components/append-file.test.js +2 -1
- package/dist/test/components/append-file.test.js.map +1 -0
- package/dist/test/components/block.test.js +2 -1
- package/dist/test/components/block.test.js.map +1 -0
- package/dist/test/components/copy-file.test.js +2 -1
- package/dist/test/components/copy-file.test.js.map +1 -0
- package/dist/test/components/declaration.test.js +11 -15
- package/dist/test/components/declaration.test.js.map +1 -0
- package/dist/test/components/list.test.js +2 -1
- package/dist/test/components/list.test.js.map +1 -0
- package/dist/test/components/prose.test.js +2 -1
- package/dist/test/components/prose.test.js.map +1 -0
- package/dist/test/components/reference-or-content.test.js +4 -3
- package/dist/test/components/reference-or-content.test.js.map +1 -0
- package/dist/test/components/source-file.test.js +2 -1
- package/dist/test/components/source-file.test.js.map +1 -0
- package/dist/test/components/template-file.test.js +2 -1
- package/dist/test/components/template-file.test.js.map +1 -0
- package/dist/test/components/update-file.test.js +2 -1
- package/dist/test/components/update-file.test.js.map +1 -0
- package/dist/test/components/wrap.test.js +2 -1
- package/dist/test/components/wrap.test.js.map +1 -0
- package/dist/test/control-flow/for.test.js +2 -1
- package/dist/test/control-flow/for.test.js.map +1 -0
- package/dist/test/control-flow/match.test.js +2 -1
- package/dist/test/control-flow/match.test.js.map +1 -0
- package/dist/test/control-flow/show.test.js +2 -1
- package/dist/test/control-flow/show.test.js.map +1 -0
- package/dist/test/name-policy.test.js +2 -1
- package/dist/test/name-policy.test.js.map +1 -0
- package/dist/test/props-with-defaults.test.js +2 -1
- package/dist/test/props-with-defaults.test.js.map +1 -0
- package/dist/test/reactive-union-set.test.js +2 -1
- package/dist/test/reactive-union-set.test.js.map +1 -0
- package/dist/test/reactivity/circular-reactives.test.js +2 -1
- package/dist/test/reactivity/circular-reactives.test.js.map +1 -0
- package/dist/test/reactivity/cleanup.test.js +2 -1
- package/dist/test/reactivity/cleanup.test.js.map +1 -0
- package/dist/test/reactivity/memo.test.js +2 -1
- package/dist/test/reactivity/memo.test.js.map +1 -0
- package/dist/test/reactivity/ref-rendering.test.js +2 -1
- package/dist/test/reactivity/ref-rendering.test.js.map +1 -0
- package/dist/test/reactivity/test.test.js +2 -1
- package/dist/test/reactivity/test.test.js.map +1 -0
- package/dist/test/reactivity/untrack.test.js +2 -1
- package/dist/test/reactivity/untrack.test.js.map +1 -0
- package/dist/test/refkey.test.js +2 -1
- package/dist/test/refkey.test.js.map +1 -0
- package/dist/test/rendering/basic.test.js +2 -1
- package/dist/test/rendering/basic.test.js.map +1 -0
- package/dist/test/rendering/code.test.js +2 -1
- package/dist/test/rendering/code.test.js.map +1 -0
- package/dist/test/rendering/formatting.test.js +2 -1
- package/dist/test/rendering/formatting.test.js.map +1 -0
- package/dist/test/rendering/indent.test.js +2 -1
- package/dist/test/rendering/indent.test.js.map +1 -0
- package/dist/test/rendering/memoization.test.js +2 -1
- package/dist/test/rendering/memoization.test.js.map +1 -0
- package/dist/test/rendering/refkeys.test.js +2 -1
- package/dist/test/rendering/refkeys.test.js.map +1 -0
- package/dist/test/split-props.test.js +2 -1
- package/dist/test/split-props.test.js.map +1 -0
- package/dist/test/stc.test.js +2 -1
- package/dist/test/stc.test.js.map +1 -0
- package/dist/test/symbols/output-scope.test.js +34 -198
- package/dist/test/symbols/output-scope.test.js.map +1 -0
- package/dist/test/symbols/output-symbol.test.js +141 -386
- package/dist/test/symbols/output-symbol.test.js.map +1 -0
- package/dist/test/symbols/resolution.test.js +433 -115
- package/dist/test/symbols/resolution.test.js.map +1 -0
- package/dist/test/symbols/symbol-table.test.d.ts +2 -0
- package/dist/test/symbols/symbol-table.test.d.ts.map +1 -0
- package/dist/test/symbols/symbol-table.test.js +15 -0
- package/dist/test/symbols/symbol-table.test.js.map +1 -0
- package/dist/test/symbols/utils.d.ts +10 -24
- package/dist/test/symbols/utils.d.ts.map +1 -1
- package/dist/test/symbols/utils.js +25 -46
- package/dist/test/symbols/utils.js.map +1 -0
- package/dist/test/utils.test.js +2 -1
- package/dist/test/utils.test.js.map +1 -0
- package/dist/testing/extend-expect.js +2 -1
- package/dist/testing/extend-expect.js.map +1 -0
- package/dist/testing/extend-expect.test.js +2 -1
- package/dist/testing/extend-expect.test.js.map +1 -0
- package/dist/testing/index.js +2 -1
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/render.js +2 -1
- package/dist/testing/render.js.map +1 -0
- package/dist/testing/vitest.d.js +2 -1
- package/dist/testing/vitest.d.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/src/binder.ts +368 -273
- package/src/components/Declaration.tsx +13 -3
- package/src/components/MemberDeclaration.tsx +15 -8
- package/src/components/MemberScope.tsx +61 -20
- package/src/components/Output.tsx +0 -4
- package/src/components/Scope.tsx +16 -9
- package/src/context/member-scope.ts +10 -10
- package/src/context/name-policy.ts +3 -0
- package/src/context/scope.ts +9 -0
- package/src/inspect.browser.ts +6 -0
- package/src/inspect.ts +1 -0
- package/src/name-policy.ts +14 -0
- package/src/reactive-union-set.ts +14 -8
- package/src/refkey.ts +106 -14
- package/src/symbols/basic-scope.ts +23 -0
- package/src/symbols/basic-symbol.ts +32 -0
- package/src/symbols/index.ts +3 -1
- package/src/symbols/output-scope.ts +131 -170
- package/src/symbols/output-space.ts +49 -0
- package/src/symbols/output-symbol.ts +434 -258
- package/src/symbols/symbol-flow.ts +38 -9
- package/src/symbols/symbol-slot.tsx +46 -8
- package/src/symbols/symbol-table.ts +95 -21
- package/src/tracer.ts +53 -83
- package/temp/api.json +7009 -4461
- package/test/components/declaration.test.tsx +6 -19
- package/test/components/reference-or-content.test.tsx +2 -2
- package/test/symbols/output-scope.test.ts +33 -125
- package/test/symbols/output-symbol.test.ts +128 -348
- package/test/symbols/resolution.test.ts +530 -117
- package/test/symbols/symbol-table.test.ts +15 -0
- package/test/symbols/utils.ts +38 -74
- package/tsdoc.json +4 -0
- package/dist/src/slot.d.ts +0 -15
- package/dist/src/slot.d.ts.map +0 -1
- package/dist/src/slot.js +0 -50
- package/dist/src/symbols/flags.d.ts +0 -70
- package/dist/src/symbols/flags.d.ts.map +0 -1
- package/dist/src/symbols/flags.js +0 -72
- package/dist/test/components/slot.test.d.ts +0 -2
- package/dist/test/components/slot.test.d.ts.map +0 -1
- package/dist/test/components/slot.test.js +0 -134
- package/src/slot.ts +0 -89
- package/src/symbols/flags.ts +0 -82
- package/test/components/slot.test.tsx +0 -174
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isRef, shallowReactive } from "@vue/reactivity";
|
|
2
2
|
import { effect, getContext, onCleanup } from "../reactivity.js";
|
|
3
|
-
import {
|
|
3
|
+
import { MemberContext } from "../context/member-scope.js";
|
|
4
4
|
import { ScopeContext } from "../context/scope.js";
|
|
5
|
-
import {
|
|
5
|
+
import { formatSymbolName, trace, TracePhase } from "../tracer.js";
|
|
6
6
|
export function takeSymbols(cb) {
|
|
7
7
|
const context = getContext();
|
|
8
8
|
context.takesSymbols = true;
|
|
@@ -21,6 +21,11 @@ export function takeSymbols(cb) {
|
|
|
21
21
|
return context.takenSymbols;
|
|
22
22
|
}
|
|
23
23
|
export function emitSymbol(symbol) {
|
|
24
|
+
if (isRef(symbol)) {
|
|
25
|
+
trace(TracePhase.symbol.flow, () => `Emitting ref to symbol`);
|
|
26
|
+
} else {
|
|
27
|
+
trace(TracePhase.symbol.flow, () => `Emitting symbol ${formatSymbolName(symbol)}`);
|
|
28
|
+
}
|
|
24
29
|
let symbolTaker;
|
|
25
30
|
let context = getContext().owner;
|
|
26
31
|
while (context) {
|
|
@@ -28,13 +33,15 @@ export function emitSymbol(symbol) {
|
|
|
28
33
|
symbolTaker = context;
|
|
29
34
|
break;
|
|
30
35
|
}
|
|
31
|
-
if (context.context && (context.context[ScopeContext.id] || context.context[
|
|
36
|
+
if (context.context && (context.context[ScopeContext.id] || context.context[MemberContext.id])) {
|
|
32
37
|
// don't cross scope boundaries.
|
|
38
|
+
trace(TracePhase.symbol.flow, () => `Not emitting symbol across scope boundary`);
|
|
33
39
|
break;
|
|
34
40
|
}
|
|
35
41
|
context = context.owner;
|
|
36
42
|
}
|
|
37
43
|
if (!symbolTaker) {
|
|
44
|
+
trace(TracePhase.symbol.flow, () => `No symbol taker found, not emitting`);
|
|
38
45
|
return;
|
|
39
46
|
}
|
|
40
47
|
if (isRef(symbol)) {
|
|
@@ -53,6 +60,7 @@ export function emitSymbol(symbol) {
|
|
|
53
60
|
}
|
|
54
61
|
});
|
|
55
62
|
} else {
|
|
63
|
+
trace(TracePhase.symbol.flow, () => `Emitting symbol ${formatSymbolName(symbol)} taken by ${symbolTaker.componentOwner?.name ?? "unknown component"}`);
|
|
56
64
|
symbolTaker.takenSymbols.add(symbol);
|
|
57
65
|
onCleanup(() => {
|
|
58
66
|
context.takenSymbols.delete(symbol);
|
|
@@ -63,12 +71,20 @@ export function moveTakenMembersTo(baseSymbol) {
|
|
|
63
71
|
const taken = takeSymbols();
|
|
64
72
|
effect(() => {
|
|
65
73
|
for (const symbol of taken) {
|
|
66
|
-
if (symbol.
|
|
67
|
-
symbol.
|
|
74
|
+
if (symbol.isTransient) {
|
|
75
|
+
symbol.moveMembersTo(baseSymbol);
|
|
76
|
+
}
|
|
77
|
+
for (const refkey of symbol.refkeys) {
|
|
78
|
+
if (!baseSymbol.refkeys.includes(refkey)) {
|
|
79
|
+
baseSymbol.refkeys.push(refkey);
|
|
80
|
+
}
|
|
68
81
|
}
|
|
69
82
|
}
|
|
70
83
|
});
|
|
71
84
|
}
|
|
72
|
-
export function instantiateTakenMembersTo(baseSymbol) {
|
|
73
|
-
takeSymbols(symbol =>
|
|
74
|
-
|
|
85
|
+
export function instantiateTakenMembersTo(baseSymbol, toSpaceKey, fromSpaceKey) {
|
|
86
|
+
takeSymbols(symbol => {
|
|
87
|
+
baseSymbol.type = symbol;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=symbol-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isRef","shallowReactive","effect","getContext","onCleanup","MemberContext","ScopeContext","formatSymbolName","trace","TracePhase","takeSymbols","cb","context","takesSymbols","takenSymbols","Set","oldSymbols","symbol","has","emitSymbol","flow","symbolTaker","owner","id","prevSymbol","value","delete","undefined","add","componentOwner","name","moveTakenMembersTo","baseSymbol","taken","isTransient","moveMembersTo","refkey","refkeys","includes","push","instantiateTakenMembersTo","toSpaceKey","fromSpaceKey","type"],"sources":["../../../src/symbols/symbol-flow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
import { Ref, ShallowReactive } from "@vue/reactivity";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Component } from "../runtime/component.js";
|
|
3
3
|
import { OutputSymbol } from "./output-symbol.js";
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
export interface SymbolSlot extends Component<{}> {
|
|
5
|
+
/**
|
|
6
|
+
* A ref for the set of symbols taken by this slot. Undefined when the Slot component
|
|
7
|
+
* has not been rendered yet.
|
|
8
|
+
*/
|
|
9
|
+
ref: Ref<ShallowReactive<Set<OutputSymbol>> | undefined>;
|
|
10
|
+
/**
|
|
11
|
+
* A ref for the first symbol taken by this slot. Undefined when the Slot component
|
|
12
|
+
* has not been rendered yet or has not taken any symbols.
|
|
13
|
+
*/
|
|
14
|
+
firstSymbol: Ref<OutputSymbol | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Copy any members from taken symbols to the given symbol.
|
|
17
|
+
*/
|
|
18
|
+
copyMembersTo(baseSymbol: OutputSymbol): void;
|
|
19
|
+
/**
|
|
20
|
+
* Move any members from transient taken symbols to the given symbol.
|
|
21
|
+
*/
|
|
22
|
+
moveMembersTo(baseSymbol: OutputSymbol): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create a component which accepts emitted symbols. The returned component has
|
|
26
|
+
* a `ref` property which is a ref to a reactive set of all symbols emitted by
|
|
27
|
+
* children of the component.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createSymbolSlot(): SymbolSlot;
|
|
12
30
|
//# sourceMappingURL=symbol-slot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-slot.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"symbol-slot.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,EAAE,CAAC;IAC/C;;;OAGG;IACH,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE3C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/C;AACD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAoD7C"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { shallowRef } from "@vue/reactivity";
|
|
2
2
|
import { effect, onCleanup } from "../reactivity.js";
|
|
3
3
|
import { takeSymbols } from "./symbol-flow.js";
|
|
4
|
+
/**
|
|
5
|
+
* Create a component which accepts emitted symbols. The returned component has
|
|
6
|
+
* a `ref` property which is a ref to a reactive set of all symbols emitted by
|
|
7
|
+
* children of the component.
|
|
8
|
+
*/
|
|
4
9
|
export function createSymbolSlot() {
|
|
5
10
|
const symbolSlotRef = shallowRef();
|
|
6
11
|
function SymbolSlot(props) {
|
|
@@ -12,25 +17,37 @@ export function createSymbolSlot() {
|
|
|
12
17
|
return props.children;
|
|
13
18
|
}
|
|
14
19
|
SymbolSlot.ref = symbolSlotRef;
|
|
15
|
-
SymbolSlot
|
|
20
|
+
Object.defineProperty(SymbolSlot, "firstSymbol", {
|
|
21
|
+
get() {
|
|
22
|
+
const ref = shallowRef();
|
|
23
|
+
effect(() => {
|
|
24
|
+
ref.value = symbolSlotRef.value?.values().next().value;
|
|
25
|
+
});
|
|
26
|
+
return ref;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
SymbolSlot.copyMembersTo = baseSymbol => {
|
|
16
30
|
effect(() => {
|
|
17
31
|
if (!symbolSlotRef.value) {
|
|
18
32
|
return;
|
|
19
33
|
}
|
|
20
34
|
for (const symbol of symbolSlotRef.value) {
|
|
21
|
-
symbol.
|
|
35
|
+
symbol.copyMembersTo(baseSymbol);
|
|
22
36
|
}
|
|
23
37
|
});
|
|
24
38
|
};
|
|
25
|
-
SymbolSlot.
|
|
39
|
+
SymbolSlot.moveMembersTo = baseSymbol => {
|
|
26
40
|
effect(() => {
|
|
27
41
|
if (!symbolSlotRef.value) {
|
|
28
42
|
return;
|
|
29
43
|
}
|
|
30
44
|
for (const symbol of symbolSlotRef.value) {
|
|
31
|
-
symbol.
|
|
45
|
+
if (symbol.isTransient) {
|
|
46
|
+
symbol.moveMembersTo(baseSymbol);
|
|
47
|
+
}
|
|
32
48
|
}
|
|
33
49
|
});
|
|
34
50
|
};
|
|
35
51
|
return SymbolSlot;
|
|
36
|
-
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=symbol-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["shallowRef","effect","onCleanup","takeSymbols","createSymbolSlot","symbolSlotRef","SymbolSlot","props","set","value","undefined","children","ref","Object","defineProperty","get","values","next","copyMembersTo","baseSymbol","symbol","moveMembersTo","isTransient"],"sources":["../../../src/symbols/symbol-slot.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAA+BA,UAAU,QAAQ,iBAAiB;AAClE,SAASC,MAAM,EAAEC,SAAS,QAAQ,kBAAkB;AAGpD,SAASC,WAAW,QAAQ,kBAAkB;AAwB9C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAe;EAC7C,MAAMC,aAAkE,GACtEL,UAAU,CAAC,CAAC;EACd,SAASM,UAAUA,CAACC,KAA6B,EAAE;IACjD,MAAMC,GAAG,GAAGL,WAAW,CAAC,CAAC;IACzBE,aAAa,CAACI,KAAK,GAAGD,GAAG;IAEzBN,SAAS,CAAC,MAAM;MACdG,aAAa,CAACI,KAAK,GAAGC,SAAS;IACjC,CAAC,CAAC;IAEF,OAAOH,KAAK,CAACI,QAAQ;EACvB;EAEAL,UAAU,CAACM,GAAG,GAAGP,aAAa;EAE9BQ,MAAM,CAACC,cAAc,CAACR,UAAU,EAAE,aAAa,EAAE;IAC/CS,GAAGA,CAAA,EAAG;MACJ,MAAMH,GAAG,GAAGZ,UAAU,CAAC,CAAC;MACxBC,MAAM,CAAC,MAAM;QACXW,GAAG,CAACH,KAAK,GAAGJ,aAAa,CAACI,KAAK,EAAEO,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACR,KAAK;MACxD,CAAC,CAAC;MACF,OAAOG,GAAG;IACZ;EACF,CAAC,CAAC;EAEFN,UAAU,CAACY,aAAa,GAAIC,UAAwB,IAAK;IACvDlB,MAAM,CAAC,MAAM;MACX,IAAI,CAACI,aAAa,CAACI,KAAK,EAAE;QACxB;MACF;MAEA,KAAK,MAAMW,MAAM,IAAIf,aAAa,CAACI,KAAK,EAAE;QACxCW,MAAM,CAACF,aAAa,CAACC,UAAU,CAAC;MAClC;IACF,CAAC,CAAC;EACJ,CAAC;EAEDb,UAAU,CAACe,aAAa,GAAIF,UAAwB,IAAK;IACvDlB,MAAM,CAAC,MAAM;MACX,IAAI,CAACI,aAAa,CAACI,KAAK,EAAE;QACxB;MACF;MACA,KAAK,MAAMW,MAAM,IAAIf,aAAa,CAACI,KAAK,EAAE;QACxC,IAAIW,MAAM,CAACE,WAAW,EAAE;UACtBF,MAAM,CAACC,aAAa,CAACF,UAAU,CAAC;QAClC;MACF;IACF,CAAC,CAAC;EACJ,CAAC;EAED,OAAOb,UAAU;AACnB","ignoreList":[]}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
import type { NameConflictResolver } from "../binder.js";
|
|
1
|
+
import type { Binder, NameConflictResolver } from "../binder.js";
|
|
2
2
|
import { ReactiveUnionSet } from "../reactive-union-set.js";
|
|
3
|
-
import
|
|
3
|
+
import { Refkey } from "../refkey.js";
|
|
4
4
|
import type { OutputSymbol } from "./output-symbol.js";
|
|
5
|
-
export declare class SymbolTable extends ReactiveUnionSet<OutputSymbol> {
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
export declare abstract class SymbolTable extends ReactiveUnionSet<OutputSymbol> {
|
|
6
|
+
#private;
|
|
7
|
+
get binder(): Binder | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* The key of this symbol table, e.g. "static" or "instance".
|
|
10
|
+
*/
|
|
11
|
+
get key(): string;
|
|
12
|
+
/**
|
|
13
|
+
* The symbols defined within this scope, indexed by refkey.
|
|
14
|
+
*/
|
|
15
|
+
get symbolsByRefkey(): ReadonlyMap<Refkey, OutputSymbol>;
|
|
16
|
+
get symbolNames(): ReadonlyMap<string, OutputSymbol>;
|
|
17
|
+
constructor(key: string, binder?: Binder, options?: {
|
|
11
18
|
nameConflictResolver?: NameConflictResolver;
|
|
12
19
|
});
|
|
20
|
+
moveTo(target: SymbolTable): void;
|
|
21
|
+
copyTo(target: SymbolTable, options?: {
|
|
22
|
+
createRefkeys?(sourceSymbol: OutputSymbol): Refkey[];
|
|
23
|
+
}): void;
|
|
13
24
|
}
|
|
14
25
|
//# sourceMappingURL=symbol-table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,8BAAsB,WAAY,SAAQ,gBAAgB,CAAC,YAAY,CAAC;;IAmBtE,IAAI,MAAM,uBAET;IAID;;OAEG;IACH,IAAI,GAAG,WAEN;IAGD;;OAEG;IACH,IAAI,eAAe,sCAElB;IAGD,IAAI,WAAW,sCAEd;gBAGC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;KACxC;IAmCR,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAejC,MAAM,CACJ,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;QACP,aAAa,CAAC,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;KACjD,GACL,IAAI;CAgBR"}
|
|
@@ -1,33 +1,82 @@
|
|
|
1
1
|
import { ReactiveUnionSet } from "../reactive-union-set.js";
|
|
2
2
|
import { queueJob } from "../scheduler.js";
|
|
3
|
-
import {
|
|
3
|
+
import { formatSymbolName, formatSymbolTableName, trace, TracePhase } from "../tracer.js";
|
|
4
4
|
export class SymbolTable extends ReactiveUnionSet {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
#namesToDeconflict = new Set();
|
|
6
|
+
#nameConflictResolver;
|
|
7
|
+
#deconflictNames = () => {
|
|
8
|
+
for (const name of this.#namesToDeconflict) {
|
|
9
|
+
const conflictedSymbols = [...this].filter(sym => sym.originalName === name && !sym.ignoreNameConflict);
|
|
10
|
+
if (this.#nameConflictResolver) {
|
|
11
|
+
this.#nameConflictResolver(name, conflictedSymbols);
|
|
11
12
|
} else {
|
|
12
13
|
defaultConflictHandler(name, conflictedSymbols);
|
|
13
14
|
}
|
|
14
|
-
this.
|
|
15
|
+
this.#namesToDeconflict.delete(name);
|
|
15
16
|
}
|
|
16
17
|
};
|
|
17
|
-
|
|
18
|
+
#binder;
|
|
19
|
+
get binder() {
|
|
20
|
+
return this.#binder;
|
|
21
|
+
}
|
|
22
|
+
#key;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The key of this symbol table, e.g. "static" or "instance".
|
|
26
|
+
*/
|
|
27
|
+
get key() {
|
|
28
|
+
return this.#key;
|
|
29
|
+
}
|
|
30
|
+
#symbolsByRefkey;
|
|
31
|
+
/**
|
|
32
|
+
* The symbols defined within this scope, indexed by refkey.
|
|
33
|
+
*/
|
|
34
|
+
get symbolsByRefkey() {
|
|
35
|
+
return this.#symbolsByRefkey;
|
|
36
|
+
}
|
|
37
|
+
#symbolNames;
|
|
38
|
+
get symbolNames() {
|
|
39
|
+
return this.#symbolNames;
|
|
40
|
+
}
|
|
41
|
+
constructor(key, binder, options = {}) {
|
|
18
42
|
super({
|
|
19
43
|
onAdd: symbol => {
|
|
20
|
-
trace(TracePhase.symbol.addToScope, () => `${formatSymbolName(symbol)}
|
|
21
|
-
this.
|
|
22
|
-
queueJob(this
|
|
44
|
+
trace(TracePhase.symbol.addToScope, () => `${formatSymbolName(symbol)} added to ${formatSymbolTableName(this)}`);
|
|
45
|
+
this.#namesToDeconflict.add(symbol.name);
|
|
46
|
+
queueJob(this.#deconflictNames);
|
|
23
47
|
return symbol;
|
|
24
48
|
},
|
|
25
|
-
onDelete
|
|
26
|
-
trace(TracePhase.symbol.removeFromScope, () => `${formatSymbolName(symbol)}
|
|
49
|
+
onDelete: symbol => {
|
|
50
|
+
trace(TracePhase.symbol.removeFromScope, () => `${formatSymbolName(symbol)} removed from ${formatSymbolTableName(this)}`);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
this.#nameConflictResolver = options.nameConflictResolver ?? binder?.nameConflictResolver;
|
|
54
|
+
this.#binder = binder;
|
|
55
|
+
this.#key = key;
|
|
56
|
+
this.#symbolsByRefkey = this.createIndex(s => s.refkeys);
|
|
57
|
+
this.#symbolNames = this.createIndex(s => {
|
|
58
|
+
return s.name;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
moveTo(target) {
|
|
62
|
+
trace(TracePhase.scope.moveSymbols, () => `${formatSymbolTableName(this)} -> ${formatSymbolTableName(target)}`);
|
|
63
|
+
target.addSubset(this, {
|
|
64
|
+
onAdd: symbol => {
|
|
65
|
+
symbol.spaces = [target];
|
|
66
|
+
return symbol;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
copyTo(target, options = {}) {
|
|
71
|
+
trace(TracePhase.scope.copySymbols, () => `${formatSymbolTableName(this)} copied to ${formatSymbolTableName(target)}`);
|
|
72
|
+
target.addSubset(this, {
|
|
73
|
+
onAdd: symbol => {
|
|
74
|
+
const copy = symbol.copy();
|
|
75
|
+
copy.spaces = [target];
|
|
76
|
+
copy.refkeys = options.createRefkeys?.(symbol) ?? [];
|
|
77
|
+
return copy;
|
|
27
78
|
}
|
|
28
79
|
});
|
|
29
|
-
this.scope = scope;
|
|
30
|
-
this._nameConflictResolver = options.nameConflictResolver;
|
|
31
80
|
}
|
|
32
81
|
}
|
|
33
82
|
|
|
@@ -39,4 +88,5 @@ function defaultConflictHandler(_, conflictedSymbols) {
|
|
|
39
88
|
for (let i = 1; i < conflictedSymbols.length; i++) {
|
|
40
89
|
conflictedSymbols[i].name = conflictedSymbols[i].originalName + "_" + (i + 1);
|
|
41
90
|
}
|
|
42
|
-
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=symbol-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ReactiveUnionSet","queueJob","formatSymbolName","formatSymbolTableName","trace","TracePhase","SymbolTable","namesToDeconflict","Set","nameConflictResolver","deconflictNames","#deconflictNames","name","conflictedSymbols","filter","sym","originalName","ignoreNameConflict","defaultConflictHandler","delete","binder","key","symbolsByRefkey","symbolNames","constructor","options","onAdd","symbol","addToScope","add","onDelete","removeFromScope","createIndex","s","refkeys","moveTo","target","scope","moveSymbols","addSubset","spaces","copyTo","copySymbols","copy","createRefkeys","_","i","length"],"sources":["../../../src/symbols/symbol-table.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/src/tap.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["shallowRef","useContext","DeclarationContext","MemberDeclarationContext","useScope","SourceFileContext","createTap","tapper","handler","signal","undefined","fn","value","ref","createDeclarationTap","createMemberTap","createScopeTap","createSourceFileTap"],"sources":["../../src/tap.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAqBA,UAAU,QAAQ,iBAAiB;AACxD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,wBAAwB,QAAQ,iCAAiC;AAC1E,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,iBAAiB,QAAQ,0BAA0B;;AAK5D;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CACvBC,MAAiB,EACjBC,OAAuB,EACf;EACR,MAAMC,MAAM,GAAGT,UAAU,CAAgBU,SAAS,CAAC;EACnD,MAAMC,EAAE,GAAGA,CAAA,KAAM;IACfF,MAAM,CAACG,KAAK,GAAGL,MAAM,CAAC,CAAC;IACvB,IAAIC,OAAO,IAAIC,MAAM,CAACG,KAAK,KAAKF,SAAS,EAAE;MACzCF,OAAO,CAACC,MAAM,CAACG,KAAK,CAAC;IACvB;IAEA,OAAO,EAAE;EACX,CAAC;EAEDD,EAAE,CAACE,GAAG,GAAGJ,MAAM;EAEf,OAAOE,EAAE;AACX;;AAEA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAElCN,OAA6B,EAAE;EAC/B,OAAOF,SAAS,CAAU,MAAM;IAC9B,OAAOL,UAAU,CAACC,kBAAkB,CAAC;EACvC,CAAC,EAAEM,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASO,eAAeA,CAC7BP,OAA6B,EAC7B;EACA,OAAOF,SAAS,CAAU,MAAM;IAC9B,OAAOL,UAAU,CAACE,wBAAwB,CAAC;EAC7C,CAAC,EAAEK,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,cAAcA,CAC5BR,OAA4B,EAC5B;EACA,OAAOF,SAAS,CAAS,MAAM;IAC7B,OAAOF,QAAQ,CAAC,CAAC;EACnB,CAAC,EAAEI,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASS,mBAAmBA,CAACT,OAAuC,EAAE;EAC3E,OAAOF,SAAS,CAAC,MAAM;IACrB,OAAOL,UAAU,CAACI,iBAAiB,CAAC;EACtC,CAAC,EAAEG,OAAO,CAAC;AACb","ignoreList":[]}
|
package/dist/src/tracer.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Refkey } from "./refkey.js";
|
|
2
2
|
import { type OutputScope } from "./symbols/output-scope.js";
|
|
3
3
|
import { type OutputSymbol } from "./symbols/output-symbol.js";
|
|
4
|
+
import { SymbolTable } from "./symbols/symbol-table.js";
|
|
4
5
|
export declare const TracePhase: {
|
|
5
6
|
readonly scope: {
|
|
6
7
|
readonly update: {
|
|
@@ -30,6 +31,15 @@ export declare const TracePhase: {
|
|
|
30
31
|
readonly b: 100;
|
|
31
32
|
};
|
|
32
33
|
};
|
|
34
|
+
readonly moveSymbols: {
|
|
35
|
+
readonly area: "scope";
|
|
36
|
+
readonly subarea: "moveSymbols";
|
|
37
|
+
readonly bg: {
|
|
38
|
+
readonly r: 0;
|
|
39
|
+
readonly g: 100;
|
|
40
|
+
readonly b: 100;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
33
43
|
};
|
|
34
44
|
readonly symbol: {
|
|
35
45
|
readonly update: {
|
|
@@ -226,13 +236,15 @@ interface TextFormat {
|
|
|
226
236
|
*/
|
|
227
237
|
export declare function formatSymbolName(symbol: OutputSymbol): string;
|
|
228
238
|
export declare function formatSymbol(symbol: OutputSymbol): string;
|
|
229
|
-
export declare function
|
|
239
|
+
export declare function formatSpaceSymbols(space: SymbolTable): string;
|
|
240
|
+
export declare function formatScopeName(scope: OutputScope | undefined): string;
|
|
241
|
+
export declare function formatSymbolTableName(table: SymbolTable): string;
|
|
230
242
|
/**
|
|
231
243
|
* Format an OutputScope for display, showing information in a concise format
|
|
232
244
|
* @param scope The scope to format
|
|
233
245
|
* @returns A formatted string representation of the scope
|
|
234
246
|
*/
|
|
235
|
-
export declare function formatScope(scope:
|
|
247
|
+
export declare function formatScope(scope: OutputScope): string;
|
|
236
248
|
export declare function formatRefkeys(refkeys: Refkey[] | Refkey | undefined): string;
|
|
237
249
|
export {};
|
|
238
250
|
//# sourceMappingURL=tracer.d.ts.map
|
package/dist/src/tracer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AA0BxD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHb,CAAC;AAEX,UAAU,UAAW,SAAQ,UAAU;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,MAAM,EAChB,UAAU,GAAE,GAAG,CAAC,MAAM,CAAa,QA4BpC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,MAAM,QA8B9D;AAED,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,4CAA4C;AAC5C,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAqCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ7D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoCzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,UAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAYtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAahE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAwCtD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,UAUnE"}
|
package/dist/src/tracer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { effect } from "@vue/reactivity";
|
|
2
2
|
import { untrack } from "./reactivity.js";
|
|
3
|
+
import { isMemberRefkey } from "./refkey.js";
|
|
3
4
|
import { scheduler } from "./scheduler.js";
|
|
4
|
-
import { OutputScopeFlags, OutputSymbolFlags } from "./symbols/flags.js";
|
|
5
5
|
// enable tracing for specific phases using a comma separated list of
|
|
6
6
|
// dotted identifiers, e.g. `scope.update,symbol.create`.
|
|
7
7
|
const traceEnv = process.env.ALLOY_TRACE ?? "";
|
|
@@ -46,6 +46,15 @@ export const TracePhase = {
|
|
|
46
46
|
g: 100,
|
|
47
47
|
b: 100
|
|
48
48
|
}
|
|
49
|
+
},
|
|
50
|
+
moveSymbols: {
|
|
51
|
+
area: "scope",
|
|
52
|
+
subarea: "moveSymbols",
|
|
53
|
+
bg: {
|
|
54
|
+
r: 0,
|
|
55
|
+
g: 100,
|
|
56
|
+
b: 100
|
|
57
|
+
}
|
|
49
58
|
}
|
|
50
59
|
},
|
|
51
60
|
symbol: {
|
|
@@ -316,16 +325,6 @@ function colorText(text, fmt) {
|
|
|
316
325
|
return `${prefix}${text}${reset}`;
|
|
317
326
|
}
|
|
318
327
|
|
|
319
|
-
/**
|
|
320
|
-
* Format flag values in a concise way, showing only the flags that are set
|
|
321
|
-
* @param flags The numeric flags value to format
|
|
322
|
-
* @param flagEnum The enum containing flag definitions
|
|
323
|
-
* @returns An array of flag names that are set
|
|
324
|
-
*/
|
|
325
|
-
function formatFlags(flags, flagEnum) {
|
|
326
|
-
return Object.entries(flagEnum).filter(([name, value]) => typeof value === "number" && value !== 0 && (flags & value) === value).map(([name]) => name);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
328
|
/**
|
|
330
329
|
* Format a symbol name with its ID in a blue-green color
|
|
331
330
|
* @param symbol The symbol to format
|
|
@@ -340,18 +339,6 @@ export function formatSymbolName(symbol) {
|
|
|
340
339
|
}
|
|
341
340
|
});
|
|
342
341
|
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* Format the symbols in a member scope, showing their names and IDs
|
|
346
|
-
* @param scope The member scope containing the symbols to format
|
|
347
|
-
* @returns A formatted string representation of the member scope symbols
|
|
348
|
-
*/
|
|
349
|
-
function formatMemberScopeSymbols(scope) {
|
|
350
|
-
if (!scope || scope.symbols.size === 0) {
|
|
351
|
-
return "none";
|
|
352
|
-
}
|
|
353
|
-
return Array.from(scope.symbols).map(symbol => formatSymbolName(symbol)).join(", ");
|
|
354
|
-
}
|
|
355
342
|
export function formatSymbol(symbol) {
|
|
356
343
|
// Base display with name and ID
|
|
357
344
|
let result = formatSymbolName(symbol);
|
|
@@ -368,29 +355,15 @@ export function formatSymbol(symbol) {
|
|
|
368
355
|
}));
|
|
369
356
|
}
|
|
370
357
|
|
|
371
|
-
// Show only enabled flags
|
|
372
|
-
const flagsInfo = formatFlags(symbol.flags, OutputSymbolFlags);
|
|
373
|
-
if (flagsInfo.length > 0) {
|
|
374
|
-
details.push(` flags: ${flagsInfo.join(", ")}`);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
358
|
// Show scope info with formatted name
|
|
378
359
|
if (symbol.scope) {
|
|
379
360
|
details.push(untrack(() => ` scope: ${formatScopeName(symbol.scope)}`));
|
|
380
361
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
if (symbol.instanceMemberScope) {
|
|
384
|
-
untrack(() => {
|
|
385
|
-
const memberCount = symbol.instanceMemberScope.symbols.size;
|
|
386
|
-
details.push(` instance members: ${memberCount} - ${formatMemberScopeSymbols(symbol.instanceMemberScope)}`);
|
|
387
|
-
});
|
|
362
|
+
for (const space of symbol.memberSpaces) {
|
|
363
|
+
details.push(untrack(() => formatSpaceSymbols(space)));
|
|
388
364
|
}
|
|
389
|
-
if (symbol.
|
|
390
|
-
untrack(() => {
|
|
391
|
-
const memberCount = symbol.staticMemberScope.symbols.size;
|
|
392
|
-
details.push(` static members: ${memberCount} - ${formatMemberScopeSymbols(symbol.staticMemberScope)}`);
|
|
393
|
-
});
|
|
365
|
+
if (symbol.ownerSymbol) {
|
|
366
|
+
details.push(untrack(() => ` ownerSymbol: ${formatSymbolName(symbol.ownerSymbol)}`));
|
|
394
367
|
}
|
|
395
368
|
|
|
396
369
|
// Show all refkeys with proper formatting
|
|
@@ -402,18 +375,31 @@ export function formatSymbol(symbol) {
|
|
|
402
375
|
}
|
|
403
376
|
return result;
|
|
404
377
|
}
|
|
378
|
+
export function formatSpaceSymbols(space) {
|
|
379
|
+
return ` ${space.key} symbols (${space.size}): ${[...space].map(s => s.name).join(", ")}`;
|
|
380
|
+
}
|
|
405
381
|
export function formatScopeName(scope) {
|
|
406
|
-
|
|
382
|
+
if (!scope) {
|
|
383
|
+
return "no scope";
|
|
384
|
+
}
|
|
385
|
+
return colorText(`${scope.name}[${scope.id}]`, {
|
|
407
386
|
fg: {
|
|
408
387
|
r: 0,
|
|
409
388
|
g: 150,
|
|
410
389
|
b: 50
|
|
411
390
|
}
|
|
412
391
|
});
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
392
|
+
}
|
|
393
|
+
export function formatSymbolTableName(table) {
|
|
394
|
+
// avoid instance of checks here in order to not create circular module imports.
|
|
395
|
+
const name = "symbol" in table ? formatSymbolName(table.symbol) : formatScopeName(table.scope);
|
|
396
|
+
return colorText(`${name}:${table.key}`, {
|
|
397
|
+
fg: {
|
|
398
|
+
r: 0,
|
|
399
|
+
g: 125,
|
|
400
|
+
b: 25
|
|
401
|
+
}
|
|
402
|
+
});
|
|
417
403
|
}
|
|
418
404
|
|
|
419
405
|
/**
|
|
@@ -445,32 +431,21 @@ export function formatScope(scope) {
|
|
|
445
431
|
}
|
|
446
432
|
}));
|
|
447
433
|
}
|
|
448
|
-
// Show only enabled flags
|
|
449
|
-
const flagsInfo = formatFlags(scope.flags, OutputScopeFlags);
|
|
450
|
-
if (flagsInfo.length > 0) {
|
|
451
|
-
details.push(` flags: ${flagsInfo.join(", ")}`);
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
// Show symbol count
|
|
455
|
-
const symbolCount = scope.symbols.size;
|
|
456
|
-
if (symbolCount > 0) {
|
|
457
|
-
details.push(` symbols: ${symbolCount}`);
|
|
458
|
-
}
|
|
459
434
|
|
|
460
435
|
// Show parent scope if present
|
|
461
436
|
if (scope.parent) {
|
|
462
437
|
details.push(` parent: ${formatScopeName(scope.parent)}`);
|
|
463
438
|
}
|
|
464
439
|
|
|
465
|
-
// Show owner if present (for member scopes)
|
|
466
|
-
if (scope.owner) {
|
|
467
|
-
details.push(` owner: ${formatSymbolName(scope.owner)}`);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
440
|
// Show child scopes if present
|
|
471
441
|
if (scope.children && scope.children.size > 0) {
|
|
472
442
|
details.push(` children: ${scope.children.size}`);
|
|
473
443
|
}
|
|
444
|
+
|
|
445
|
+
// Show declaration spaces
|
|
446
|
+
for (const space of scope.spaces) {
|
|
447
|
+
details.push(` ${untrack(() => formatSpaceSymbols(space))}`);
|
|
448
|
+
}
|
|
474
449
|
if (details.length > 0) {
|
|
475
450
|
result += "\n" + details.join("\n");
|
|
476
451
|
}
|
|
@@ -486,11 +461,13 @@ export function formatRefkeys(refkeys) {
|
|
|
486
461
|
return formatRefkey(refkeys);
|
|
487
462
|
}
|
|
488
463
|
function formatRefkey(refkey) {
|
|
489
|
-
|
|
464
|
+
const text = isMemberRefkey(refkey) ? `memberRefkey[${formatRefkey(refkey.base)} -> ${formatRefkey(refkey.member)}]` : `refkey[${refkey.key}]`;
|
|
465
|
+
return colorText(text, {
|
|
490
466
|
fg: {
|
|
491
467
|
r: 150,
|
|
492
468
|
g: 0,
|
|
493
469
|
b: 0
|
|
494
470
|
}
|
|
495
471
|
});
|
|
496
|
-
}
|
|
472
|
+
}
|
|
473
|
+
//# sourceMappingURL=tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["effect","untrack","isMemberRefkey","scheduler","traceEnv","process","env","ALLOY_TRACE","tracePhases","Set","split","map","t","trim","size","console","log","Array","from","join","debuggerIdsEnv","ALLOY_BREAK_ON_DID","dids","forEach","id","num","parseInt","isNaN","add","TracePhase","scope","update","area","subarea","bg","r","g","b","create","copySymbols","moveSymbols","symbol","resolve","flow","addToScope","instantiate","clone","delete","removeFromScope","success","pending","failure","schedule","track","trigger","render","worker","appendChild","renderEffect","triggerCount","shouldTrace","phase","has","trace","cb","triggerIds","areaTag","colorText","bold","fg","traceEffect","first","runner","clear","onTrigger","event","text","fmt","codes","push","length","prefix","reset","formatSymbolName","name","formatSymbol","result","details","binder","formatScopeName","space","memberSpaces","formatSpaceSymbols","ownerSymbol","refkeys","formatRefkeys","key","s","formatSymbolTableName","table","formatScope","parent","children","spaces","isArray","formatRefkey","refkey","base","member"],"sources":["../../src/tracer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAA8B,iBAAiB;AAC9D,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,cAAc,QAAqB,aAAa;AACzD,SAASC,SAAS,QAAQ,gBAAgB;AAS1C;AACA;AACA,MAAMC,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAACC,WAAW,IAAI,EAAE;AAC9C,MAAMC,WAAW,GAAG,IAAIC,GAAG,CACzBL,QAAQ,KAAK,EAAE,GAAG,EAAE,GAAGA,QAAQ,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAChE,CAAC;AAED,IAAIL,WAAW,CAACM,IAAI,GAAG,CAAC,EAAE;EACxB;EACAC,OAAO,CAACC,GAAG,CACT,6BAA6B,EAC7BC,KAAK,CAACC,IAAI,CAACV,WAAW,CAAC,CAACW,IAAI,CAAC,IAAI,CACnC,CAAC;AACH;AAEA,MAAMC,cAAc,GAAGf,OAAO,CAACC,GAAG,CAACe,kBAAkB,IAAI,EAAE;AAC3D,MAAMC,IAAI,GAAG,IAAIb,GAAG,CAAS,CAAC;AAE9BW,cAAc,CAACV,KAAK,CAAC,GAAG,CAAC,CAACa,OAAO,CAAEC,EAAE,IAAK;EACxC,MAAMC,GAAG,GAAGC,QAAQ,CAACF,EAAE,EAAE,EAAE,CAAC;EAC5B,IAAI,CAACG,KAAK,CAACF,GAAG,CAAC,EAAE;IACfH,IAAI,CAACM,GAAG,CAACH,GAAG,CAAC;EACf;AACF,CAAC,CAAC;AACF,OAAO,MAAMI,UAAU,GAAG;EACxBC,KAAK,EAAE;IACLC,MAAM,EAAE;MACNC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAI;IAC7B,CAAC;IACDC,MAAM,EAAE;MACNN,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAI;IAC7B,CAAC;IACDE,WAAW,EAAE;MACXP,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,aAAa;MACtBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAI;IAC7B,CAAC;IACDG,WAAW,EAAE;MACXR,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,aAAa;MACtBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAI;IAC7B;EACF,CAAC;EACDI,MAAM,EAAE;IACNV,MAAM,EAAE;MACNC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAC3B,CAAC;IACDK,OAAO,EAAE;MACPV,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,SAAS;MAClBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAC3B,CAAC;IACDC,MAAM,EAAE;MACNN,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAC3B,CAAC;IACDM,IAAI,EAAE;MACJX,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,MAAM;MACfC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAC3B,CAAC;IACDO,UAAU,EAAE;MACVZ,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,YAAY;MACrBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAG;IAC1B,CAAC;IACDQ,WAAW,EAAE;MACXb,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,aAAa;MACtBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAG;IAC1B,CAAC;IACDS,KAAK,EAAE;MACLd,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,OAAO;MAChBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAG;IAC1B,CAAC;IACDU,MAAM,EAAE;MACNf,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAC7B,CAAC;IACDW,eAAe,EAAE;MACfhB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,iBAAiB;MAC1BC,EAAE,EAAE;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAG;IAC3B;EACF,CAAC;EACDK,OAAO,EAAE;IACPO,OAAO,EAAE;MACPjB,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE,SAAS;MAClBC,EAAE,EAAE;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAE;IAC3B,CAAC;IACDa,OAAO,EAAE;MACPlB,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE,SAAS;MAClBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAE;IAC7B,CAAC;IACDc,OAAO,EAAE;MACPnB,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE,SAAS;MAClBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAG;IAC7B;EACF,CAAC;EACDrC,MAAM,EAAE;IACNoD,QAAQ,EAAE;MACRpB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,UAAU;MACnBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAE;IAC7B,CAAC;IACDgB,KAAK,EAAE;MACLrB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,OAAO;MAChBC,EAAE,EAAE;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAE;IAC3B,CAAC;IACDiB,OAAO,EAAE;MACPtB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,SAAS;MAClBC,EAAE,EAAE;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAE;IAC3B;EACF,CAAC;EACDkB,MAAM,EAAE;IACNC,MAAM,EAAE;MACNxB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,QAAQ;MACjBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAE;IAC5B,CAAC;IACDoB,WAAW,EAAE;MACXzB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,aAAa;MACtBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAE;IAC5B,CAAC;IACDqB,YAAY,EAAE;MACZ1B,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,eAAe;MACxBC,EAAE,EAAE;QAAEC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,EAAE;QAAEC,CAAC,EAAE;MAAE;IAC5B;EACF;AACF,CAAU;AAOV,IAAIsB,YAAY,GAAG,CAAC;AAEpB,SAASC,WAAWA,CAACC,KAAiB,EAAE;EACtC,OACErD,WAAW,CAACsD,GAAG,CAACD,KAAK,CAAC7B,IAAI,CAAC,IAC3BxB,WAAW,CAACsD,GAAG,CAACD,KAAK,CAAC7B,IAAI,GAAG,GAAG,GAAG6B,KAAK,CAAC5B,OAAO,CAAC;AAErD;AACA,OAAO,SAAS8B,KAAKA,CACnBF,KAAiB,EACjBG,EAAgB,EAChBC,UAAuB,GAAG,IAAIxD,GAAG,CAAC,CAAC,EACnC;EACA,IAAI,CAACmD,WAAW,CAACC,KAAK,CAAC,EAAE;IACvB;EACF;EACA,IAAII,UAAU,CAACnD,IAAI,KAAK,CAAC,EAAE;IACzB;IACA,MAAMU,EAAE,GAAGmC,YAAY,EAAE;IACzBM,UAAU,CAACrC,GAAG,CAACJ,EAAE,CAAC;IAElB,IAAIF,IAAI,CAACwC,GAAG,CAACtC,EAAE,CAAC,EAAE;MAChB;MACA;IACF;EACF;EAEA,MAAM0C,OAAO,GAAG,IAAIL,KAAK,CAAC7B,IAAI,GAAG,GAAG,GAAG6B,KAAK,CAAC5B,OAAO,GAAG;EACvD;EACAlB,OAAO,CAACC,GAAG,CACTmD,SAAS,CAACD,OAAO,EAAE;IAAE,GAAGL,KAAK;IAAEO,IAAI,EAAE;EAAK,CAAC,CAAC,GAC1C,GAAG,GACHD,SAAS,CAAC,GAAG,GAAG,CAAC,GAAGF,UAAU,CAAC,CAAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;IAC/CkD,EAAE,EAAE;MAAElC,CAAC,EAAE,EAAE;MAAEC,CAAC,EAAE,EAAE;MAAEC,CAAC,EAAE;IAAG;EAC5B,CAAC,CAAC,GACF,GAAG,GACH2B,EAAE,CAAC,CAAC,GACJ,IACJ,CAAC;AACH;AAEA,OAAO,SAASM,WAAWA,CAACT,KAAiB,EAAEG,EAAgB,EAAE;EAC/D,IAAI,CAACJ,WAAW,CAACC,KAAK,CAAC,EAAE;IACvB;EACF;EACA,IAAIU,KAAK,GAAG,IAAI;EAChB,MAAMN,UAAU,GAAG,IAAIxD,GAAG,CAAS,CAAC;EAEpC,MAAM+D,MAAkC,GAAGxE,MAAM,CAC/C,MAAM;IACJ,IAAIuE,KAAK,EAAE;MACT;MACAP,EAAE,CAAC,CAAC;MACJO,KAAK,GAAG,KAAK;MACb;IACF;IACAR,KAAK,CAACF,KAAK,EAAEG,EAAE,EAAEC,UAAU,CAAC;IAC5BA,UAAU,CAACQ,KAAK,CAAC,CAAC;EACpB,CAAC,EACD;IACEtE,SAAS,EAAEA,SAAS,CAAC,MAAMqE,MAAM,EAAE,IAAI,CAAC;IACxCE,SAASA,CAACC,KAAK,EAAE;MACf,MAAMnD,EAAE,GAAGmC,YAAY,EAAE;MACzB,IAAIrC,IAAI,CAACwC,GAAG,CAACtC,EAAE,CAAC,EAAE;QAChB;QACA;MACF;MACAyC,UAAU,CAACrC,GAAG,CAACJ,EAAE,CAAC;IACpB;EACF,CACF,CAAC;AACH;;AAQA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2C,SAASA,CAACS,IAAY,EAAEC,GAAgB,EAAU;EACzD,IAAI,CAACA,GAAG,EAAE,OAAOD,IAAI;EAErB,MAAME,KAAe,GAAG,EAAE;EAE1B,IAAID,GAAG,CAACT,IAAI,EAAE;IACZU,KAAK,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;EACnB;EAEA,IAAIF,GAAG,CAACR,EAAE,EAAE;IACV,MAAM;MAAElC,CAAC;MAAEC,CAAC;MAAEC;IAAE,CAAC,GAAGwC,GAAG,CAACR,EAAE;IAC1BS,KAAK,CAACC,IAAI,CAAC,QAAQ5C,CAAC,IAAIC,CAAC,IAAIC,CAAC,EAAE,CAAC;EACnC;EAEA,IAAIwC,GAAG,CAAC3C,EAAE,EAAE;IACV,MAAM;MAAEC,CAAC;MAAEC,CAAC;MAAEC;IAAE,CAAC,GAAGwC,GAAG,CAAC3C,EAAE;IAC1B4C,KAAK,CAACC,IAAI,CAAC,QAAQ5C,CAAC,IAAIC,CAAC,IAAIC,CAAC,EAAE,CAAC;EACnC;EAEA,IAAIyC,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOJ,IAAI;EACb;EAEA,MAAMK,MAAM,GAAG,QAAQH,KAAK,CAAC3D,IAAI,CAAC,GAAG,CAAC,GAAG;EACzC,MAAM+D,KAAK,GAAG,SAAS;EACvB,OAAO,GAAGD,MAAM,GAAGL,IAAI,GAAGM,KAAK,EAAE;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC1C,MAAoB,EAAU;EAC7D,OAAO0B,SAAS,CAAC,UAAU1B,MAAM,CAAC2C,IAAI,IAAI3C,MAAM,CAACjB,EAAE,GAAG,EAAE;IACtD6C,EAAE,EAAE;MACFlC,CAAC,EAAE,CAAC;MACJE,CAAC,EAAE,GAAG;MACND,CAAC,EAAE;IACL;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASiD,YAAYA,CAAC5C,MAAoB,EAAU;EACzD;EACA,IAAI6C,MAAM,GAAGH,gBAAgB,CAAC1C,MAAM,CAAC;;EAErC;EACA,MAAM8C,OAAiB,GAAG,EAAE;EAE5B,IAAI,CAAC9C,MAAM,CAAC+C,MAAM,EAAE;IAClBD,OAAO,CAACR,IAAI,CAACZ,SAAS,CAAC,YAAY,EAAE;MAAEE,EAAE,EAAE;QAAElC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE;IAAE,CAAC,CAAC,CAAC;EACvE;;EAEA;EACA,IAAII,MAAM,CAACX,KAAK,EAAE;IAChByD,OAAO,CAACR,IAAI,CAAC9E,OAAO,CAAC,MAAM,YAAYwF,eAAe,CAAChD,MAAM,CAACX,KAAK,CAAC,EAAE,CAAC,CAAC;EAC1E;EAEA,KAAK,MAAM4D,KAAK,IAAIjD,MAAM,CAACkD,YAAY,EAAE;IACvCJ,OAAO,CAACR,IAAI,CAAC9E,OAAO,CAAC,MAAM2F,kBAAkB,CAACF,KAAK,CAAC,CAAC,CAAC;EACxD;EAEA,IAAIjD,MAAM,CAACoD,WAAW,EAAE;IACtBN,OAAO,CAACR,IAAI,CACV9E,OAAO,CAAC,MAAM,kBAAkBkF,gBAAgB,CAAC1C,MAAM,CAACoD,WAAY,CAAC,EAAE,CACzE,CAAC;EACH;;EAEA;EACA,IAAIpD,MAAM,CAACqD,OAAO,IAAIrD,MAAM,CAACqD,OAAO,CAACd,MAAM,GAAG,CAAC,EAAE;IAC/CO,OAAO,CAACR,IAAI,CAAC,cAAcgB,aAAa,CAACtD,MAAM,CAACqD,OAAO,CAAC,EAAE,CAAC;EAC7D;EAEA,IAAIP,OAAO,CAACP,MAAM,GAAG,CAAC,EAAE;IACtBM,MAAM,IAAI,IAAI,GAAGC,OAAO,CAACpE,IAAI,CAAC,IAAI,CAAC;EACrC;EAEA,OAAOmE,MAAM;AACf;AAEA,OAAO,SAASM,kBAAkBA,CAACF,KAAkB,EAAE;EACrD,OAAO,KAAKA,KAAK,CAACM,GAAG,aAAaN,KAAK,CAAC5E,IAAI,MAAM,CAAC,GAAG4E,KAAK,CAAC,CAAC/E,GAAG,CAAEsF,CAAC,IAAKA,CAAC,CAACb,IAAI,CAAC,CAACjE,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9F;AAEA,OAAO,SAASsE,eAAeA,CAAC3D,KAA8B,EAAU;EACtE,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,UAAU;EACnB;EAEA,OAAOqC,SAAS,CAAC,GAAGrC,KAAK,CAACsD,IAAI,IAAItD,KAAK,CAACN,EAAE,GAAG,EAAE;IAC7C6C,EAAE,EAAE;MACFlC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE;IACL;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAAS6D,qBAAqBA,CAACC,KAAkB,EAAU;EAChE;EACA,MAAMf,IAAI,GACR,QAAQ,IAAIe,KAAK,GACfhB,gBAAgB,CAAEgB,KAAK,CAAuB1D,MAAM,CAAC,GACrDgD,eAAe,CAAEU,KAAK,CAA4BrE,KAAK,CAAC;EAC5D,OAAOqC,SAAS,CAAC,GAAGiB,IAAI,IAAIe,KAAK,CAACH,GAAG,EAAE,EAAE;IACvC3B,EAAE,EAAE;MACFlC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE;IACL;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS+D,WAAWA,CAACtE,KAAkB,EAAU;EACtD,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,mBAAmB;EAC5B;EACA;EACA,IAAIwD,MAAM,GAAGnB,SAAS,CAAC,SAASsB,eAAe,CAAC3D,KAAK,CAAC,EAAE,EAAE;IACxDuC,EAAE,EAAE;MACFlC,CAAC,EAAE,CAAC;MACJE,CAAC,EAAE,GAAG;MACND,CAAC,EAAE;IACL;EACF,CAAC,CAAC;;EAEF;EACA,MAAMmD,OAAiB,GAAG,EAAE;EAE5B,IAAI,CAACzD,KAAK,CAAC0D,MAAM,EAAE;IACjBD,OAAO,CAACR,IAAI,CAACZ,SAAS,CAAC,YAAY,EAAE;MAAEE,EAAE,EAAE;QAAElC,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE;IAAE,CAAC,CAAC,CAAC;EACvE;;EAEA;EACA,IAAIP,KAAK,CAACuE,MAAM,EAAE;IAChBd,OAAO,CAACR,IAAI,CAAC,aAAaU,eAAe,CAAC3D,KAAK,CAACuE,MAAM,CAAC,EAAE,CAAC;EAC5D;;EAEA;EACA,IAAIvE,KAAK,CAACwE,QAAQ,IAAIxE,KAAK,CAACwE,QAAQ,CAACxF,IAAI,GAAG,CAAC,EAAE;IAC7CyE,OAAO,CAACR,IAAI,CAAC,eAAejD,KAAK,CAACwE,QAAQ,CAACxF,IAAI,EAAE,CAAC;EACpD;;EAEA;EACA,KAAK,MAAM4E,KAAK,IAAI5D,KAAK,CAACyE,MAAM,EAAE;IAChChB,OAAO,CAACR,IAAI,CAAC,KAAK9E,OAAO,CAAC,MAAM2F,kBAAkB,CAACF,KAAK,CAAC,CAAC,EAAE,CAAC;EAC/D;EAEA,IAAIH,OAAO,CAACP,MAAM,GAAG,CAAC,EAAE;IACtBM,MAAM,IAAI,IAAI,GAAGC,OAAO,CAACpE,IAAI,CAAC,IAAI,CAAC;EACrC;EAEA,OAAOmE,MAAM;AACf;AAEA,OAAO,SAASS,aAAaA,CAACD,OAAsC,EAAE;EACpE,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,EAAE;EACX;EAEA,IAAI7E,KAAK,CAACuF,OAAO,CAACV,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO,CAACnF,GAAG,CAAC8F,YAAY,CAAC,CAACtF,IAAI,CAAC,IAAI,CAAC;EAC7C;EAEA,OAAOsF,YAAY,CAACX,OAAO,CAAC;AAC9B;AAEA,SAASW,YAAYA,CAACC,MAAc,EAAU;EAC5C,MAAM9B,IAAI,GACR1E,cAAc,CAACwG,MAAM,CAAC,GACpB,gBAAgBD,YAAY,CAACC,MAAM,CAACC,IAAI,CAAC,OAAOF,YAAY,CAACC,MAAM,CAACE,MAAM,CAAC,GAAG,GAC9E,UAAUF,MAAM,CAACV,GAAG,GAAG;EAE3B,OAAO7B,SAAS,CAACS,IAAI,EAAE;IACrBP,EAAE,EAAE;MACFlC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE;IACL;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/dist/src/utils.js
CHANGED