@alloy-js/core 0.23.0-dev.1 → 0.23.0-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/CHANGELOG.md +0 -22
  2. package/dist/devtools/index.html +68 -0
  3. package/dist/src/binder.d.ts +2 -0
  4. package/dist/src/binder.d.ts.map +1 -1
  5. package/dist/src/binder.js +55 -12
  6. package/dist/src/binder.js.map +1 -1
  7. package/dist/src/components/AppendFile.d.ts.map +1 -1
  8. package/dist/src/components/AppendFile.js +14 -3
  9. package/dist/src/components/AppendFile.js.map +1 -1
  10. package/dist/src/components/Block.js +1 -1
  11. package/dist/src/components/Block.js.map +1 -1
  12. package/dist/src/components/Declaration.d.ts.map +1 -1
  13. package/dist/src/components/Declaration.js +2 -1
  14. package/dist/src/components/Declaration.js.map +1 -1
  15. package/dist/src/components/Scope.d.ts.map +1 -1
  16. package/dist/src/components/Scope.js +4 -1
  17. package/dist/src/components/Scope.js.map +1 -1
  18. package/dist/src/components/TemplateFile.d.ts.map +1 -1
  19. package/dist/src/components/TemplateFile.js +18 -3
  20. package/dist/src/components/TemplateFile.js.map +1 -1
  21. package/dist/src/content-slot.d.ts.map +1 -1
  22. package/dist/src/content-slot.js +6 -5
  23. package/dist/src/content-slot.js.map +1 -1
  24. package/dist/src/context.d.ts.map +1 -1
  25. package/dist/src/context.js +8 -1
  26. package/dist/src/context.js.map +1 -1
  27. package/dist/src/debug/cli.d.ts +6 -0
  28. package/dist/src/debug/cli.d.ts.map +1 -0
  29. package/dist/src/{debug.js → debug/cli.js} +79 -82
  30. package/dist/src/debug/cli.js.map +1 -0
  31. package/dist/src/debug/diagnostics.test.d.ts +2 -0
  32. package/dist/src/debug/diagnostics.test.d.ts.map +1 -0
  33. package/dist/src/debug/diagnostics.test.js +45 -0
  34. package/dist/src/debug/diagnostics.test.js.map +1 -0
  35. package/dist/src/debug/effects.d.ts +69 -0
  36. package/dist/src/debug/effects.d.ts.map +1 -0
  37. package/dist/src/debug/effects.js +228 -0
  38. package/dist/src/debug/effects.js.map +1 -0
  39. package/dist/src/debug/effects.test.d.ts +2 -0
  40. package/dist/src/debug/effects.test.d.ts.map +1 -0
  41. package/dist/src/debug/effects.test.js +86 -0
  42. package/dist/src/debug/effects.test.js.map +1 -0
  43. package/dist/src/debug/files.d.ts +14 -0
  44. package/dist/src/debug/files.d.ts.map +1 -0
  45. package/dist/src/debug/files.js +40 -0
  46. package/dist/src/debug/files.js.map +1 -0
  47. package/dist/src/debug/files.test.d.ts +2 -0
  48. package/dist/src/debug/files.test.d.ts.map +1 -0
  49. package/dist/src/debug/files.test.js +89 -0
  50. package/dist/src/debug/files.test.js.map +1 -0
  51. package/dist/src/debug/index.d.ts +60 -0
  52. package/dist/src/debug/index.d.ts.map +1 -0
  53. package/dist/src/debug/index.js +68 -0
  54. package/dist/src/debug/index.js.map +1 -0
  55. package/dist/src/debug/render.d.ts +57 -0
  56. package/dist/src/debug/render.d.ts.map +1 -0
  57. package/dist/src/debug/render.js +519 -0
  58. package/dist/src/debug/render.js.map +1 -0
  59. package/dist/src/debug/render.test.d.ts +2 -0
  60. package/dist/src/debug/render.test.d.ts.map +1 -0
  61. package/dist/src/debug/render.test.js +328 -0
  62. package/dist/src/debug/render.test.js.map +1 -0
  63. package/dist/src/debug/serialize.d.ts +9 -0
  64. package/dist/src/debug/serialize.d.ts.map +1 -0
  65. package/dist/src/debug/serialize.js +70 -0
  66. package/dist/src/debug/serialize.js.map +1 -0
  67. package/dist/src/debug/symbols.d.ts +9 -0
  68. package/dist/src/debug/symbols.d.ts.map +1 -0
  69. package/dist/src/debug/symbols.js +164 -0
  70. package/dist/src/debug/symbols.js.map +1 -0
  71. package/dist/src/debug/symbols.test.d.ts +2 -0
  72. package/dist/src/debug/symbols.test.d.ts.map +1 -0
  73. package/dist/src/debug/symbols.test.js +104 -0
  74. package/dist/src/debug/symbols.test.js.map +1 -0
  75. package/dist/src/debug/trace.d.ts +342 -0
  76. package/dist/src/debug/trace.d.ts.map +1 -0
  77. package/dist/src/debug/trace.js +443 -0
  78. package/dist/src/debug/trace.js.map +1 -0
  79. package/dist/src/devtools/devtools-protocol.d.ts +232 -0
  80. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -0
  81. package/dist/src/devtools/devtools-protocol.js +2 -0
  82. package/dist/src/devtools/devtools-protocol.js.map +1 -0
  83. package/dist/src/devtools/devtools-server.browser.d.ts +28 -0
  84. package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -0
  85. package/dist/src/devtools/devtools-server.browser.js +36 -0
  86. package/dist/src/devtools/devtools-server.browser.js.map +1 -0
  87. package/dist/src/devtools/devtools-server.d.ts +72 -0
  88. package/dist/src/devtools/devtools-server.d.ts.map +1 -0
  89. package/dist/src/devtools/devtools-server.js +256 -0
  90. package/dist/src/devtools/devtools-server.js.map +1 -0
  91. package/dist/src/devtools/devtools-transport.d.ts +23 -0
  92. package/dist/src/devtools/devtools-transport.d.ts.map +1 -0
  93. package/dist/src/devtools/devtools-transport.js +114 -0
  94. package/dist/src/devtools/devtools-transport.js.map +1 -0
  95. package/dist/src/devtools-entry.browser.d.ts +4 -0
  96. package/dist/src/devtools-entry.browser.d.ts.map +1 -0
  97. package/dist/src/devtools-entry.browser.js +2 -0
  98. package/dist/src/devtools-entry.browser.js.map +1 -0
  99. package/dist/src/devtools-entry.d.ts +4 -0
  100. package/dist/src/devtools-entry.d.ts.map +1 -0
  101. package/dist/src/devtools-entry.js +2 -0
  102. package/dist/src/devtools-entry.js.map +1 -0
  103. package/dist/src/diagnostics.d.ts +34 -0
  104. package/dist/src/diagnostics.d.ts.map +1 -0
  105. package/dist/src/diagnostics.js +89 -0
  106. package/dist/src/diagnostics.js.map +1 -0
  107. package/dist/src/index.d.ts +3 -2
  108. package/dist/src/index.d.ts.map +1 -1
  109. package/dist/src/index.js +3 -2
  110. package/dist/src/index.js.map +1 -1
  111. package/dist/src/print-hook.d.ts +14 -0
  112. package/dist/src/print-hook.d.ts.map +1 -0
  113. package/dist/src/print-hook.js +10 -0
  114. package/dist/src/print-hook.js.map +1 -0
  115. package/dist/src/reactive-union-set.d.ts.map +1 -1
  116. package/dist/src/reactive-union-set.js +15 -0
  117. package/dist/src/reactive-union-set.js.map +1 -1
  118. package/dist/src/reactivity.d.ts +17 -3
  119. package/dist/src/reactivity.d.ts.map +1 -1
  120. package/dist/src/reactivity.js +162 -14
  121. package/dist/src/reactivity.js.map +1 -1
  122. package/dist/src/render-stack.d.ts +17 -1
  123. package/dist/src/render-stack.d.ts.map +1 -1
  124. package/dist/src/render-stack.js +57 -1
  125. package/dist/src/render-stack.js.map +1 -1
  126. package/dist/src/render.d.ts +8 -15
  127. package/dist/src/render.d.ts.map +1 -1
  128. package/dist/src/render.js +362 -103
  129. package/dist/src/render.js.map +1 -1
  130. package/dist/src/resource.d.ts.map +1 -1
  131. package/dist/src/resource.js +5 -0
  132. package/dist/src/resource.js.map +1 -1
  133. package/dist/src/scheduler.d.ts +3 -0
  134. package/dist/src/scheduler.d.ts.map +1 -1
  135. package/dist/src/scheduler.js +45 -2
  136. package/dist/src/scheduler.js.map +1 -1
  137. package/dist/src/symbols/basic-symbol.d.ts.map +1 -1
  138. package/dist/src/symbols/basic-symbol.js +6 -1
  139. package/dist/src/symbols/basic-symbol.js.map +1 -1
  140. package/dist/src/symbols/decl.d.ts.map +1 -1
  141. package/dist/src/symbols/decl.js +5 -1
  142. package/dist/src/symbols/decl.js.map +1 -1
  143. package/dist/src/symbols/output-scope.d.ts +2 -1
  144. package/dist/src/symbols/output-scope.d.ts.map +1 -1
  145. package/dist/src/symbols/output-scope.js +13 -8
  146. package/dist/src/symbols/output-scope.js.map +1 -1
  147. package/dist/src/symbols/output-symbol.d.ts +1 -0
  148. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  149. package/dist/src/symbols/output-symbol.js +23 -6
  150. package/dist/src/symbols/output-symbol.js.map +1 -1
  151. package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
  152. package/dist/src/symbols/symbol-flow.js +22 -6
  153. package/dist/src/symbols/symbol-flow.js.map +1 -1
  154. package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
  155. package/dist/src/symbols/symbol-slot.js +15 -0
  156. package/dist/src/symbols/symbol-slot.js.map +1 -1
  157. package/dist/src/symbols/symbol-slot.test.d.ts +2 -0
  158. package/dist/src/symbols/symbol-slot.test.d.ts.map +1 -0
  159. package/dist/src/symbols/symbol-slot.test.js +35 -0
  160. package/dist/src/symbols/symbol-slot.test.js.map +1 -0
  161. package/dist/src/symbols/symbol-table.d.ts.map +1 -1
  162. package/dist/src/symbols/symbol-table.js +6 -5
  163. package/dist/src/symbols/symbol-table.js.map +1 -1
  164. package/dist/src/trace.d.ts +2 -0
  165. package/dist/src/trace.d.ts.map +1 -0
  166. package/dist/src/trace.js +2 -0
  167. package/dist/src/trace.js.map +1 -0
  168. package/dist/src/tracer.d.ts +2 -228
  169. package/dist/src/tracer.d.ts.map +1 -1
  170. package/dist/src/tracer.js +5 -298
  171. package/dist/src/tracer.js.map +1 -1
  172. package/dist/src/utils.d.ts.map +1 -1
  173. package/dist/src/utils.js +5 -0
  174. package/dist/src/utils.js.map +1 -1
  175. package/dist/test/components/append-file.test.d.ts.map +1 -1
  176. package/dist/test/components/append-file.test.js +18 -10
  177. package/dist/test/components/append-file.test.js.map +1 -1
  178. package/dist/test/components/template-file.test.d.ts.map +1 -1
  179. package/dist/test/components/template-file.test.js +6 -4
  180. package/dist/test/components/template-file.test.js.map +1 -1
  181. package/dist/test/rendering/basic.test.js +3 -0
  182. package/dist/test/rendering/basic.test.js.map +1 -1
  183. package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -1
  184. package/dist/test/rendering/print-render-stack.test.js +91 -98
  185. package/dist/test/rendering/print-render-stack.test.js.map +1 -1
  186. package/dist/testing/create-test-wrapper.d.ts +1 -1
  187. package/dist/testing/create-test-wrapper.d.ts.map +1 -1
  188. package/dist/testing/create-test-wrapper.js +1 -1
  189. package/dist/testing/create-test-wrapper.js.map +1 -1
  190. package/dist/testing/devtools-utils.d.ts +26 -0
  191. package/dist/testing/devtools-utils.d.ts.map +1 -0
  192. package/dist/testing/devtools-utils.js +140 -0
  193. package/dist/testing/devtools-utils.js.map +1 -0
  194. package/dist/testing/extend-expect.d.ts.map +1 -1
  195. package/dist/testing/extend-expect.js +63 -1
  196. package/dist/testing/extend-expect.js.map +1 -1
  197. package/dist/testing/render.d.ts +2 -2
  198. package/dist/testing/render.d.ts.map +1 -1
  199. package/dist/testing/render.js +2 -2
  200. package/dist/testing/render.js.map +1 -1
  201. package/dist/tsconfig.tsbuildinfo +1 -1
  202. package/package.json +21 -7
  203. package/scripts/copy-devtools-ui.mjs +26 -0
  204. package/src/binder.ts +71 -16
  205. package/src/components/AppendFile.tsx +14 -9
  206. package/src/components/Block.tsx +1 -1
  207. package/src/components/Declaration.tsx +2 -1
  208. package/src/components/Scope.tsx +4 -1
  209. package/src/components/TemplateFile.tsx +18 -9
  210. package/src/content-slot.tsx +6 -6
  211. package/src/context.ts +15 -4
  212. package/src/{debug.ts → debug/cli.ts} +114 -125
  213. package/src/debug/diagnostics.test.tsx +55 -0
  214. package/src/debug/effects.test.tsx +96 -0
  215. package/src/debug/effects.ts +313 -0
  216. package/src/debug/files.test.tsx +96 -0
  217. package/src/debug/files.ts +40 -0
  218. package/src/debug/index.ts +126 -0
  219. package/src/debug/render.test.tsx +379 -0
  220. package/src/debug/render.ts +639 -0
  221. package/src/debug/serialize.ts +85 -0
  222. package/src/debug/symbols.test.tsx +106 -0
  223. package/src/debug/symbols.ts +230 -0
  224. package/src/debug/trace.ts +312 -0
  225. package/src/devtools/devtools-protocol.ts +312 -0
  226. package/src/devtools/devtools-server.browser.ts +71 -0
  227. package/src/devtools/devtools-server.ts +290 -0
  228. package/src/devtools/devtools-transport.ts +154 -0
  229. package/src/devtools-entry.browser.ts +52 -0
  230. package/src/devtools-entry.ts +54 -0
  231. package/src/diagnostics.ts +141 -0
  232. package/src/index.ts +2 -6
  233. package/src/print-hook.ts +22 -0
  234. package/src/reactive-union-set.ts +71 -41
  235. package/src/reactivity.ts +206 -23
  236. package/src/render-stack.ts +68 -1
  237. package/src/render.ts +464 -157
  238. package/src/resource.ts +28 -19
  239. package/src/scheduler.ts +55 -3
  240. package/src/symbols/basic-symbol.ts +6 -1
  241. package/src/symbols/decl.ts +5 -1
  242. package/src/symbols/output-scope.ts +21 -12
  243. package/src/symbols/output-symbol.ts +33 -12
  244. package/src/symbols/symbol-flow.ts +68 -37
  245. package/src/symbols/symbol-slot.test.tsx +41 -0
  246. package/src/symbols/symbol-slot.tsx +47 -20
  247. package/src/symbols/symbol-table.ts +6 -10
  248. package/src/trace.ts +1 -0
  249. package/src/tracer.ts +13 -242
  250. package/src/utils.tsx +22 -13
  251. package/temp/api.json +1675 -162
  252. package/test/components/append-file.test.tsx +36 -29
  253. package/test/components/template-file.test.tsx +11 -11
  254. package/test/rendering/basic.test.tsx +4 -0
  255. package/test/rendering/print-render-stack.test.tsx +52 -43
  256. package/testing/create-test-wrapper.tsx +1 -1
  257. package/testing/devtools-utils.ts +203 -0
  258. package/testing/extend-expect.ts +89 -0
  259. package/testing/render.ts +2 -2
  260. package/testing/vitest.d.ts +9 -0
  261. package/dist/src/debug.d.ts +0 -14
  262. package/dist/src/debug.d.ts.map +0 -1
  263. 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;CAMlB;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 { broadcastDevtoolsMessage } from "./devtools/devtools-server.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
