@alloy-js/core 0.23.0-dev.0 → 0.23.0-dev.10

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 (316) 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/AccessExpression.d.ts +78 -0
  8. package/dist/src/components/AccessExpression.d.ts.map +1 -0
  9. package/dist/src/components/AccessExpression.js +218 -0
  10. package/dist/src/components/AccessExpression.js.map +1 -0
  11. package/dist/src/components/AccessExpression.test.d.ts +2 -0
  12. package/dist/src/components/AccessExpression.test.d.ts.map +1 -0
  13. package/dist/src/components/AccessExpression.test.js +137 -0
  14. package/dist/src/components/AccessExpression.test.js.map +1 -0
  15. package/dist/src/components/AppendFile.d.ts.map +1 -1
  16. package/dist/src/components/AppendFile.js +14 -3
  17. package/dist/src/components/AppendFile.js.map +1 -1
  18. package/dist/src/components/Block.js +1 -1
  19. package/dist/src/components/Block.js.map +1 -1
  20. package/dist/src/components/Declaration.d.ts.map +1 -1
  21. package/dist/src/components/Declaration.js +2 -1
  22. package/dist/src/components/Declaration.js.map +1 -1
  23. package/dist/src/components/Prose.js +2 -2
  24. package/dist/src/components/Prose.js.map +1 -1
  25. package/dist/src/components/Scope.d.ts.map +1 -1
  26. package/dist/src/components/Scope.js +6 -1
  27. package/dist/src/components/Scope.js.map +1 -1
  28. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  29. package/dist/src/components/SourceDirectory.js +1 -2
  30. package/dist/src/components/SourceDirectory.js.map +1 -1
  31. package/dist/src/components/TemplateFile.d.ts.map +1 -1
  32. package/dist/src/components/TemplateFile.js +18 -3
  33. package/dist/src/components/TemplateFile.js.map +1 -1
  34. package/dist/src/components/index.d.ts +1 -0
  35. package/dist/src/components/index.d.ts.map +1 -1
  36. package/dist/src/components/index.js +1 -0
  37. package/dist/src/components/index.js.map +1 -1
  38. package/dist/src/content-slot.d.ts.map +1 -1
  39. package/dist/src/content-slot.js +7 -6
  40. package/dist/src/content-slot.js.map +1 -1
  41. package/dist/src/context.d.ts.map +1 -1
  42. package/dist/src/context.js +10 -3
  43. package/dist/src/context.js.map +1 -1
  44. package/dist/src/debug/cli.d.ts +6 -0
  45. package/dist/src/debug/cli.d.ts.map +1 -0
  46. package/dist/src/{debug.js → debug/cli.js} +78 -84
  47. package/dist/src/debug/cli.js.map +1 -0
  48. package/dist/src/debug/diagnostics.test.d.ts +2 -0
  49. package/dist/src/debug/diagnostics.test.d.ts.map +1 -0
  50. package/dist/src/debug/diagnostics.test.js +45 -0
  51. package/dist/src/debug/diagnostics.test.js.map +1 -0
  52. package/dist/src/debug/effects.d.ts +73 -0
  53. package/dist/src/debug/effects.d.ts.map +1 -0
  54. package/dist/src/debug/effects.js +228 -0
  55. package/dist/src/debug/effects.js.map +1 -0
  56. package/dist/src/debug/effects.test.d.ts +2 -0
  57. package/dist/src/debug/effects.test.d.ts.map +1 -0
  58. package/dist/src/debug/effects.test.js +84 -0
  59. package/dist/src/debug/effects.test.js.map +1 -0
  60. package/dist/src/debug/files.d.ts +14 -0
  61. package/dist/src/debug/files.d.ts.map +1 -0
  62. package/dist/src/debug/files.js +40 -0
  63. package/dist/src/debug/files.js.map +1 -0
  64. package/dist/src/debug/files.test.d.ts +2 -0
  65. package/dist/src/debug/files.test.d.ts.map +1 -0
  66. package/dist/src/debug/files.test.js +89 -0
  67. package/dist/src/debug/files.test.js.map +1 -0
  68. package/dist/src/debug/index.d.ts +61 -0
  69. package/dist/src/debug/index.d.ts.map +1 -0
  70. package/dist/src/debug/index.js +69 -0
  71. package/dist/src/debug/index.js.map +1 -0
  72. package/dist/src/debug/render.d.ts +57 -0
  73. package/dist/src/debug/render.d.ts.map +1 -0
  74. package/dist/src/debug/render.js +519 -0
  75. package/dist/src/debug/render.js.map +1 -0
  76. package/dist/src/debug/render.test.d.ts +2 -0
  77. package/dist/src/debug/render.test.d.ts.map +1 -0
  78. package/dist/src/debug/render.test.js +328 -0
  79. package/dist/src/debug/render.test.js.map +1 -0
  80. package/dist/src/debug/serialize.d.ts +9 -0
  81. package/dist/src/debug/serialize.d.ts.map +1 -0
  82. package/dist/src/debug/serialize.js +70 -0
  83. package/dist/src/debug/serialize.js.map +1 -0
  84. package/dist/src/debug/symbols.d.ts +15 -0
  85. package/dist/src/debug/symbols.d.ts.map +1 -0
  86. package/dist/src/debug/symbols.js +173 -0
  87. package/dist/src/debug/symbols.js.map +1 -0
  88. package/dist/src/debug/symbols.test.d.ts +2 -0
  89. package/dist/src/debug/symbols.test.d.ts.map +1 -0
  90. package/dist/src/debug/symbols.test.js +104 -0
  91. package/dist/src/debug/symbols.test.js.map +1 -0
  92. package/dist/src/debug/trace.d.ts +342 -0
  93. package/dist/src/debug/trace.d.ts.map +1 -0
  94. package/dist/src/debug/trace.js +443 -0
  95. package/dist/src/debug/trace.js.map +1 -0
  96. package/dist/src/devtools/devtools-protocol.d.ts +232 -0
  97. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -0
  98. package/dist/src/devtools/devtools-protocol.js +2 -0
  99. package/dist/src/devtools/devtools-protocol.js.map +1 -0
  100. package/dist/src/devtools/devtools-server.browser.d.ts +28 -0
  101. package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -0
  102. package/dist/src/devtools/devtools-server.browser.js +36 -0
  103. package/dist/src/devtools/devtools-server.browser.js.map +1 -0
  104. package/dist/src/devtools/devtools-server.d.ts +72 -0
  105. package/dist/src/devtools/devtools-server.d.ts.map +1 -0
  106. package/dist/src/devtools/devtools-server.js +256 -0
  107. package/dist/src/devtools/devtools-server.js.map +1 -0
  108. package/dist/src/devtools/devtools-transport.d.ts +23 -0
  109. package/dist/src/devtools/devtools-transport.d.ts.map +1 -0
  110. package/dist/src/devtools/devtools-transport.js +114 -0
  111. package/dist/src/devtools/devtools-transport.js.map +1 -0
  112. package/dist/src/devtools-entry.browser.d.ts +4 -0
  113. package/dist/src/devtools-entry.browser.d.ts.map +1 -0
  114. package/dist/src/devtools-entry.browser.js +2 -0
  115. package/dist/src/devtools-entry.browser.js.map +1 -0
  116. package/dist/src/devtools-entry.d.ts +4 -0
  117. package/dist/src/devtools-entry.d.ts.map +1 -0
  118. package/dist/src/devtools-entry.js +2 -0
  119. package/dist/src/devtools-entry.js.map +1 -0
  120. package/dist/src/diagnostics.d.ts +34 -0
  121. package/dist/src/diagnostics.d.ts.map +1 -0
  122. package/dist/src/diagnostics.js +89 -0
  123. package/dist/src/diagnostics.js.map +1 -0
  124. package/dist/src/index.d.ts +3 -2
  125. package/dist/src/index.d.ts.map +1 -1
  126. package/dist/src/index.js +3 -2
  127. package/dist/src/index.js.map +1 -1
  128. package/dist/src/print-hook.d.ts +14 -0
  129. package/dist/src/print-hook.d.ts.map +1 -0
  130. package/dist/src/print-hook.js +10 -0
  131. package/dist/src/print-hook.js.map +1 -0
  132. package/dist/src/reactive-union-set.d.ts.map +1 -1
  133. package/dist/src/reactive-union-set.js +28 -3
  134. package/dist/src/reactive-union-set.js.map +1 -1
  135. package/dist/src/reactivity.d.ts +50 -8
  136. package/dist/src/reactivity.d.ts.map +1 -1
  137. package/dist/src/reactivity.js +225 -39
  138. package/dist/src/reactivity.js.map +1 -1
  139. package/dist/src/render-stack.d.ts +30 -0
  140. package/dist/src/render-stack.d.ts.map +1 -0
  141. package/dist/src/render-stack.js +251 -0
  142. package/dist/src/render-stack.js.map +1 -0
  143. package/dist/src/render.d.ts +9 -19
  144. package/dist/src/render.d.ts.map +1 -1
  145. package/dist/src/render.js +371 -159
  146. package/dist/src/render.js.map +1 -1
  147. package/dist/src/resource.d.ts.map +1 -1
  148. package/dist/src/resource.js +5 -0
  149. package/dist/src/resource.js.map +1 -1
  150. package/dist/src/runtime/component.d.ts +7 -1
  151. package/dist/src/runtime/component.d.ts.map +1 -1
  152. package/dist/src/runtime/component.js +4 -1
  153. package/dist/src/runtime/component.js.map +1 -1
  154. package/dist/src/scheduler.d.ts +8 -0
  155. package/dist/src/scheduler.d.ts.map +1 -1
  156. package/dist/src/scheduler.js +69 -3
  157. package/dist/src/scheduler.js.map +1 -1
  158. package/dist/src/symbols/basic-symbol.d.ts.map +1 -1
  159. package/dist/src/symbols/basic-symbol.js +6 -1
  160. package/dist/src/symbols/basic-symbol.js.map +1 -1
  161. package/dist/src/symbols/decl.d.ts.map +1 -1
  162. package/dist/src/symbols/decl.js +5 -1
  163. package/dist/src/symbols/decl.js.map +1 -1
  164. package/dist/src/symbols/output-scope.d.ts +2 -1
  165. package/dist/src/symbols/output-scope.d.ts.map +1 -1
  166. package/dist/src/symbols/output-scope.js +13 -8
  167. package/dist/src/symbols/output-scope.js.map +1 -1
  168. package/dist/src/symbols/output-symbol.d.ts +1 -0
  169. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  170. package/dist/src/symbols/output-symbol.js +25 -8
  171. package/dist/src/symbols/output-symbol.js.map +1 -1
  172. package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
  173. package/dist/src/symbols/symbol-flow.js +24 -8
  174. package/dist/src/symbols/symbol-flow.js.map +1 -1
  175. package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
  176. package/dist/src/symbols/symbol-slot.js +15 -0
  177. package/dist/src/symbols/symbol-slot.js.map +1 -1
  178. package/dist/src/symbols/symbol-slot.test.d.ts +2 -0
  179. package/dist/src/symbols/symbol-slot.test.d.ts.map +1 -0
  180. package/dist/src/symbols/symbol-slot.test.js +35 -0
  181. package/dist/src/symbols/symbol-slot.test.js.map +1 -0
  182. package/dist/src/symbols/symbol-table.d.ts.map +1 -1
  183. package/dist/src/symbols/symbol-table.js +6 -5
  184. package/dist/src/symbols/symbol-table.js.map +1 -1
  185. package/dist/src/trace.d.ts +2 -0
  186. package/dist/src/trace.d.ts.map +1 -0
  187. package/dist/src/trace.js +2 -0
  188. package/dist/src/trace.js.map +1 -0
  189. package/dist/src/tracer.d.ts +2 -228
  190. package/dist/src/tracer.d.ts.map +1 -1
  191. package/dist/src/tracer.js +5 -298
  192. package/dist/src/tracer.js.map +1 -1
  193. package/dist/src/utils.d.ts.map +1 -1
  194. package/dist/src/utils.js +7 -5
  195. package/dist/src/utils.js.map +1 -1
  196. package/dist/test/components/append-file.test.d.ts.map +1 -1
  197. package/dist/test/components/append-file.test.js +18 -10
  198. package/dist/test/components/append-file.test.js.map +1 -1
  199. package/dist/test/components/template-file.test.d.ts.map +1 -1
  200. package/dist/test/components/template-file.test.js +6 -4
  201. package/dist/test/components/template-file.test.js.map +1 -1
  202. package/dist/test/lazy-isempty.test.d.ts +2 -0
  203. package/dist/test/lazy-isempty.test.d.ts.map +1 -0
  204. package/dist/test/lazy-isempty.test.js +89 -0
  205. package/dist/test/lazy-isempty.test.js.map +1 -0
  206. package/dist/test/reactive-union-set-disposers.test.d.ts +2 -0
  207. package/dist/test/reactive-union-set-disposers.test.d.ts.map +1 -0
  208. package/dist/test/reactive-union-set-disposers.test.js +98 -0
  209. package/dist/test/reactive-union-set-disposers.test.js.map +1 -0
  210. package/dist/test/reactivity/shallow-reactive.test.d.ts +2 -0
  211. package/dist/test/reactivity/shallow-reactive.test.d.ts.map +1 -0
  212. package/dist/test/reactivity/shallow-reactive.test.js +52 -0
  213. package/dist/test/reactivity/shallow-reactive.test.js.map +1 -0
  214. package/dist/test/rendering/basic.test.js +3 -0
  215. package/dist/test/rendering/basic.test.js.map +1 -1
  216. package/dist/test/rendering/print-render-stack.test.d.ts +2 -0
  217. package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -0
  218. package/dist/test/rendering/print-render-stack.test.js +207 -0
  219. package/dist/test/rendering/print-render-stack.test.js.map +1 -0
  220. package/dist/test/scheduler-extended.test.d.ts +2 -0
  221. package/dist/test/scheduler-extended.test.d.ts.map +1 -0
  222. package/dist/test/scheduler-extended.test.js +96 -0
  223. package/dist/test/scheduler-extended.test.js.map +1 -0
  224. package/dist/test/scheduler.test.d.ts +2 -0
  225. package/dist/test/scheduler.test.d.ts.map +1 -0
  226. package/dist/test/scheduler.test.js +46 -0
  227. package/dist/test/scheduler.test.js.map +1 -0
  228. package/dist/testing/create-test-wrapper.d.ts +1 -1
  229. package/dist/testing/create-test-wrapper.d.ts.map +1 -1
  230. package/dist/testing/create-test-wrapper.js +1 -1
  231. package/dist/testing/create-test-wrapper.js.map +1 -1
  232. package/dist/testing/devtools-utils.d.ts +26 -0
  233. package/dist/testing/devtools-utils.d.ts.map +1 -0
  234. package/dist/testing/devtools-utils.js +140 -0
  235. package/dist/testing/devtools-utils.js.map +1 -0
  236. package/dist/testing/extend-expect.d.ts.map +1 -1
  237. package/dist/testing/extend-expect.js +63 -1
  238. package/dist/testing/extend-expect.js.map +1 -1
  239. package/dist/testing/render.d.ts +2 -2
  240. package/dist/testing/render.d.ts.map +1 -1
  241. package/dist/testing/render.js +2 -2
  242. package/dist/testing/render.js.map +1 -1
  243. package/dist/tsconfig.tsbuildinfo +1 -1
  244. package/package.json +21 -7
  245. package/scripts/copy-devtools-ui.mjs +26 -0
  246. package/src/binder.ts +71 -16
  247. package/src/components/AccessExpression.test.tsx +132 -0
  248. package/src/components/AccessExpression.tsx +344 -0
  249. package/src/components/AppendFile.tsx +14 -9
  250. package/src/components/Block.tsx +1 -1
  251. package/src/components/Declaration.tsx +2 -1
  252. package/src/components/Prose.tsx +1 -1
  253. package/src/components/Scope.tsx +6 -1
  254. package/src/components/SourceDirectory.tsx +1 -2
  255. package/src/components/TemplateFile.tsx +18 -9
  256. package/src/components/index.tsx +1 -0
  257. package/src/content-slot.tsx +7 -7
  258. package/src/context.ts +17 -6
  259. package/src/{debug.ts → debug/cli.ts} +112 -127
  260. package/src/debug/diagnostics.test.tsx +55 -0
  261. package/src/debug/effects.test.tsx +89 -0
  262. package/src/debug/effects.ts +317 -0
  263. package/src/debug/files.test.tsx +96 -0
  264. package/src/debug/files.ts +40 -0
  265. package/src/debug/index.ts +128 -0
  266. package/src/debug/render.test.tsx +379 -0
  267. package/src/debug/render.ts +639 -0
  268. package/src/debug/serialize.ts +85 -0
  269. package/src/debug/symbols.test.tsx +106 -0
  270. package/src/debug/symbols.ts +239 -0
  271. package/src/debug/trace.ts +312 -0
  272. package/src/devtools/devtools-protocol.ts +312 -0
  273. package/src/devtools/devtools-server.browser.ts +71 -0
  274. package/src/devtools/devtools-server.ts +290 -0
  275. package/src/devtools/devtools-transport.ts +154 -0
  276. package/src/devtools-entry.browser.ts +52 -0
  277. package/src/devtools-entry.ts +54 -0
  278. package/src/diagnostics.ts +141 -0
  279. package/src/index.ts +2 -7
  280. package/src/print-hook.ts +22 -0
  281. package/src/reactive-union-set.ts +85 -44
  282. package/src/reactivity.ts +301 -59
  283. package/src/render-stack.ts +294 -0
  284. package/src/render.ts +470 -216
  285. package/src/resource.ts +28 -19
  286. package/src/runtime/component.ts +11 -0
  287. package/src/scheduler.ts +80 -4
  288. package/src/symbols/basic-symbol.ts +6 -1
  289. package/src/symbols/decl.ts +5 -1
  290. package/src/symbols/output-scope.ts +21 -13
  291. package/src/symbols/output-symbol.ts +34 -14
  292. package/src/symbols/symbol-flow.ts +76 -39
  293. package/src/symbols/symbol-slot.test.tsx +41 -0
  294. package/src/symbols/symbol-slot.tsx +47 -20
  295. package/src/symbols/symbol-table.ts +6 -10
  296. package/src/trace.ts +1 -0
  297. package/src/tracer.ts +13 -242
  298. package/src/utils.tsx +24 -17
  299. package/temp/api.json +4187 -1603
  300. package/test/components/append-file.test.tsx +36 -29
  301. package/test/components/template-file.test.tsx +11 -11
  302. package/test/lazy-isempty.test.tsx +106 -0
  303. package/test/reactive-union-set-disposers.test.tsx +112 -0
  304. package/test/reactivity/shallow-reactive.test.tsx +56 -0
  305. package/test/rendering/basic.test.tsx +4 -0
  306. package/test/rendering/print-render-stack.test.tsx +244 -0
  307. package/test/scheduler-extended.test.tsx +122 -0
  308. package/test/scheduler.test.tsx +50 -0
  309. package/testing/create-test-wrapper.tsx +1 -1
  310. package/testing/devtools-utils.ts +203 -0
  311. package/testing/extend-expect.ts +89 -0
  312. package/testing/render.ts +2 -2
  313. package/testing/vitest.d.ts +9 -0
  314. package/dist/src/debug.d.ts +0 -15
  315. package/dist/src/debug.d.ts.map +0 -1
  316. 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, 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,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, 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","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,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,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, shallowReactive, shallowReadonly, track, TrackOpTypes, trigger, TriggerOpTypes } from "@vue/reactivity";
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(() => onAdd(value));
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","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","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":[]}
@@ -1,15 +1,17 @@
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
- export declare function getElementCache(): ElementCache;
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
- disposables: Disposable[];
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: 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
- export declare function memo<T>(fn: () => T, equal?: boolean): () => T;
55
- export declare function effect<T>(fn: (prev?: T) => T, current?: T): void;
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,21 @@ 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;
87
- export declare function refId(ref: Ref<unknown>): number;
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): Ref<T>;
120
+ export declare function computed<T>(getter: () => T): Ref<T>;
121
+ export declare function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue?: T[K]): Ref<T[K]>;
122
+ export declare function toRefs<T extends object>(object: T): {
123
+ [K in keyof T]: Ref<T[K]>;
124
+ };
125
+ export declare function refId(ref: Ref<unknown>, isInfrastructure?: boolean): number;
126
+ /** Allocate a unique reactive target ID from the same counter space as ref IDs. */
127
+ export declare function nextReactiveId(): number;
128
+ export declare function resetRefIdCounter(): void;
129
+ export declare function getEffectDebugId(effect: object): number | undefined;
88
130
  export {};
89
131
  //# 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":"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"}