@alloy-js/core 0.23.0-dev.1 → 0.23.0-dev.11
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/CHANGELOG.md +0 -22
- package/dist/devtools/index.html +80 -0
- package/dist/src/binder.d.ts +2 -0
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +60 -12
- package/dist/src/binder.js.map +1 -1
- package/dist/src/components/AccessExpression.d.ts +78 -0
- package/dist/src/components/AccessExpression.d.ts.map +1 -0
- package/dist/src/components/AccessExpression.js +218 -0
- package/dist/src/components/AccessExpression.js.map +1 -0
- package/dist/src/components/AccessExpression.test.d.ts +2 -0
- package/dist/src/components/AccessExpression.test.d.ts.map +1 -0
- package/dist/src/components/AccessExpression.test.js +137 -0
- package/dist/src/components/AccessExpression.test.js.map +1 -0
- package/dist/src/components/AppendFile.d.ts.map +1 -1
- package/dist/src/components/AppendFile.js +14 -3
- package/dist/src/components/AppendFile.js.map +1 -1
- package/dist/src/components/Block.js +1 -1
- package/dist/src/components/Block.js.map +1 -1
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js +2 -1
- package/dist/src/components/Declaration.js.map +1 -1
- package/dist/src/components/For.d.ts.map +1 -1
- package/dist/src/components/For.js +1 -1
- package/dist/src/components/For.js.map +1 -1
- package/dist/src/components/List.d.ts.map +1 -1
- package/dist/src/components/List.js +1 -1
- package/dist/src/components/List.js.map +1 -1
- package/dist/src/components/Prose.js +2 -2
- package/dist/src/components/Prose.js.map +1 -1
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js +6 -1
- package/dist/src/components/Scope.js.map +1 -1
- package/dist/src/components/SourceDirectory.d.ts.map +1 -1
- package/dist/src/components/SourceDirectory.js +1 -2
- package/dist/src/components/SourceDirectory.js.map +1 -1
- package/dist/src/components/Switch.d.ts.map +1 -1
- package/dist/src/components/Switch.js +1 -1
- package/dist/src/components/Switch.js.map +1 -1
- package/dist/src/components/TemplateFile.d.ts.map +1 -1
- package/dist/src/components/TemplateFile.js +18 -3
- package/dist/src/components/TemplateFile.js.map +1 -1
- package/dist/src/components/index.d.ts +1 -0
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +1 -0
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/content-slot.d.ts.map +1 -1
- package/dist/src/content-slot.js +7 -6
- package/dist/src/content-slot.js.map +1 -1
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +10 -3
- package/dist/src/context.js.map +1 -1
- package/dist/src/debug/cli.d.ts +6 -0
- package/dist/src/debug/cli.d.ts.map +1 -0
- package/dist/src/{debug.js → debug/cli.js} +79 -82
- package/dist/src/debug/cli.js.map +1 -0
- package/dist/src/debug/diagnostics.test.d.ts +2 -0
- package/dist/src/debug/diagnostics.test.d.ts.map +1 -0
- package/dist/src/debug/diagnostics.test.js +46 -0
- package/dist/src/debug/diagnostics.test.js.map +1 -0
- package/dist/src/debug/effects.d.ts +81 -0
- package/dist/src/debug/effects.d.ts.map +1 -0
- package/dist/src/debug/effects.js +358 -0
- package/dist/src/debug/effects.js.map +1 -0
- package/dist/src/debug/effects.test.d.ts +2 -0
- package/dist/src/debug/effects.test.d.ts.map +1 -0
- package/dist/src/debug/effects.test.js +256 -0
- package/dist/src/debug/effects.test.js.map +1 -0
- package/dist/src/debug/files.d.ts +14 -0
- package/dist/src/debug/files.d.ts.map +1 -0
- package/dist/src/debug/files.js +29 -0
- package/dist/src/debug/files.js.map +1 -0
- package/dist/src/debug/files.test.d.ts +2 -0
- package/dist/src/debug/files.test.d.ts.map +1 -0
- package/dist/src/debug/files.test.js +66 -0
- package/dist/src/debug/files.test.js.map +1 -0
- package/dist/src/debug/index.d.ts +63 -0
- package/dist/src/debug/index.d.ts.map +1 -0
- package/dist/src/debug/index.js +71 -0
- package/dist/src/debug/index.js.map +1 -0
- package/dist/src/debug/message-format.test.d.ts +2 -0
- package/dist/src/debug/message-format.test.d.ts.map +1 -0
- package/dist/src/debug/message-format.test.js +700 -0
- package/dist/src/debug/message-format.test.js.map +1 -0
- package/dist/src/debug/render-tree-orphans.test.d.ts +2 -0
- package/dist/src/debug/render-tree-orphans.test.d.ts.map +1 -0
- package/dist/src/debug/render-tree-orphans.test.js +297 -0
- package/dist/src/debug/render-tree-orphans.test.js.map +1 -0
- package/dist/src/debug/render.d.ts +57 -0
- package/dist/src/debug/render.d.ts.map +1 -0
- package/dist/src/debug/render.js +472 -0
- package/dist/src/debug/render.js.map +1 -0
- package/dist/src/debug/render.test.d.ts +2 -0
- package/dist/src/debug/render.test.d.ts.map +1 -0
- package/dist/src/debug/render.test.js +291 -0
- package/dist/src/debug/render.test.js.map +1 -0
- package/dist/src/debug/serialize.d.ts +9 -0
- package/dist/src/debug/serialize.d.ts.map +1 -0
- package/dist/src/debug/serialize.js +70 -0
- package/dist/src/debug/serialize.js.map +1 -0
- package/dist/src/debug/symbols.d.ts +16 -0
- package/dist/src/debug/symbols.d.ts.map +1 -0
- package/dist/src/debug/symbols.js +196 -0
- package/dist/src/debug/symbols.js.map +1 -0
- package/dist/src/debug/symbols.test.d.ts +2 -0
- package/dist/src/debug/symbols.test.d.ts.map +1 -0
- package/dist/src/debug/symbols.test.js +93 -0
- package/dist/src/debug/symbols.test.js.map +1 -0
- package/dist/src/debug/trace-writer.d.ts +55 -0
- package/dist/src/debug/trace-writer.d.ts.map +1 -0
- package/dist/src/debug/trace-writer.js +658 -0
- package/dist/src/debug/trace-writer.js.map +1 -0
- package/dist/src/debug/trace.d.ts +342 -0
- package/dist/src/debug/trace.d.ts.map +1 -0
- package/dist/src/debug/trace.js +446 -0
- package/dist/src/debug/trace.js.map +1 -0
- package/dist/src/devtools/devtools-protocol.d.ts +389 -0
- package/dist/src/devtools/devtools-protocol.d.ts.map +1 -0
- package/dist/src/devtools/devtools-protocol.js +2 -0
- package/dist/src/devtools/devtools-protocol.js.map +1 -0
- package/dist/src/devtools/devtools-server.browser.d.ts +23 -0
- package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -0
- package/dist/src/devtools/devtools-server.browser.js +33 -0
- package/dist/src/devtools/devtools-server.browser.js.map +1 -0
- package/dist/src/devtools/devtools-server.d.ts +66 -0
- package/dist/src/devtools/devtools-server.d.ts.map +1 -0
- package/dist/src/devtools/devtools-server.js +444 -0
- package/dist/src/devtools/devtools-server.js.map +1 -0
- package/dist/src/devtools/devtools-transport.d.ts +23 -0
- package/dist/src/devtools/devtools-transport.d.ts.map +1 -0
- package/dist/src/devtools/devtools-transport.js +114 -0
- package/dist/src/devtools/devtools-transport.js.map +1 -0
- package/dist/src/devtools-entry.browser.d.ts +4 -0
- package/dist/src/devtools-entry.browser.d.ts.map +1 -0
- package/dist/src/devtools-entry.browser.js +2 -0
- package/dist/src/devtools-entry.browser.js.map +1 -0
- package/dist/src/devtools-entry.d.ts +4 -0
- package/dist/src/devtools-entry.d.ts.map +1 -0
- package/dist/src/devtools-entry.js +2 -0
- package/dist/src/devtools-entry.js.map +1 -0
- package/dist/src/diagnostics.d.ts +34 -0
- package/dist/src/diagnostics.d.ts.map +1 -0
- package/dist/src/diagnostics.js +89 -0
- package/dist/src/diagnostics.js.map +1 -0
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/print-hook.d.ts +14 -0
- package/dist/src/print-hook.d.ts.map +1 -0
- package/dist/src/print-hook.js +10 -0
- package/dist/src/print-hook.js.map +1 -0
- package/dist/src/reactive-union-set.d.ts.map +1 -1
- package/dist/src/reactive-union-set.js +28 -3
- package/dist/src/reactive-union-set.js.map +1 -1
- package/dist/src/reactivity.d.ts +60 -7
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +308 -39
- package/dist/src/reactivity.js.map +1 -1
- package/dist/src/render-stack.d.ts +18 -1
- package/dist/src/render-stack.d.ts.map +1 -1
- package/dist/src/render-stack.js +61 -1
- package/dist/src/render-stack.js.map +1 -1
- package/dist/src/render.d.ts +8 -15
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +424 -109
- package/dist/src/render.js.map +1 -1
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +5 -0
- package/dist/src/resource.js.map +1 -1
- package/dist/src/scheduler.d.ts +13 -0
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +150 -13
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/symbols/basic-symbol.d.ts.map +1 -1
- package/dist/src/symbols/basic-symbol.js +6 -1
- package/dist/src/symbols/basic-symbol.js.map +1 -1
- package/dist/src/symbols/decl.d.ts.map +1 -1
- package/dist/src/symbols/decl.js +5 -1
- package/dist/src/symbols/decl.js.map +1 -1
- package/dist/src/symbols/output-scope.d.ts +2 -1
- package/dist/src/symbols/output-scope.d.ts.map +1 -1
- package/dist/src/symbols/output-scope.js +13 -8
- package/dist/src/symbols/output-scope.js.map +1 -1
- package/dist/src/symbols/output-symbol.d.ts +1 -0
- package/dist/src/symbols/output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/output-symbol.js +25 -8
- package/dist/src/symbols/output-symbol.js.map +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 -1
- package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
- package/dist/src/symbols/symbol-slot.js +15 -0
- package/dist/src/symbols/symbol-slot.js.map +1 -1
- package/dist/src/symbols/symbol-slot.test.d.ts +2 -0
- package/dist/src/symbols/symbol-slot.test.d.ts.map +1 -0
- package/dist/src/symbols/symbol-slot.test.js +35 -0
- package/dist/src/symbols/symbol-slot.test.js.map +1 -0
- package/dist/src/symbols/symbol-table.d.ts.map +1 -1
- package/dist/src/symbols/symbol-table.js +6 -5
- package/dist/src/symbols/symbol-table.js.map +1 -1
- package/dist/src/trace.d.ts +2 -0
- package/dist/src/trace.d.ts.map +1 -0
- package/dist/src/trace.js +2 -0
- package/dist/src/trace.js.map +1 -0
- package/dist/src/tracer.d.ts +2 -228
- package/dist/src/tracer.d.ts.map +1 -1
- package/dist/src/tracer.js +5 -298
- package/dist/src/tracer.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +17 -9
- package/dist/src/utils.js.map +1 -1
- package/dist/test/components/append-file.test.d.ts.map +1 -1
- package/dist/test/components/append-file.test.js +18 -10
- package/dist/test/components/append-file.test.js.map +1 -1
- package/dist/test/components/template-file.test.d.ts.map +1 -1
- package/dist/test/components/template-file.test.js +6 -4
- package/dist/test/components/template-file.test.js.map +1 -1
- package/dist/test/lazy-isempty.test.d.ts +2 -0
- package/dist/test/lazy-isempty.test.d.ts.map +1 -0
- package/dist/test/lazy-isempty.test.js +89 -0
- package/dist/test/lazy-isempty.test.js.map +1 -0
- package/dist/test/reactive-union-set-disposers.test.d.ts +2 -0
- package/dist/test/reactive-union-set-disposers.test.d.ts.map +1 -0
- package/dist/test/reactive-union-set-disposers.test.js +98 -0
- package/dist/test/reactive-union-set-disposers.test.js.map +1 -0
- package/dist/test/reactivity/shallow-reactive.test.d.ts +2 -0
- package/dist/test/reactivity/shallow-reactive.test.d.ts.map +1 -0
- package/dist/test/reactivity/shallow-reactive.test.js +52 -0
- package/dist/test/reactivity/shallow-reactive.test.js.map +1 -0
- package/dist/test/rendering/basic.test.js +3 -0
- package/dist/test/rendering/basic.test.js.map +1 -1
- package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -1
- package/dist/test/rendering/print-render-stack.test.js +91 -98
- package/dist/test/rendering/print-render-stack.test.js.map +1 -1
- package/dist/test/scheduler-extended.test.d.ts +2 -0
- package/dist/test/scheduler-extended.test.d.ts.map +1 -0
- package/dist/test/scheduler-extended.test.js +96 -0
- package/dist/test/scheduler-extended.test.js.map +1 -0
- package/dist/test/scheduler.test.d.ts +2 -0
- package/dist/test/scheduler.test.d.ts.map +1 -0
- package/dist/test/scheduler.test.js +46 -0
- package/dist/test/scheduler.test.js.map +1 -0
- package/dist/testing/create-test-wrapper.d.ts +1 -1
- package/dist/testing/create-test-wrapper.d.ts.map +1 -1
- package/dist/testing/create-test-wrapper.js +1 -1
- package/dist/testing/create-test-wrapper.js.map +1 -1
- package/dist/testing/devtools-utils.d.ts +35 -0
- package/dist/testing/devtools-utils.d.ts.map +1 -0
- package/dist/testing/devtools-utils.js +162 -0
- package/dist/testing/devtools-utils.js.map +1 -0
- package/dist/testing/extend-expect.d.ts.map +1 -1
- package/dist/testing/extend-expect.js +63 -1
- package/dist/testing/extend-expect.js.map +1 -1
- package/dist/testing/render.d.ts +2 -2
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +2 -2
- package/dist/testing/render.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -7
- package/scripts/copy-devtools-ui.mjs +26 -0
- package/src/binder.ts +117 -53
- package/src/components/AccessExpression.test.tsx +132 -0
- package/src/components/AccessExpression.tsx +344 -0
- package/src/components/AppendFile.tsx +14 -9
- package/src/components/Block.tsx +1 -1
- package/src/components/Declaration.tsx +2 -1
- package/src/components/For.tsx +14 -10
- package/src/components/List.tsx +7 -4
- package/src/components/Prose.tsx +1 -1
- package/src/components/Scope.tsx +6 -1
- package/src/components/SourceDirectory.tsx +1 -2
- package/src/components/Switch.tsx +11 -7
- package/src/components/TemplateFile.tsx +18 -9
- package/src/components/index.tsx +1 -0
- package/src/content-slot.tsx +7 -7
- package/src/context.ts +17 -6
- package/src/{debug.ts → debug/cli.ts} +114 -125
- package/src/debug/diagnostics.test.tsx +56 -0
- package/src/debug/effects.test.tsx +301 -0
- package/src/debug/effects.ts +531 -0
- package/src/debug/files.test.tsx +76 -0
- package/src/debug/files.ts +40 -0
- package/src/debug/index.ts +132 -0
- package/src/debug/message-format.test.tsx +759 -0
- package/src/debug/render-tree-orphans.test.tsx +344 -0
- package/src/debug/render.test.tsx +357 -0
- package/src/debug/render.ts +698 -0
- package/src/debug/serialize.ts +85 -0
- package/src/debug/symbols.test.tsx +105 -0
- package/src/debug/symbols.ts +322 -0
- package/src/debug/trace-writer.ts +969 -0
- package/src/debug/trace.ts +309 -0
- package/src/devtools/devtools-protocol.ts +497 -0
- package/src/devtools/devtools-server.browser.ts +62 -0
- package/src/devtools/devtools-server.ts +468 -0
- package/src/devtools/devtools-transport.ts +154 -0
- package/src/devtools-entry.browser.ts +48 -0
- package/src/devtools-entry.ts +48 -0
- package/src/diagnostics.ts +150 -0
- package/src/index.ts +2 -7
- package/src/print-hook.ts +22 -0
- package/src/reactive-union-set.ts +85 -44
- package/src/reactivity.ts +396 -58
- package/src/render-stack.ts +73 -1
- package/src/render.ts +544 -161
- package/src/resource.ts +28 -19
- package/src/scheduler.ts +209 -14
- package/src/symbols/basic-symbol.ts +6 -1
- package/src/symbols/decl.ts +5 -1
- package/src/symbols/output-scope.ts +21 -13
- package/src/symbols/output-symbol.ts +34 -14
- package/src/symbols/symbol-flow.ts +76 -39
- package/src/symbols/symbol-slot.test.tsx +41 -0
- package/src/symbols/symbol-slot.tsx +47 -20
- package/src/symbols/symbol-table.ts +6 -10
- package/src/trace.ts +1 -0
- package/src/tracer.ts +13 -242
- package/src/utils.tsx +31 -21
- package/temp/api.json +5700 -3015
- package/test/components/append-file.test.tsx +36 -29
- package/test/components/template-file.test.tsx +11 -11
- package/test/lazy-isempty.test.tsx +106 -0
- package/test/reactive-union-set-disposers.test.tsx +112 -0
- package/test/reactivity/shallow-reactive.test.tsx +56 -0
- package/test/rendering/basic.test.tsx +4 -0
- package/test/rendering/print-render-stack.test.tsx +52 -43
- package/test/scheduler-extended.test.tsx +122 -0
- package/test/scheduler.test.tsx +50 -0
- package/testing/create-test-wrapper.tsx +1 -1
- package/testing/devtools-utils.ts +245 -0
- package/testing/extend-expect.ts +89 -0
- package/testing/render.ts +2 -2
- package/testing/vitest.d.ts +9 -0
- package/dist/src/debug.d.ts +0 -14
- package/dist/src/debug.d.ts.map +0 -1
- package/dist/src/debug.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SourceLocation } from "./runtime/component.js";
|
|
2
|
+
export interface DiagnosticStackEntry {
|
|
3
|
+
name: string;
|
|
4
|
+
renderNodeId?: number;
|
|
5
|
+
source?: SourceLocation;
|
|
6
|
+
}
|
|
7
|
+
export type DiagnosticSeverity = "info" | "warning" | "error";
|
|
8
|
+
export interface Diagnostic {
|
|
9
|
+
id: string;
|
|
10
|
+
message: string;
|
|
11
|
+
severity: DiagnosticSeverity;
|
|
12
|
+
source?: SourceLocation;
|
|
13
|
+
componentStack?: DiagnosticStackEntry[];
|
|
14
|
+
}
|
|
15
|
+
export interface DiagnosticInput {
|
|
16
|
+
message: string;
|
|
17
|
+
severity?: DiagnosticSeverity;
|
|
18
|
+
source?: SourceLocation;
|
|
19
|
+
componentStack?: DiagnosticStackEntry[];
|
|
20
|
+
}
|
|
21
|
+
export interface DiagnosticHandle {
|
|
22
|
+
dismiss(): void;
|
|
23
|
+
}
|
|
24
|
+
export declare class DiagnosticsCollector {
|
|
25
|
+
private entries;
|
|
26
|
+
private order;
|
|
27
|
+
emit(input: DiagnosticInput): DiagnosticHandle;
|
|
28
|
+
getDiagnostics(): Diagnostic[];
|
|
29
|
+
private broadcast;
|
|
30
|
+
}
|
|
31
|
+
export declare function attachDiagnosticsCollector(collector: DiagnosticsCollector): void;
|
|
32
|
+
export declare function emitDiagnostic(input: DiagnosticInput): DiagnosticHandle;
|
|
33
|
+
export declare function reportDiagnostics(collector: DiagnosticsCollector): void;
|
|
34
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,KAAK,CAAgB;IAE7B,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB;IAmC9C,cAAc;IAMd,OAAO,CAAC,SAAS;CAelB;AAID,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,oBAAoB,QAKzE;AAgBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAQvE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,QAqBhE"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { getRenderNodeId } from "./debug/index.js";
|
|
2
|
+
import { insertDiagnostic } from "./debug/trace-writer.js";
|
|
3
|
+
import { getContext } from "./reactivity.js";
|
|
4
|
+
import { getRenderStackSnapshot } from "./render-stack.js";
|
|
5
|
+
export class DiagnosticsCollector {
|
|
6
|
+
entries = new Map();
|
|
7
|
+
order = [];
|
|
8
|
+
emit(input) {
|
|
9
|
+
const componentStack = input.componentStack ?? getRenderStackSnapshot().map(entry => ({
|
|
10
|
+
name: entry.displayName,
|
|
11
|
+
renderNodeId: entry.context?.meta?.renderNode ? getRenderNodeId(entry.context.meta.renderNode) : undefined,
|
|
12
|
+
source: entry.source
|
|
13
|
+
}));
|
|
14
|
+
const source = input.source ?? componentStack.at(-1)?.source ?? undefined;
|
|
15
|
+
const id = `diag-${this.order.length + 1}-${Date.now()}`;
|
|
16
|
+
const diagnostic = {
|
|
17
|
+
id,
|
|
18
|
+
message: input.message,
|
|
19
|
+
severity: input.severity ?? "warning",
|
|
20
|
+
source,
|
|
21
|
+
componentStack
|
|
22
|
+
};
|
|
23
|
+
this.entries.set(id, diagnostic);
|
|
24
|
+
this.order.push(id);
|
|
25
|
+
|
|
26
|
+
// Broadcast updated diagnostics
|
|
27
|
+
this.broadcast();
|
|
28
|
+
return {
|
|
29
|
+
dismiss: () => {
|
|
30
|
+
this.entries.delete(id);
|
|
31
|
+
// Broadcast updated diagnostics after dismissal
|
|
32
|
+
this.broadcast();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
getDiagnostics() {
|
|
37
|
+
return this.order.map(id => this.entries.get(id)).filter(entry => Boolean(entry));
|
|
38
|
+
}
|
|
39
|
+
broadcast() {
|
|
40
|
+
const diagnostics = this.getDiagnostics();
|
|
41
|
+
for (const diagnostic of diagnostics) {
|
|
42
|
+
insertDiagnostic(diagnostic.message, diagnostic.severity, diagnostic.source?.fileName, diagnostic.source?.lineNumber, diagnostic.source?.columnNumber, diagnostic.componentStack ? JSON.stringify(diagnostic.componentStack) : undefined);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const DIAGNOSTICS_META_KEY = "diagnostics";
|
|
47
|
+
export function attachDiagnosticsCollector(collector) {
|
|
48
|
+
const context = getContext();
|
|
49
|
+
if (!context) return;
|
|
50
|
+
context.meta ??= {};
|
|
51
|
+
context.meta[DIAGNOSTICS_META_KEY] = collector;
|
|
52
|
+
}
|
|
53
|
+
function getDiagnosticsCollectorFromContext() {
|
|
54
|
+
let context = getContext();
|
|
55
|
+
while (context) {
|
|
56
|
+
const collector = context.meta?.[DIAGNOSTICS_META_KEY];
|
|
57
|
+
if (collector) return collector;
|
|
58
|
+
context = context.owner;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
export function emitDiagnostic(input) {
|
|
63
|
+
const collector = getDiagnosticsCollectorFromContext();
|
|
64
|
+
if (!collector) {
|
|
65
|
+
return {
|
|
66
|
+
dismiss: () => undefined
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return collector.emit(input);
|
|
70
|
+
}
|
|
71
|
+
export function reportDiagnostics(collector) {
|
|
72
|
+
const diagnostics = collector.getDiagnostics();
|
|
73
|
+
if (diagnostics.length === 0) return;
|
|
74
|
+
for (const diagnostic of diagnostics) {
|
|
75
|
+
const location = diagnostic.source ? ` (${diagnostic.source.fileName}:${diagnostic.source.lineNumber}:${diagnostic.source.columnNumber})` : "";
|
|
76
|
+
const line = `${diagnostic.message}${location}`;
|
|
77
|
+
if (diagnostic.severity === "error") {
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.error(line);
|
|
80
|
+
} else if (diagnostic.severity === "warning") {
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
console.warn(line);
|
|
83
|
+
} else {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
console.log(line);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getRenderNodeId","insertDiagnostic","getContext","getRenderStackSnapshot","DiagnosticsCollector","entries","Map","order","emit","input","componentStack","map","entry","name","displayName","renderNodeId","context","meta","renderNode","undefined","source","at","id","length","Date","now","diagnostic","message","severity","set","push","broadcast","dismiss","delete","getDiagnostics","get","filter","Boolean","diagnostics","fileName","lineNumber","columnNumber","JSON","stringify","DIAGNOSTICS_META_KEY","attachDiagnosticsCollector","collector","getDiagnosticsCollectorFromContext","owner","emitDiagnostic","reportDiagnostics","location","line","console","error","warn","log"],"sources":["../../src/diagnostics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { TrackOpTypes, TriggerOpTypes,
|
|
1
|
+
export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, toRaw, track, trigger, watch, type Reactive, type Ref, type ShallowReactive, type ShallowRef, type ToRef, type ToRefs, } from "@vue/reactivity";
|
|
2
2
|
export * from "./binder.js";
|
|
3
3
|
export * from "./code.js";
|
|
4
4
|
export * from "./components/index.js";
|
|
5
5
|
export * from "./content-slot.js";
|
|
6
6
|
export * from "./context.js";
|
|
7
7
|
export * from "./context/index.js";
|
|
8
|
+
export * from "./diagnostics.js";
|
|
8
9
|
export * from "./library-symbol-reference.js";
|
|
9
10
|
export * from "./name-policy.js";
|
|
10
11
|
export * from "./props-combinators.js";
|
|
@@ -22,5 +23,5 @@ export * from "./symbols/symbol-flow.js";
|
|
|
22
23
|
export * from "./tap.js";
|
|
23
24
|
export * from "./utils.js";
|
|
24
25
|
export * from "./write-output.js";
|
|
25
|
-
import "./debug.js";
|
|
26
|
+
import "./debug/index.js";
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,QAAQ,EACb,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,kBAAkB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { TrackOpTypes, TriggerOpTypes,
|
|
1
|
+
export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, toRaw, track, trigger, watch } from "@vue/reactivity";
|
|
2
2
|
export * from "./binder.js";
|
|
3
3
|
export * from "./code.js";
|
|
4
4
|
export * from "./components/index.js";
|
|
5
5
|
export * from "./content-slot.js";
|
|
6
6
|
export * from "./context.js";
|
|
7
7
|
export * from "./context/index.js";
|
|
8
|
+
export * from "./diagnostics.js";
|
|
8
9
|
export * from "./library-symbol-reference.js";
|
|
9
10
|
export * from "./name-policy.js";
|
|
10
11
|
export * from "./props-combinators.js";
|
|
@@ -22,5 +23,5 @@ export * from "./symbols/symbol-flow.js";
|
|
|
22
23
|
export * from "./tap.js";
|
|
23
24
|
export * from "./utils.js";
|
|
24
25
|
export * from "./write-output.js";
|
|
25
|
-
import "./debug.js";
|
|
26
|
+
import "./debug/index.js";
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TrackOpTypes","TriggerOpTypes","
|
|
1
|
+
{"version":3,"names":["TrackOpTypes","TriggerOpTypes","isProxy","isReactive","isRef","reactive","toRaw","track","trigger","watch"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,KAAK,QAOA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B;AAC7C,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Print hook types and utilities.
|
|
3
|
+
* This is a separate file to avoid circular dependencies between render.ts and debug/render.ts.
|
|
4
|
+
*/
|
|
5
|
+
export declare const printHookTag: unique symbol;
|
|
6
|
+
export interface PrintHook {
|
|
7
|
+
[printHookTag]: true;
|
|
8
|
+
transform?(tree: RenderedTextTree): RenderedTextTree;
|
|
9
|
+
print?(tree: RenderedTextTree, print: (subtree: RenderedTextTree) => import("prettier").Doc): import("prettier").Doc;
|
|
10
|
+
subtree: RenderedTextTree;
|
|
11
|
+
}
|
|
12
|
+
export declare function isPrintHook(type: unknown): type is PrintHook;
|
|
13
|
+
export type RenderedTextTree = (string | RenderedTextTree | PrintHook)[];
|
|
14
|
+
//# sourceMappingURL=print-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-hook.d.ts","sourceRoot":"","sources":["../../src/print-hook.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,eAAW,CAAC;AAErC,MAAM,WAAW,SAAS;IACxB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IACrB,SAAS,CAAC,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACrD,KAAK,CAAC,CACJ,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,UAAU,EAAE,GAAG,GAC3D,OAAO,UAAU,EAAE,GAAG,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,SAAS,CAE5D;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Print hook types and utilities.
|
|
3
|
+
* This is a separate file to avoid circular dependencies between render.ts and debug/render.ts.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const printHookTag = Symbol();
|
|
7
|
+
export function isPrintHook(type) {
|
|
8
|
+
return typeof type === "object" && type !== null && printHookTag in type;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=print-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["printHookTag","Symbol","isPrintHook","type"],"sources":["../../src/print-hook.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,YAAY,GAAGC,MAAM,CAAC,CAAC;AAYpC,OAAO,SAASC,WAAWA,CAACC,IAAa,EAAqB;EAC5D,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAIH,YAAY,IAAIG,IAAI;AAC1E","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactive-union-set.d.ts","sourceRoot":"","sources":["../../src/reactive-union-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,
|
|
1
|
+
{"version":3,"file":"reactive-union-set.d.ts","sourceRoot":"","sources":["../../src/reactive-union-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAMd,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAChE,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAE1D,qBAAa,gBAAgB,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAC,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAiC;IACnD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAA6D;IAE7E,CAAC,aAAa,CAAC,WAAW,CAAC,UAAQ;IAEnC,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;gBAYT,OAAO,GAAE,uBAAuB,CAAC,CAAC,CAAM;IAUpD,IAAI,IAAI,WAGP;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;IAKnC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;IAKtB,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAKxB,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAK9B,GAAG,CAAC,IAAI,EAAE,CAAC;IAaX,MAAM,CAAC,IAAI,EAAE,CAAC;IAkBd,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,uBAAuB,CAAC,CAAC,CAAM;IA2DlE,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAgEjD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CA6CjE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ITERATE_KEY, ReactiveFlags,
|
|
2
|
-
import { effect, untrack } from "./reactivity.js";
|
|
1
|
+
import { ITERATE_KEY, ReactiveFlags, shallowReadonly, track, TrackOpTypes, trigger, TriggerOpTypes } from "@vue/reactivity";
|
|
2
|
+
import { effect, root, shallowReactive, untrack } from "./reactivity.js";
|
|
3
3
|
export class ReactiveUnionSet extends Set {
|
|
4
4
|
_refcounts = new Map();
|
|
5
5
|
_indexes = [];
|
|
@@ -88,18 +88,28 @@ export class ReactiveUnionSet extends Set {
|
|
|
88
88
|
* that were added to the parent set.
|
|
89
89
|
*/
|
|
90
90
|
const prevValues = new Map();
|
|
91
|
+
const itemDisposers = new Map();
|
|
91
92
|
effect(() => {
|
|
92
93
|
for (const [prevSourceValue, prevTargetValue] of prevValues) {
|
|
93
94
|
if (!subset.has(prevSourceValue)) {
|
|
94
95
|
untrack(() => onDelete?.(prevSourceValue));
|
|
95
96
|
prevValues.delete(prevSourceValue);
|
|
96
97
|
this.delete(prevTargetValue);
|
|
98
|
+
const disposer = itemDisposers.get(prevSourceValue);
|
|
99
|
+
if (disposer) {
|
|
100
|
+
disposer();
|
|
101
|
+
itemDisposers.delete(prevSourceValue);
|
|
102
|
+
}
|
|
97
103
|
}
|
|
98
104
|
}
|
|
99
105
|
for (const value of subset) {
|
|
100
106
|
if (!prevValues.has(value)) {
|
|
101
107
|
if (onAdd) {
|
|
102
|
-
const added = untrack(() =>
|
|
108
|
+
const added = untrack(() => root(disposer => {
|
|
109
|
+
const result = onAdd(value);
|
|
110
|
+
itemDisposers.set(value, disposer);
|
|
111
|
+
return result;
|
|
112
|
+
}));
|
|
103
113
|
prevValues.set(value, added);
|
|
104
114
|
} else {
|
|
105
115
|
this.add(value);
|
|
@@ -107,6 +117,11 @@ export class ReactiveUnionSet extends Set {
|
|
|
107
117
|
}
|
|
108
118
|
}
|
|
109
119
|
}
|
|
120
|
+
}, undefined, {
|
|
121
|
+
debug: {
|
|
122
|
+
name: "reactiveUnionSet:subsetSync",
|
|
123
|
+
type: "collection"
|
|
124
|
+
}
|
|
110
125
|
});
|
|
111
126
|
}
|
|
112
127
|
createDerivedSet(mapper) {
|
|
@@ -145,6 +160,11 @@ export class ReactiveUnionSet extends Set {
|
|
|
145
160
|
ref(id);
|
|
146
161
|
}
|
|
147
162
|
return mappedValue;
|
|
163
|
+
}, undefined, {
|
|
164
|
+
debug: {
|
|
165
|
+
name: `reactiveUnionSet:derived:${mapper.name || "mapper"}`,
|
|
166
|
+
type: "collection"
|
|
167
|
+
}
|
|
148
168
|
});
|
|
149
169
|
},
|
|
150
170
|
delete: value => {
|
|
@@ -173,6 +193,11 @@ export class ReactiveUnionSet extends Set {
|
|
|
173
193
|
index.set(id, value);
|
|
174
194
|
}
|
|
175
195
|
return mappedValues;
|
|
196
|
+
}, undefined, {
|
|
197
|
+
debug: {
|
|
198
|
+
name: `reactiveUnionSet:index:${mapper.name || "mapper"}`,
|
|
199
|
+
type: "collection"
|
|
200
|
+
}
|
|
176
201
|
});
|
|
177
202
|
},
|
|
178
203
|
delete: value => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ITERATE_KEY","ReactiveFlags","
|
|
1
|
+
{"version":3,"names":["ITERATE_KEY","ReactiveFlags","shallowReadonly","track","TrackOpTypes","trigger","TriggerOpTypes","effect","root","shallowReactive","untrack","ReactiveUnionSet","Set","_refcounts","Map","_indexes","IS_REACTIVE","_handleAdd","value","_onAdd","index","add","_handleDelete","_onDelete","delete","constructor","options","_subsets","onAdd","onDelete","size","ITERATE","Symbol","iterator","keys","values","entries","item","has","set","get","ADD","count","undefined","DELETE","addSubset","subset","prevValues","itemDisposers","prevSourceValue","prevTargetValue","disposer","added","result","debug","name","type","createDerivedSet","mapper","refcounts","ref","unref","push","prev","id","flat","mappedValue","createIndex","oldValue","mappedValues","filter","v"],"sources":["../../src/reactive-union-set.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/src/reactivity.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Ref, ShallowReactive } from "@vue/reactivity";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { RenderedTextTree } from "./render.js";
|
|
3
|
+
import { Children, ComponentCreator } from "./runtime/component.js";
|
|
4
4
|
import type { OutputSymbol } from "./symbols/output-symbol.js";
|
|
5
|
-
export declare function getElementCache():
|
|
5
|
+
export declare function getElementCache(): Map<any, any>;
|
|
6
6
|
export type ElementCacheKey = ComponentCreator | (() => unknown) | CustomContext;
|
|
7
7
|
export type ElementCache = Map<ElementCacheKey, RenderedTextTree>;
|
|
8
8
|
export interface Disposable {
|
|
9
9
|
(): void;
|
|
10
10
|
}
|
|
11
11
|
export interface Context {
|
|
12
|
-
|
|
12
|
+
/** Monotonic numeric ID for trace/debug correlation. */
|
|
13
|
+
id: number;
|
|
14
|
+
disposables?: Disposable[];
|
|
13
15
|
owner: Context | null;
|
|
14
16
|
context?: Record<symbol, unknown>;
|
|
15
17
|
meta?: Record<string, any>;
|
|
@@ -17,7 +19,7 @@ export interface Context {
|
|
|
17
19
|
* A cache of RenderTextTree nodes created within this context,
|
|
18
20
|
* indexed by the component or function which created them.
|
|
19
21
|
*/
|
|
20
|
-
elementCache
|
|
22
|
+
elementCache?: ElementCache;
|
|
21
23
|
/**
|
|
22
24
|
* When this context was created by a component, this will
|
|
23
25
|
* be the component that created it.
|
|
@@ -38,21 +40,46 @@ export interface Context {
|
|
|
38
40
|
childrenWithContent: number;
|
|
39
41
|
/**
|
|
40
42
|
* A ref that indicates whether the component is empty.
|
|
43
|
+
* Only allocated when reactively observed (ContentSlot, mapJoin).
|
|
41
44
|
*/
|
|
42
45
|
isEmpty?: Ref<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Cheap boolean tracking the last propagated empty state.
|
|
48
|
+
* Used by notifyContentState() for early-return optimization
|
|
49
|
+
* without requiring a reactive ref on every context.
|
|
50
|
+
*/
|
|
51
|
+
_lastEmpty: boolean;
|
|
43
52
|
/**
|
|
44
53
|
* Whether this context is a root context
|
|
45
54
|
*/
|
|
46
55
|
isRoot: boolean;
|
|
47
56
|
}
|
|
48
57
|
export declare function getContext(): Context | null;
|
|
58
|
+
/**
|
|
59
|
+
* Ensure that a context has an isEmpty ref, creating one if needed.
|
|
60
|
+
* Only call this when you need to reactively observe isEmpty (e.g.,
|
|
61
|
+
* ContentSlot, mapJoin). Most contexts don't need an isEmpty ref.
|
|
62
|
+
*/
|
|
63
|
+
export declare function ensureIsEmpty(context: Context): Ref<boolean>;
|
|
49
64
|
export interface RootOptions {
|
|
50
65
|
componentOwner?: ComponentCreator<any>;
|
|
51
66
|
}
|
|
52
67
|
export declare function root<T>(fn: (d: Disposable) => T, options?: RootOptions): T;
|
|
68
|
+
export interface EffectDebugOptions {
|
|
69
|
+
name?: string;
|
|
70
|
+
type?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface EffectOptions {
|
|
73
|
+
debug?: EffectDebugOptions;
|
|
74
|
+
}
|
|
53
75
|
export declare function untrack<T>(fn: () => T): T;
|
|
54
|
-
|
|
55
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Walk up the context owner chain to find the nearest effect ID.
|
|
78
|
+
* Used to attribute reactive mutations to the effect that caused them.
|
|
79
|
+
*/
|
|
80
|
+
export declare function findCurrentEffectId(): number | undefined;
|
|
81
|
+
export declare function memo<T>(fn: () => T, equal?: boolean, name?: string): () => T;
|
|
82
|
+
export declare function effect<T>(fn: (prev?: T) => T, current?: T, options?: EffectOptions): void;
|
|
56
83
|
/**
|
|
57
84
|
* Register a cleanup function which is called when the current reactive scope
|
|
58
85
|
* is recalculated or disposed. This is useful to clean up any side effects
|
|
@@ -84,6 +111,32 @@ export type CustomContextChildrenCallback = (child: Children) => void;
|
|
|
84
111
|
declare const CUSTOM_CONTEXT_SYM: unique symbol;
|
|
85
112
|
export declare function createCustomContext(useCallback: (useChildren: CustomContextChildrenCallback) => void): CustomContext;
|
|
86
113
|
export declare function isCustomContext(child: Children): child is CustomContext;
|
|
114
|
+
export declare function ref<T>(value?: T, options?: {
|
|
115
|
+
isInfrastructure?: boolean;
|
|
116
|
+
}): Ref<T>;
|
|
117
|
+
export declare function getReactiveCreationLocation(target: object): import("./devtools-entry.browser.js").SourceLocation | undefined;
|
|
118
|
+
export declare function shallowReactive<T extends object>(target: T): ShallowReactive<T>;
|
|
119
|
+
export declare function shallowRef<T>(value?: T, options?: {
|
|
120
|
+
label?: string;
|
|
121
|
+
}): Ref<T>;
|
|
122
|
+
export declare function computed<T>(getter: () => T): Ref<T>;
|
|
123
|
+
export declare function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue?: T[K]): Ref<T[K]>;
|
|
124
|
+
export declare function toRefs<T extends object>(object: T): {
|
|
125
|
+
[K in keyof T]: Ref<T[K]>;
|
|
126
|
+
};
|
|
87
127
|
export declare function refId(ref: Ref<unknown>): number;
|
|
128
|
+
/**
|
|
129
|
+
* Get a stable ref ID for a property of a reactive object.
|
|
130
|
+
* Each (target, key) pair gets a unique positive ID from the same counter as refs.
|
|
131
|
+
*/
|
|
132
|
+
export declare function reactivePropertyRefId(target: object, key: string | number): number;
|
|
133
|
+
/**
|
|
134
|
+
* Build a human-readable label for a reactive property like `symbolName.prop`.
|
|
135
|
+
*/
|
|
136
|
+
export declare function formatReactivePropertyLabel(target: object, key: string | number): string;
|
|
137
|
+
/** Allocate a unique reactive target ID from the same counter space as ref IDs. */
|
|
138
|
+
export declare function nextReactiveId(): number;
|
|
139
|
+
export declare function resetRefIdCounter(): void;
|
|
140
|
+
export declare function getEffectDebugId(effect: object): number | undefined;
|
|
88
141
|
export {};
|
|
89
142
|
//# sourceMappingURL=reactivity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactivity.d.ts","sourceRoot":"","sources":["../../src/reactivity.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"reactivity.d.ts","sourceRoot":"","sources":["../../src/reactivity.ts"],"names":[],"mappings":"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"}
|