+ broadcastDevtoolsMessage({
41
+ type: "diagnostics:report",
42
+ diagnostics: this.getDiagnostics()
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","broadcastDevtoolsMessage","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","type","diagnostics","DIAGNOSTICS_META_KEY","attachDiagnosticsCollector","collector","getDiagnosticsCollectorFromContext","owner","emitDiagnostic","reportDiagnostics","location","fileName","lineNumber","columnNumber","line","console","error","warn","log"],"sources":["../../src/diagnostics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
- export { TrackOpTypes, TriggerOpTypes, computed, isProxy, isReactive, isRef, reactive, ref, shallowReactive, shallowRef, toRaw, toRef, toRefs, track, trigger, watch, type Reactive, type Ref, type ShallowReactive, type ShallowRef, type ToRef, type ToRefs, } from "@vue/reactivity";
1
+ export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, shallowReactive, 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,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,+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,YAAY,CAAC"}
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,eAAe,EACf,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, computed, isProxy, isReactive, isRef, reactive, ref, shallowReactive, shallowRef, toRaw, toRef, toRefs, track, trigger, watch } from "@vue/reactivity";
1
+ export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, shallowReactive, 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
@@ -1 +1 @@
1
- {"version":3,"names":["TrackOpTypes","TriggerOpTypes","computed","isProxy","isReactive","isRef","reactive","ref","shallowReactive","shallowRef","toRaw","toRef","toRefs","track","trigger","watch"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,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,+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,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["TrackOpTypes","TriggerOpTypes","isProxy","isReactive","isRef","reactive","shallowReactive","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,eAAe,EACfC,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,EAOd,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;IAsClE,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAuDjD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAiCjE"}
1
+ {"version":3,"file":"reactive-union-set.d.ts","sourceRoot":"","sources":["../../src/reactive-union-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAOd,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;IA+ClE,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"}
@@ -107,6 +107,11 @@ export class ReactiveUnionSet extends Set {
107
107
  }
108
108
  }
109
109
  }
110
+ }, undefined, {
111
+ debug: {
112
+ name: "reactiveUnionSet:subsetSync",
113
+ type: "collection"
114
+ }
110
115
  });
111
116
  }
112
117
  createDerivedSet(mapper) {
@@ -145,6 +150,11 @@ export class ReactiveUnionSet extends Set {
145
150
  ref(id);
146
151
  }
147
152
  return mappedValue;
153
+ }, undefined, {
154
+ debug: {
155
+ name: `reactiveUnionSet:derived:${mapper.name || "mapper"}`,
156
+ type: "collection"
157
+ }
148
158
  });
149
159
  },
150
160
  delete: value => {
@@ -173,6 +183,11 @@ export class ReactiveUnionSet extends Set {
173
183
  index.set(id, value);
174
184
  }
175
185
  return mappedValues;
186
+ }, undefined, {
187
+ debug: {
188
+ name: `reactiveUnionSet:index:${mapper.name || "mapper"}`,
189
+ type: "collection"
190
+ }
176
191
  });
177
192
  },
178
193
  delete: value => {
@@ -1 +1 @@
1
- {"version":3,"names":["ITERATE_KEY","ReactiveFlags","shallowReactive","shallowReadonly","track","TrackOpTypes","trigger","TriggerOpTypes","effect","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","prevSourceValue","prevTargetValue","added","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":[]}
1
+ {"version":3,"names":["ITERATE_KEY","ReactiveFlags","shallowReactive","shallowReadonly","track","TrackOpTypes","trigger","TriggerOpTypes","effect","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","prevSourceValue","prevTargetValue","added","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":[]}
@@ -1,6 +1,6 @@
1
1
  import { Ref, ShallowReactive } from "@vue/reactivity";
2
- import type { RenderedTextTree } from "./render.js";
3
- import type { Children, ComponentCreator } from "./runtime/component.js";
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
5
  export declare function getElementCache(): ElementCache;
6
6
  export type ElementCacheKey = ComponentCreator | (() => unknown) | CustomContext;
@@ -50,9 +50,16 @@ export interface RootOptions {
50
50
  componentOwner?: ComponentCreator<any>;
51
51
  }
52
52
  export declare function root<T>(fn: (d: Disposable) => T, options?: RootOptions): T;
53
+ export interface EffectDebugOptions {
54
+ name?: string;
55
+ type?: string;
56
+ }
57
+ export interface EffectOptions {
58
+ debug?: EffectDebugOptions;
59
+ }
53
60
  export declare function untrack<T>(fn: () => T): T;
54
61
  export declare function memo<T>(fn: () => T, equal?: boolean): () => T;
55
- export declare function effect<T>(fn: (prev?: T) => T, current?: T): void;
62
+ export declare function effect<T>(fn: (prev?: T) => T, current?: T, options?: EffectOptions): void;
56
63
  /**
57
64
  * Register a cleanup function which is called when the current reactive scope
58
65
  * is recalculated or disposed. This is useful to clean up any side effects
@@ -84,6 +91,13 @@ export type CustomContextChildrenCallback = (child: Children) => void;
84
91
  declare const CUSTOM_CONTEXT_SYM: unique symbol;
85
92
  export declare function createCustomContext(useCallback: (useChildren: CustomContextChildrenCallback) => void): CustomContext;
86
93
  export declare function isCustomContext(child: Children): child is CustomContext;
94
+ export declare function ref<T>(value?: T): Ref<T>;
95
+ export declare function shallowRef<T>(value?: T): Ref<T>;
96
+ export declare function computed<T>(getter: () => T): Ref<T>;
97
+ export declare function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue?: T[K]): Ref<T[K]>;
98
+ export declare function toRefs<T extends object>(object: T): {
99
+ [K in keyof T]: Ref<T[K]>;
100
+ };
87
101
  export declare function refId(ref: Ref<unknown>): number;
88
102
  export {};
89
103
  //# sourceMappingURL=reactivity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactivity.d.ts","sourceRoot":"","sources":["../../src/reactivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,GAAG,EAEH,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAW/D,wBAAgB,eAAe,iBAE9B;AAED,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB,CAAC,MAAM,OAAO,CAAC,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,CAAC;CACV;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE3C;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,wBAAgB,UAAU,mBAEzB;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;CACxC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CA6B1E;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAKzC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAS7D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,QAmDzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,UAAU,QAIvC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,MAAM,6BAA6B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AACtE,QAAA,MAAM,kBAAkB,eAAW,CAAC;AAEpC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,CAAC,WAAW,EAAE,6BAA6B,KAAK,IAAI,GAChE,aAAa,CAOf;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,aAAa,CAMvE;AAKD,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAO/C"}
1
+ {"version":3,"file":"reactivity.d.ts","sourceRoot":"","sources":["../../src/reactivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,GAAG,EAEH,eAAe,EAQhB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA2C/D,wBAAgB,eAAe,iBAE9B;AAED,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB,CAAC,MAAM,OAAO,CAAC,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,CAAC;CACV;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE3C;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,wBAAgB,UAAU,mBAEzB;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;CACxC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CA6B1E;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAKzC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAe7D;AAED,wBAAgB,MAAM,CAAC,CAAC,EACtB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EACnB,OAAO,CAAC,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,aAAa,QA0GxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,UAAU,QAIvC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,MAAM,6BAA6B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AACtE,QAAA,MAAM,kBAAkB,eAAW,CAAC;AAEpC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,CAAC,WAAW,EAAE,6BAA6B,KAAK,IAAI,GAChE,aAAa,CAOf;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,aAAa,CAMvE;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAUxC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAU/C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CASnD;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EACvD,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAClB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAaX;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EACrC,MAAM,EAAE,CAAC,GACR;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAY/B;AAKD,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAO/C"}
@@ -1,8 +1,40 @@
1
- import { isRef, pauseTracking, ref, resetTracking, shallowRef, stop, effect as vueEffect } from "@vue/reactivity";
1
+ import { isRef, pauseTracking, resetTracking, stop, computed as vueComputed, effect as vueEffect, ref as vueRef, shallowRef as vueShallowRef, toRef as vueToRef, toRefs as vueToRefs } from "@vue/reactivity";
2
+ import { captureSourceLocation, debug, isDevtoolsEnabled } from "./debug/index.js";
2
3
  import { scheduler } from "./scheduler.js";
3
- import { trace, TracePhase } from "./tracer.js";
4
-
5
- // check for multiple versions of alloy here.
4
+ function attachEffectWriteDebug(refValue, kind) {
5
+ if (!isDevtoolsEnabled()) return;
6
+ const descriptor = Object.getOwnPropertyDescriptor(refValue, "value") ?? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(refValue), "value");
7
+ if (!descriptor?.get || !descriptor?.set) return;
8
+ if (refValue.__alloyDebugWrapped) return;
9
+ Object.defineProperty(refValue, "value", {
10
+ get: descriptor.get,
11
+ set(value) {
12
+ descriptor.set.call(this, value);
13
+ const effectId = globalContext?.meta?.effectId;
14
+ if (effectId !== undefined && effectId !== -1) {
15
+ const id = refId(refValue);
16
+ debug.effect.ensureRef({
17
+ id,
18
+ kind
19
+ });
20
+ debug.effect.trigger({
21
+ effectId,
22
+ target: refValue,
23
+ refId: id,
24
+ location: captureSourceLocation(),
25
+ kind: "trigger"
26
+ });
27
+ }
28
+ },
29
+ enumerable: descriptor.enumerable ?? true,
30
+ configurable: true
31
+ });
32
+ Object.defineProperty(refValue, "__alloyDebugWrapped", {
33
+ value: true,
34
+ enumerable: false,
35
+ configurable: false
36
+ });
37
+ }
6
38
  if (globalThis.__ALLOY__) {
7
39
  throw new Error("Multiple versions of Alloy are loaded for this project. This will likely cause undesirable behavior.");
8
40
  }
@@ -32,7 +64,7 @@ export function root(fn, options) {
32
64
  try {
33
65
  ret = untrack(() => fn(() => {
34
66
  for (const d of context.disposables) {
35
- d();
67
+ untrack(d);
36
68
  }
37
69
  }));
38
70
  } finally {
@@ -53,10 +85,14 @@ export function memo(fn, equal) {
53
85
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
54
86
  (!equal || prev !== res) && (o.value = res);
55
87
  return res;
56
- }, undefined);
88
+ }, undefined, {
89
+ debug: {
90
+ name: "memo"
91
+ }
92
+ });
57
93
  return () => o.value;
58
94
  }
59
- export function effect(fn, current) {
95
+ export function effect(fn, current, options) {
60
96
  const context = {
61
97
  context: {},
62
98
  disposables: [],
@@ -67,10 +103,20 @@ export function effect(fn, current) {
67
103
  childrenWithContent: 0,
68
104
  isRoot: false
69
105
  };
106
+ const debugInfo = options?.debug;
107
+ const effectId = debug.effect.register({
108
+ name: debugInfo?.name ?? fn.name,
109
+ type: debugInfo?.type,
110
+ createdAt: captureSourceLocation()
111
+ });
112
+ context.meta ??= {};
113
+ if (effectId !== -1) {
114
+ context.meta.effectId = effectId;
115
+ }
70
116
  const cleanupFn = final => {
71
117
  const d = context.disposables;
72
118
  context.disposables = [];
73
- for (let k = 0, len = d.length; k < len; k++) d[k]();
119
+ for (let k = 0, len = d.length; k < len; k++) untrack(d[k]);
74
120
 
75
121
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
76
122
  final && stop(runner);
@@ -91,14 +137,60 @@ export function effect(fn, current) {
91
137
  flags: 1 | 4 | 32,
92
138
  scheduler: scheduler(),
93
139
  onTrack(event) {
94
- trace(TracePhase.effect.track, () => {
95
- return `tracking ${isRef(event.target) ? `Ref:${refId(event.target)}` : event.target}, ${String(event.key)}`;
96
- });
140
+ if (effectId !== -1) {
141
+ const targetKey = typeof event.key === "symbol" ? event.key.toString() : event.key;
142
+ if (isRef(event.target)) {
143
+ const id = refId(event.target);
144
+ debug.effect.ensureRef({
145
+ id,
146
+ kind: "ref"
147
+ });
148
+ debug.effect.track({
149
+ effectId,
150
+ target: event.target,
151
+ refId: id,
152
+ targetKey,
153
+ location: captureSourceLocation()
154
+ });
155
+ } else {
156
+ debug.effect.track({
157
+ effectId,
158
+ target: event.target,
159
+ targetKey,
160
+ location: captureSourceLocation()
161
+ });
162
+ }
163
+ }
164
+ // track edge emitted via recordEffectTrack
97
165
  },
98
166
  onTrigger(event) {
99
- trace(TracePhase.effect.trigger, () => {
100
- return `triggering ${isRef(event.target) ? `Ref:${refId(event.target)}` : event.target}, ${String(event.key)}`;
101
- });
167
+ if (effectId !== -1) {
168
+ const targetKey = typeof event.key === "symbol" ? event.key.toString() : event.key;
169
+ if (isRef(event.target)) {
170
+ const id = refId(event.target);
171
+ debug.effect.ensureRef({
172
+ id,
173
+ kind: "ref"
174
+ });
175
+ debug.effect.trigger({
176
+ effectId,
177
+ target: event.target,
178
+ refId: id,
179
+ targetKey,
180
+ location: captureSourceLocation(),
181
+ kind: "triggered-by"
182
+ });
183
+ } else {
184
+ debug.effect.trigger({
185
+ effectId,
186
+ target: event.target,
187
+ targetKey,
188
+ location: captureSourceLocation(),
189
+ kind: "triggered-by"
190
+ });
191
+ }
192
+ }
193
+ // trigger edge emitted via recordEffectTrigger
102
194
  }
103
195
  });
104
196
  }
@@ -144,6 +236,62 @@ export function createCustomContext(useCallback) {
144
236
  export function isCustomContext(child) {
145
237
  return typeof child === "object" && child !== null && Object.hasOwn(child, CUSTOM_CONTEXT_SYM);
146
238
  }
239
+ export function ref(value) {
240
+ const result = vueRef(value);
241
+ attachEffectWriteDebug(result, "ref");
242
+ debug.effect.registerRef({
243
+ id: refId(result),
244
+ kind: "ref",
245
+ createdAt: captureSourceLocation(),
246
+ createdByEffectId: globalContext?.meta?.effectId
247
+ });
248
+ return result;
249
+ }
250
+ export function shallowRef(value) {
251
+ const result = vueShallowRef(value);
252
+ attachEffectWriteDebug(result, "shallowRef");
253
+ debug.effect.registerRef({
254
+ id: refId(result),
255
+ kind: "shallowRef",
256
+ createdAt: captureSourceLocation(),
257
+ createdByEffectId: globalContext?.meta?.effectId
258
+ });
259
+ return result;
260
+ }
261
+ export function computed(getter) {
262
+ const result = vueComputed(getter);
263
+ debug.effect.registerRef({
264
+ id: refId(result),
265
+ kind: "computed",
266
+ createdAt: captureSourceLocation(),
267
+ createdByEffectId: globalContext?.meta?.effectId
268
+ });
269
+ return result;
270
+ }
271
+ export function toRef(object, key, defaultValue) {
272
+ const result = defaultValue === undefined ? vueToRef(object, key) : vueToRef(object, key, defaultValue);
273
+ attachEffectWriteDebug(result, "toRef");
274
+ debug.effect.registerRef({
275
+ id: refId(result),
276
+ kind: "toRef",
277
+ createdAt: captureSourceLocation(),
278
+ createdByEffectId: globalContext?.meta?.effectId
279
+ });
280
+ return result;
281
+ }
282
+ export function toRefs(object) {
283
+ const result = vueToRefs(object);
284
+ for (const refValue of Object.values(result)) {
285
+ attachEffectWriteDebug(refValue, "toRef");
286
+ debug.effect.registerRef({
287
+ id: refId(refValue),
288
+ kind: "toRef",
289
+ createdAt: captureSourceLocation(),
290
+ createdByEffectId: globalContext?.meta?.effectId
291
+ });
292
+ }
293
+ return result;
294
+ }
147
295
  const seenRefs = new WeakMap();
148
296
  let refIdCounter = 1;
149
297
  export function refId(ref) {