@alloy-js/core 0.20.0-dev.4 → 0.20.0-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/src/binder.d.ts +74 -38
  2. package/dist/src/binder.d.ts.map +1 -1
  3. package/dist/src/binder.js +235 -173
  4. package/dist/src/binder.js.map +1 -0
  5. package/dist/src/code.js +2 -1
  6. package/dist/src/code.js.map +1 -0
  7. package/dist/src/components/AppendFile.js +2 -1
  8. package/dist/src/components/AppendFile.js.map +1 -0
  9. package/dist/src/components/Block.js +2 -1
  10. package/dist/src/components/Block.js.map +1 -0
  11. package/dist/src/components/CopyFile.js +2 -1
  12. package/dist/src/components/CopyFile.js.map +1 -0
  13. package/dist/src/components/Declaration.d.ts +2 -2
  14. package/dist/src/components/Declaration.d.ts.map +1 -1
  15. package/dist/src/components/Declaration.js +10 -3
  16. package/dist/src/components/Declaration.js.map +1 -0
  17. package/dist/src/components/For.js +2 -1
  18. package/dist/src/components/For.js.map +1 -0
  19. package/dist/src/components/Indent.js +2 -1
  20. package/dist/src/components/Indent.js.map +1 -0
  21. package/dist/src/components/List.js +2 -1
  22. package/dist/src/components/List.js.map +1 -0
  23. package/dist/src/components/MemberDeclaration.d.ts +2 -2
  24. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  25. package/dist/src/components/MemberDeclaration.js +11 -6
  26. package/dist/src/components/MemberDeclaration.js.map +1 -0
  27. package/dist/src/components/MemberName.js +2 -1
  28. package/dist/src/components/MemberName.js.map +1 -0
  29. package/dist/src/components/MemberScope.d.ts +30 -13
  30. package/dist/src/components/MemberScope.d.ts.map +1 -1
  31. package/dist/src/components/MemberScope.js +39 -16
  32. package/dist/src/components/MemberScope.js.map +1 -0
  33. package/dist/src/components/Name.js +2 -1
  34. package/dist/src/components/Name.js.map +1 -0
  35. package/dist/src/components/Output.d.ts.map +1 -1
  36. package/dist/src/components/Output.js +4 -6
  37. package/dist/src/components/Output.js.map +1 -0
  38. package/dist/src/components/Prose.js +2 -1
  39. package/dist/src/components/Prose.js.map +1 -0
  40. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  41. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  42. package/dist/src/components/ReferenceOrContent.js +2 -1
  43. package/dist/src/components/ReferenceOrContent.js.map +1 -0
  44. package/dist/src/components/Scope.d.ts +5 -5
  45. package/dist/src/components/Scope.d.ts.map +1 -1
  46. package/dist/src/components/Scope.js +11 -6
  47. package/dist/src/components/Scope.js.map +1 -0
  48. package/dist/src/components/Show.js +2 -1
  49. package/dist/src/components/Show.js.map +1 -0
  50. package/dist/src/components/SourceDirectory.js +2 -1
  51. package/dist/src/components/SourceDirectory.js.map +1 -0
  52. package/dist/src/components/SourceFile.js +2 -1
  53. package/dist/src/components/SourceFile.js.map +1 -0
  54. package/dist/src/components/StatementList.js +2 -1
  55. package/dist/src/components/StatementList.js.map +1 -0
  56. package/dist/src/components/Switch.js +2 -1
  57. package/dist/src/components/Switch.js.map +1 -0
  58. package/dist/src/components/TemplateFile.js +2 -1
  59. package/dist/src/components/TemplateFile.js.map +1 -0
  60. package/dist/src/components/UpdateFile.js +2 -1
  61. package/dist/src/components/UpdateFile.js.map +1 -0
  62. package/dist/src/components/Wrap.js +2 -1
  63. package/dist/src/components/Wrap.js.map +1 -0
  64. package/dist/src/components/index.js +2 -1
  65. package/dist/src/components/index.js.map +1 -0
  66. package/dist/src/components/stc/index.js +2 -1
  67. package/dist/src/components/stc/index.js.map +1 -0
  68. package/dist/src/components/stc/sti.js +2 -1
  69. package/dist/src/components/stc/sti.js.map +1 -0
  70. package/dist/src/context/assignment.js +2 -1
  71. package/dist/src/context/assignment.js.map +1 -0
  72. package/dist/src/context/binder.js +2 -1
  73. package/dist/src/context/binder.js.map +1 -0
  74. package/dist/src/context/declaration.js +2 -1
  75. package/dist/src/context/declaration.js.map +1 -0
  76. package/dist/src/context/index.js +2 -1
  77. package/dist/src/context/index.js.map +1 -0
  78. package/dist/src/context/member-declaration.js +2 -1
  79. package/dist/src/context/member-declaration.js.map +1 -0
  80. package/dist/src/context/member-scope.d.ts +7 -8
  81. package/dist/src/context/member-scope.d.ts.map +1 -1
  82. package/dist/src/context/member-scope.js +7 -6
  83. package/dist/src/context/member-scope.js.map +1 -0
  84. package/dist/src/context/name-policy.d.ts.map +1 -1
  85. package/dist/src/context/name-policy.js +5 -1
  86. package/dist/src/context/name-policy.js.map +1 -0
  87. package/dist/src/context/scope.d.ts +1 -0
  88. package/dist/src/context/scope.d.ts.map +1 -1
  89. package/dist/src/context/scope.js +9 -1
  90. package/dist/src/context/scope.js.map +1 -0
  91. package/dist/src/context/source-directory.js +2 -1
  92. package/dist/src/context/source-directory.js.map +1 -0
  93. package/dist/src/context/source-file.js +2 -1
  94. package/dist/src/context/source-file.js.map +1 -0
  95. package/dist/src/context.js +2 -1
  96. package/dist/src/context.js.map +1 -0
  97. package/dist/src/debug.js +2 -1
  98. package/dist/src/debug.js.map +1 -0
  99. package/dist/src/host/alloy-host.browser.js +2 -1
  100. package/dist/src/host/alloy-host.browser.js.map +1 -0
  101. package/dist/src/host/alloy-host.js +2 -1
  102. package/dist/src/host/alloy-host.js.map +1 -0
  103. package/dist/src/host/interface.js +2 -1
  104. package/dist/src/host/interface.js.map +1 -0
  105. package/dist/src/index.browser.js +2 -1
  106. package/dist/src/index.browser.js.map +1 -0
  107. package/dist/src/index.js +2 -1
  108. package/dist/src/index.js.map +1 -0
  109. package/dist/src/inspect.browser.d.ts +5 -0
  110. package/dist/src/inspect.browser.d.ts.map +1 -0
  111. package/dist/src/inspect.browser.js +6 -0
  112. package/dist/src/inspect.browser.js.map +1 -0
  113. package/dist/src/inspect.d.ts +2 -0
  114. package/dist/src/inspect.d.ts.map +1 -0
  115. package/dist/src/inspect.js +2 -0
  116. package/dist/src/inspect.js.map +1 -0
  117. package/dist/src/jsx-runtime.js +2 -1
  118. package/dist/src/jsx-runtime.js.map +1 -0
  119. package/dist/src/name-policy.d.ts +11 -0
  120. package/dist/src/name-policy.d.ts.map +1 -1
  121. package/dist/src/name-policy.js +5 -1
  122. package/dist/src/name-policy.js.map +1 -0
  123. package/dist/src/props-combinators.js +2 -1
  124. package/dist/src/props-combinators.js.map +1 -0
  125. package/dist/src/reactive-union-set.d.ts.map +1 -1
  126. package/dist/src/reactive-union-set.js +14 -9
  127. package/dist/src/reactive-union-set.js.map +1 -0
  128. package/dist/src/reactivity.js +2 -1
  129. package/dist/src/reactivity.js.map +1 -0
  130. package/dist/src/refkey.d.ts +39 -3
  131. package/dist/src/refkey.d.ts.map +1 -1
  132. package/dist/src/refkey.js +65 -10
  133. package/dist/src/refkey.js.map +1 -0
  134. package/dist/src/render.js +2 -1
  135. package/dist/src/render.js.map +1 -0
  136. package/dist/src/resource.js +2 -1
  137. package/dist/src/resource.js.map +1 -0
  138. package/dist/src/runtime/component.js +2 -1
  139. package/dist/src/runtime/component.js.map +1 -0
  140. package/dist/src/runtime/intrinsic.js +2 -1
  141. package/dist/src/runtime/intrinsic.js.map +1 -0
  142. package/dist/src/scheduler.js +2 -1
  143. package/dist/src/scheduler.js.map +1 -0
  144. package/dist/src/stc.js +2 -1
  145. package/dist/src/stc.js.map +1 -0
  146. package/dist/src/sti.js +2 -1
  147. package/dist/src/sti.js.map +1 -0
  148. package/dist/src/symbols/basic-scope.d.ts +14 -0
  149. package/dist/src/symbols/basic-scope.d.ts.map +1 -0
  150. package/dist/src/symbols/basic-scope.js +21 -0
  151. package/dist/src/symbols/basic-scope.js.map +1 -0
  152. package/dist/src/symbols/basic-symbol.d.ts +19 -0
  153. package/dist/src/symbols/basic-symbol.d.ts.map +1 -0
  154. package/dist/src/symbols/basic-symbol.js +29 -0
  155. package/dist/src/symbols/basic-symbol.js.map +1 -0
  156. package/dist/src/symbols/index.d.ts +3 -1
  157. package/dist/src/symbols/index.d.ts.map +1 -1
  158. package/dist/src/symbols/index.js +5 -2
  159. package/dist/src/symbols/index.js.map +1 -0
  160. package/dist/src/symbols/output-scope.d.ts +70 -41
  161. package/dist/src/symbols/output-scope.d.ts.map +1 -1
  162. package/dist/src/symbols/output-scope.js +100 -131
  163. package/dist/src/symbols/output-scope.js.map +1 -0
  164. package/dist/src/symbols/output-space.d.ts +25 -0
  165. package/dist/src/symbols/output-space.d.ts.map +1 -0
  166. package/dist/src/symbols/output-space.js +36 -0
  167. package/dist/src/symbols/output-space.js.map +1 -0
  168. package/dist/src/symbols/output-symbol.d.ts +213 -37
  169. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  170. package/dist/src/symbols/output-symbol.js +325 -204
  171. package/dist/src/symbols/output-symbol.js.map +1 -0
  172. package/dist/src/symbols/symbol-flow.d.ts +1 -1
  173. package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
  174. package/dist/src/symbols/symbol-flow.js +24 -8
  175. package/dist/src/symbols/symbol-flow.js.map +1 -0
  176. package/dist/src/symbols/symbol-slot.d.ts +27 -9
  177. package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
  178. package/dist/src/symbols/symbol-slot.js +22 -5
  179. package/dist/src/symbols/symbol-slot.js.map +1 -0
  180. package/dist/src/symbols/symbol-table.d.ts +19 -8
  181. package/dist/src/symbols/symbol-table.d.ts.map +1 -1
  182. package/dist/src/symbols/symbol-table.js +67 -17
  183. package/dist/src/symbols/symbol-table.js.map +1 -0
  184. package/dist/src/tap.js +2 -1
  185. package/dist/src/tap.js.map +1 -0
  186. package/dist/src/tracer.d.ts +15 -3
  187. package/dist/src/tracer.d.ts.map +1 -1
  188. package/dist/src/tracer.js +41 -64
  189. package/dist/src/tracer.js.map +1 -0
  190. package/dist/src/utils.js +2 -1
  191. package/dist/src/utils.js.map +1 -0
  192. package/dist/src/write-output.js +2 -1
  193. package/dist/src/write-output.js.map +1 -0
  194. package/dist/test/browser-build.test.js +2 -1
  195. package/dist/test/browser-build.test.js.map +1 -0
  196. package/dist/test/children.test.js +2 -1
  197. package/dist/test/children.test.js.map +1 -0
  198. package/dist/test/components/append-file.test.js +2 -1
  199. package/dist/test/components/append-file.test.js.map +1 -0
  200. package/dist/test/components/block.test.js +2 -1
  201. package/dist/test/components/block.test.js.map +1 -0
  202. package/dist/test/components/copy-file.test.js +2 -1
  203. package/dist/test/components/copy-file.test.js.map +1 -0
  204. package/dist/test/components/declaration.test.js +11 -15
  205. package/dist/test/components/declaration.test.js.map +1 -0
  206. package/dist/test/components/list.test.js +2 -1
  207. package/dist/test/components/list.test.js.map +1 -0
  208. package/dist/test/components/prose.test.js +2 -1
  209. package/dist/test/components/prose.test.js.map +1 -0
  210. package/dist/test/components/reference-or-content.test.js +4 -3
  211. package/dist/test/components/reference-or-content.test.js.map +1 -0
  212. package/dist/test/components/source-file.test.js +2 -1
  213. package/dist/test/components/source-file.test.js.map +1 -0
  214. package/dist/test/components/template-file.test.js +2 -1
  215. package/dist/test/components/template-file.test.js.map +1 -0
  216. package/dist/test/components/update-file.test.js +2 -1
  217. package/dist/test/components/update-file.test.js.map +1 -0
  218. package/dist/test/components/wrap.test.js +2 -1
  219. package/dist/test/components/wrap.test.js.map +1 -0
  220. package/dist/test/control-flow/for.test.js +2 -1
  221. package/dist/test/control-flow/for.test.js.map +1 -0
  222. package/dist/test/control-flow/match.test.js +2 -1
  223. package/dist/test/control-flow/match.test.js.map +1 -0
  224. package/dist/test/control-flow/show.test.js +2 -1
  225. package/dist/test/control-flow/show.test.js.map +1 -0
  226. package/dist/test/name-policy.test.js +2 -1
  227. package/dist/test/name-policy.test.js.map +1 -0
  228. package/dist/test/props-with-defaults.test.js +2 -1
  229. package/dist/test/props-with-defaults.test.js.map +1 -0
  230. package/dist/test/reactive-union-set.test.js +2 -1
  231. package/dist/test/reactive-union-set.test.js.map +1 -0
  232. package/dist/test/reactivity/circular-reactives.test.js +2 -1
  233. package/dist/test/reactivity/circular-reactives.test.js.map +1 -0
  234. package/dist/test/reactivity/cleanup.test.js +2 -1
  235. package/dist/test/reactivity/cleanup.test.js.map +1 -0
  236. package/dist/test/reactivity/memo.test.js +2 -1
  237. package/dist/test/reactivity/memo.test.js.map +1 -0
  238. package/dist/test/reactivity/ref-rendering.test.js +2 -1
  239. package/dist/test/reactivity/ref-rendering.test.js.map +1 -0
  240. package/dist/test/reactivity/test.test.js +2 -1
  241. package/dist/test/reactivity/test.test.js.map +1 -0
  242. package/dist/test/reactivity/untrack.test.js +2 -1
  243. package/dist/test/reactivity/untrack.test.js.map +1 -0
  244. package/dist/test/refkey.test.js +2 -1
  245. package/dist/test/refkey.test.js.map +1 -0
  246. package/dist/test/rendering/basic.test.js +2 -1
  247. package/dist/test/rendering/basic.test.js.map +1 -0
  248. package/dist/test/rendering/code.test.js +2 -1
  249. package/dist/test/rendering/code.test.js.map +1 -0
  250. package/dist/test/rendering/formatting.test.js +2 -1
  251. package/dist/test/rendering/formatting.test.js.map +1 -0
  252. package/dist/test/rendering/indent.test.js +2 -1
  253. package/dist/test/rendering/indent.test.js.map +1 -0
  254. package/dist/test/rendering/memoization.test.js +2 -1
  255. package/dist/test/rendering/memoization.test.js.map +1 -0
  256. package/dist/test/rendering/refkeys.test.js +2 -1
  257. package/dist/test/rendering/refkeys.test.js.map +1 -0
  258. package/dist/test/split-props.test.js +2 -1
  259. package/dist/test/split-props.test.js.map +1 -0
  260. package/dist/test/stc.test.js +2 -1
  261. package/dist/test/stc.test.js.map +1 -0
  262. package/dist/test/symbols/output-scope.test.js +34 -198
  263. package/dist/test/symbols/output-scope.test.js.map +1 -0
  264. package/dist/test/symbols/output-symbol.test.js +141 -386
  265. package/dist/test/symbols/output-symbol.test.js.map +1 -0
  266. package/dist/test/symbols/resolution.test.js +433 -115
  267. package/dist/test/symbols/resolution.test.js.map +1 -0
  268. package/dist/test/symbols/symbol-table.test.d.ts +2 -0
  269. package/dist/test/symbols/symbol-table.test.d.ts.map +1 -0
  270. package/dist/test/symbols/symbol-table.test.js +15 -0
  271. package/dist/test/symbols/symbol-table.test.js.map +1 -0
  272. package/dist/test/symbols/utils.d.ts +10 -24
  273. package/dist/test/symbols/utils.d.ts.map +1 -1
  274. package/dist/test/symbols/utils.js +25 -46
  275. package/dist/test/symbols/utils.js.map +1 -0
  276. package/dist/test/utils.test.js +2 -1
  277. package/dist/test/utils.test.js.map +1 -0
  278. package/dist/testing/extend-expect.js +2 -1
  279. package/dist/testing/extend-expect.js.map +1 -0
  280. package/dist/testing/extend-expect.test.js +2 -1
  281. package/dist/testing/extend-expect.test.js.map +1 -0
  282. package/dist/testing/index.js +2 -1
  283. package/dist/testing/index.js.map +1 -0
  284. package/dist/testing/render.js +2 -1
  285. package/dist/testing/render.js.map +1 -0
  286. package/dist/testing/vitest.d.js +2 -1
  287. package/dist/testing/vitest.d.js.map +1 -0
  288. package/dist/tsconfig.tsbuildinfo +1 -1
  289. package/package.json +5 -3
  290. package/src/binder.ts +368 -273
  291. package/src/components/Declaration.tsx +13 -3
  292. package/src/components/MemberDeclaration.tsx +15 -8
  293. package/src/components/MemberScope.tsx +61 -20
  294. package/src/components/Output.tsx +0 -4
  295. package/src/components/Scope.tsx +16 -9
  296. package/src/context/member-scope.ts +10 -10
  297. package/src/context/name-policy.ts +3 -0
  298. package/src/context/scope.ts +9 -0
  299. package/src/inspect.browser.ts +6 -0
  300. package/src/inspect.ts +1 -0
  301. package/src/name-policy.ts +14 -0
  302. package/src/reactive-union-set.ts +14 -8
  303. package/src/refkey.ts +106 -14
  304. package/src/symbols/basic-scope.ts +23 -0
  305. package/src/symbols/basic-symbol.ts +32 -0
  306. package/src/symbols/index.ts +3 -1
  307. package/src/symbols/output-scope.ts +131 -170
  308. package/src/symbols/output-space.ts +49 -0
  309. package/src/symbols/output-symbol.ts +434 -258
  310. package/src/symbols/symbol-flow.ts +38 -9
  311. package/src/symbols/symbol-slot.tsx +46 -8
  312. package/src/symbols/symbol-table.ts +95 -21
  313. package/src/tracer.ts +53 -83
  314. package/temp/api.json +7009 -4461
  315. package/test/components/declaration.test.tsx +6 -19
  316. package/test/components/reference-or-content.test.tsx +2 -2
  317. package/test/symbols/output-scope.test.ts +33 -125
  318. package/test/symbols/output-symbol.test.ts +128 -348
  319. package/test/symbols/resolution.test.ts +530 -117
  320. package/test/symbols/symbol-table.test.ts +15 -0
  321. package/test/symbols/utils.ts +38 -74
  322. package/tsdoc.json +4 -0
  323. package/dist/src/slot.d.ts +0 -15
  324. package/dist/src/slot.d.ts.map +0 -1
  325. package/dist/src/slot.js +0 -50
  326. package/dist/src/symbols/flags.d.ts +0 -70
  327. package/dist/src/symbols/flags.d.ts.map +0 -1
  328. package/dist/src/symbols/flags.js +0 -72
  329. package/dist/test/components/slot.test.d.ts +0 -2
  330. package/dist/test/components/slot.test.d.ts.map +0 -1
  331. package/dist/test/components/slot.test.js +0 -134
  332. package/src/slot.ts +0 -89
  333. package/src/symbols/flags.ts +0 -82
  334. package/test/components/slot.test.tsx +0 -174
@@ -1,8 +1,8 @@
1
1
  import { isRef, shallowReactive } from "@vue/reactivity";
2
2
  import { effect, getContext, onCleanup } from "../reactivity.js";
3
- import { MemberScopeContext } from "../context/member-scope.js";
3
+ import { MemberContext } from "../context/member-scope.js";
4
4
  import { ScopeContext } from "../context/scope.js";
5
- import { OutputSymbolFlags } from "./flags.js";
5
+ import { formatSymbolName, trace, TracePhase } from "../tracer.js";
6
6
  export function takeSymbols(cb) {
7
7
  const context = getContext();
8
8
  context.takesSymbols = true;
@@ -21,6 +21,11 @@ export function takeSymbols(cb) {
21
21
  return context.takenSymbols;
22
22
  }
23
23
  export function emitSymbol(symbol) {
24
+ if (isRef(symbol)) {
25
+ trace(TracePhase.symbol.flow, () => `Emitting ref to symbol`);
26
+ } else {
27
+ trace(TracePhase.symbol.flow, () => `Emitting symbol ${formatSymbolName(symbol)}`);
28
+ }
24
29
  let symbolTaker;
25
30
  let context = getContext().owner;
26
31
  while (context) {
@@ -28,13 +33,15 @@ export function emitSymbol(symbol) {
28
33
  symbolTaker = context;
29
34
  break;
30
35
  }
31
- if (context.context && (context.context[ScopeContext.id] || context.context[MemberScopeContext.id])) {
36
+ if (context.context && (context.context[ScopeContext.id] || context.context[MemberContext.id])) {
32
37
  // don't cross scope boundaries.
38
+ trace(TracePhase.symbol.flow, () => `Not emitting symbol across scope boundary`);
33
39
  break;
34
40
  }
35
41
  context = context.owner;
36
42
  }
37
43
  if (!symbolTaker) {
44
+ trace(TracePhase.symbol.flow, () => `No symbol taker found, not emitting`);
38
45
  return;
39
46
  }
40
47
  if (isRef(symbol)) {
@@ -53,6 +60,7 @@ export function emitSymbol(symbol) {
53
60
  }
54
61
  });
55
62
  } else {
63
+ trace(TracePhase.symbol.flow, () => `Emitting symbol ${formatSymbolName(symbol)} taken by ${symbolTaker.componentOwner?.name ?? "unknown component"}`);
56
64
  symbolTaker.takenSymbols.add(symbol);
57
65
  onCleanup(() => {
58
66
  context.takenSymbols.delete(symbol);
@@ -63,12 +71,20 @@ export function moveTakenMembersTo(baseSymbol) {
63
71
  const taken = takeSymbols();
64
72
  effect(() => {
65
73
  for (const symbol of taken) {
66
- if (symbol.flags & OutputSymbolFlags.Transient) {
67
- symbol.moveTo(baseSymbol);
74
+ if (symbol.isTransient) {
75
+ symbol.moveMembersTo(baseSymbol);
76
+ }
77
+ for (const refkey of symbol.refkeys) {
78
+ if (!baseSymbol.refkeys.includes(refkey)) {
79
+ baseSymbol.refkeys.push(refkey);
80
+ }
68
81
  }
69
82
  }
70
83
  });
71
84
  }
72
- export function instantiateTakenMembersTo(baseSymbol) {
73
- takeSymbols(symbol => symbol.instantiateTo(baseSymbol));
74
- }
85
+ export function instantiateTakenMembersTo(baseSymbol, toSpaceKey, fromSpaceKey) {
86
+ takeSymbols(symbol => {
87
+ baseSymbol.type = symbol;
88
+ });
89
+ }
90
+ //# sourceMappingURL=symbol-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isRef","shallowReactive","effect","getContext","onCleanup","MemberContext","ScopeContext","formatSymbolName","trace","TracePhase","takeSymbols","cb","context","takesSymbols","takenSymbols","Set","oldSymbols","symbol","has","emitSymbol","flow","symbolTaker","owner","id","prevSymbol","value","delete","undefined","add","componentOwner","name","moveTakenMembersTo","baseSymbol","taken","isTransient","moveMembersTo","refkey","refkeys","includes","push","instantiateTakenMembersTo","toSpaceKey","fromSpaceKey","type"],"sources":["../../../src/symbols/symbol-flow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,30 @@
1
1
  import { Ref, ShallowReactive } from "@vue/reactivity";
2
- import type { Children } from "../runtime/component.js";
2
+ import type { Component } from "../runtime/component.js";
3
3
  import { OutputSymbol } from "./output-symbol.js";
4
- export declare function createSymbolSlot(): {
5
- (props: {
6
- children: Children;
7
- }): Children;
8
- ref: Ref<ShallowReactive<Set<OutputSymbol>> | undefined, ShallowReactive<Set<OutputSymbol>> | undefined>;
9
- instantiateInto(baseSymbol: OutputSymbol): void;
10
- copyInto(baseSymbol: OutputSymbol): void;
11
- };
4
+ export interface SymbolSlot extends Component<{}> {
5
+ /**
6
+ * A ref for the set of symbols taken by this slot. Undefined when the Slot component
7
+ * has not been rendered yet.
8
+ */
9
+ ref: Ref<ShallowReactive<Set<OutputSymbol>> | undefined>;
10
+ /**
11
+ * A ref for the first symbol taken by this slot. Undefined when the Slot component
12
+ * has not been rendered yet or has not taken any symbols.
13
+ */
14
+ firstSymbol: Ref<OutputSymbol | undefined>;
15
+ /**
16
+ * Copy any members from taken symbols to the given symbol.
17
+ */
18
+ copyMembersTo(baseSymbol: OutputSymbol): void;
19
+ /**
20
+ * Move any members from transient taken symbols to the given symbol.
21
+ */
22
+ moveMembersTo(baseSymbol: OutputSymbol): void;
23
+ }
24
+ /**
25
+ * Create a component which accepts emitted symbols. The returned component has
26
+ * a `ref` property which is a ref to a reactive set of all symbols emitted by
27
+ * children of the component.
28
+ */
29
+ export declare function createSymbolSlot(): SymbolSlot;
12
30
  //# sourceMappingURL=symbol-slot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-slot.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,wBAAgB,gBAAgB;YAGH;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE;;gCAaP,YAAY;yBAYnB,YAAY;EAahD"}
1
+ {"version":3,"file":"symbol-slot.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,EAAE,CAAC;IAC/C;;;OAGG;IACH,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzD;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE3C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/C;AACD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAoD7C"}
@@ -1,6 +1,11 @@
1
1
  import { shallowRef } from "@vue/reactivity";
2
2
  import { effect, onCleanup } from "../reactivity.js";
3
3
  import { takeSymbols } from "./symbol-flow.js";
4
+ /**
5
+ * Create a component which accepts emitted symbols. The returned component has
6
+ * a `ref` property which is a ref to a reactive set of all symbols emitted by
7
+ * children of the component.
8
+ */
4
9
  export function createSymbolSlot() {
5
10
  const symbolSlotRef = shallowRef();
6
11
  function SymbolSlot(props) {
@@ -12,25 +17,37 @@ export function createSymbolSlot() {
12
17
  return props.children;
13
18
  }
14
19
  SymbolSlot.ref = symbolSlotRef;
15
- SymbolSlot.instantiateInto = baseSymbol => {
20
+ Object.defineProperty(SymbolSlot, "firstSymbol", {
21
+ get() {
22
+ const ref = shallowRef();
23
+ effect(() => {
24
+ ref.value = symbolSlotRef.value?.values().next().value;
25
+ });
26
+ return ref;
27
+ }
28
+ });
29
+ SymbolSlot.copyMembersTo = baseSymbol => {
16
30
  effect(() => {
17
31
  if (!symbolSlotRef.value) {
18
32
  return;
19
33
  }
20
34
  for (const symbol of symbolSlotRef.value) {
21
- symbol.instantiateTo(baseSymbol);
35
+ symbol.copyMembersTo(baseSymbol);
22
36
  }
23
37
  });
24
38
  };
25
- SymbolSlot.copyInto = baseSymbol => {
39
+ SymbolSlot.moveMembersTo = baseSymbol => {
26
40
  effect(() => {
27
41
  if (!symbolSlotRef.value) {
28
42
  return;
29
43
  }
30
44
  for (const symbol of symbolSlotRef.value) {
31
- symbol.copyTo(baseSymbol);
45
+ if (symbol.isTransient) {
46
+ symbol.moveMembersTo(baseSymbol);
47
+ }
32
48
  }
33
49
  });
34
50
  };
35
51
  return SymbolSlot;
36
- }
52
+ }
53
+ //# sourceMappingURL=symbol-slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shallowRef","effect","onCleanup","takeSymbols","createSymbolSlot","symbolSlotRef","SymbolSlot","props","set","value","undefined","children","ref","Object","defineProperty","get","values","next","copyMembersTo","baseSymbol","symbol","moveMembersTo","isTransient"],"sources":["../../../src/symbols/symbol-slot.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAA+BA,UAAU,QAAQ,iBAAiB;AAClE,SAASC,MAAM,EAAEC,SAAS,QAAQ,kBAAkB;AAGpD,SAASC,WAAW,QAAQ,kBAAkB;AAwB9C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAe;EAC7C,MAAMC,aAAkE,GACtEL,UAAU,CAAC,CAAC;EACd,SAASM,UAAUA,CAACC,KAA6B,EAAE;IACjD,MAAMC,GAAG,GAAGL,WAAW,CAAC,CAAC;IACzBE,aAAa,CAACI,KAAK,GAAGD,GAAG;IAEzBN,SAAS,CAAC,MAAM;MACdG,aAAa,CAACI,KAAK,GAAGC,SAAS;IACjC,CAAC,CAAC;IAEF,OAAOH,KAAK,CAACI,QAAQ;EACvB;EAEAL,UAAU,CAACM,GAAG,GAAGP,aAAa;EAE9BQ,MAAM,CAACC,cAAc,CAACR,UAAU,EAAE,aAAa,EAAE;IAC/CS,GAAGA,CAAA,EAAG;MACJ,MAAMH,GAAG,GAAGZ,UAAU,CAAC,CAAC;MACxBC,MAAM,CAAC,MAAM;QACXW,GAAG,CAACH,KAAK,GAAGJ,aAAa,CAACI,KAAK,EAAEO,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACR,KAAK;MACxD,CAAC,CAAC;MACF,OAAOG,GAAG;IACZ;EACF,CAAC,CAAC;EAEFN,UAAU,CAACY,aAAa,GAAIC,UAAwB,IAAK;IACvDlB,MAAM,CAAC,MAAM;MACX,IAAI,CAACI,aAAa,CAACI,KAAK,EAAE;QACxB;MACF;MAEA,KAAK,MAAMW,MAAM,IAAIf,aAAa,CAACI,KAAK,EAAE;QACxCW,MAAM,CAACF,aAAa,CAACC,UAAU,CAAC;MAClC;IACF,CAAC,CAAC;EACJ,CAAC;EAEDb,UAAU,CAACe,aAAa,GAAIF,UAAwB,IAAK;IACvDlB,MAAM,CAAC,MAAM;MACX,IAAI,CAACI,aAAa,CAACI,KAAK,EAAE;QACxB;MACF;MACA,KAAK,MAAMW,MAAM,IAAIf,aAAa,CAACI,KAAK,EAAE;QACxC,IAAIW,MAAM,CAACE,WAAW,EAAE;UACtBF,MAAM,CAACC,aAAa,CAACF,UAAU,CAAC;QAClC;MACF;IACF,CAAC,CAAC;EACJ,CAAC;EAED,OAAOb,UAAU;AACnB","ignoreList":[]}
@@ -1,14 +1,25 @@
1
- import type { NameConflictResolver } from "../binder.js";
1
+ import type { Binder, NameConflictResolver } from "../binder.js";
2
2
  import { ReactiveUnionSet } from "../reactive-union-set.js";
3
- import type { OutputScope } from "./output-scope.js";
3
+ import { Refkey } from "../refkey.js";
4
4
  import type { OutputSymbol } from "./output-symbol.js";
5
- export declare class SymbolTable extends ReactiveUnionSet<OutputSymbol> {
6
- private _namesToDeconflict;
7
- private _nameConflictResolver?;
8
- private _deconflictNames;
9
- scope: OutputScope;
10
- constructor(scope: OutputScope, options?: {
5
+ export declare abstract class SymbolTable extends ReactiveUnionSet<OutputSymbol> {
6
+ #private;
7
+ get binder(): Binder | undefined;
8
+ /**
9
+ * The key of this symbol table, e.g. "static" or "instance".
10
+ */
11
+ get key(): string;
12
+ /**
13
+ * The symbols defined within this scope, indexed by refkey.
14
+ */
15
+ get symbolsByRefkey(): ReadonlyMap<Refkey, OutputSymbol>;
16
+ get symbolNames(): ReadonlyMap<string, OutputSymbol>;
17
+ constructor(key: string, binder?: Binder, options?: {
11
18
  nameConflictResolver?: NameConflictResolver;
12
19
  });
20
+ moveTo(target: SymbolTable): void;
21
+ copyTo(target: SymbolTable, options?: {
22
+ createRefkeys?(sourceSymbol: OutputSymbol): Refkey[];
23
+ }): void;
13
24
  }
14
25
  //# sourceMappingURL=symbol-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IAC7D,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,gBAAgB,CAYtB;IACK,KAAK,cAAC;gBAEX,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;KACxC;CA2BT"}
1
+ {"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,8BAAsB,WAAY,SAAQ,gBAAgB,CAAC,YAAY,CAAC;;IAmBtE,IAAI,MAAM,uBAET;IAID;;OAEG;IACH,IAAI,GAAG,WAEN;IAGD;;OAEG;IACH,IAAI,eAAe,sCAElB;IAGD,IAAI,WAAW,sCAEd;gBAGC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE;QACP,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;KACxC;IAmCR,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAejC,MAAM,CACJ,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;QACP,aAAa,CAAC,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;KACjD,GACL,IAAI;CAgBR"}
@@ -1,33 +1,82 @@
1
1
  import { ReactiveUnionSet } from "../reactive-union-set.js";
2
2
  import { queueJob } from "../scheduler.js";
3
- import { formatScopeName, formatSymbolName, trace, TracePhase } from "../tracer.js";
3
+ import { formatSymbolName, formatSymbolTableName, trace, TracePhase } from "../tracer.js";
4
4
  export class SymbolTable extends ReactiveUnionSet {
5
- _namesToDeconflict = new Set();
6
- _deconflictNames = () => {
7
- for (const name of this._namesToDeconflict) {
8
- const conflictedSymbols = [...this].filter(sym => sym.originalName === name);
9
- if (this._nameConflictResolver) {
10
- this._nameConflictResolver(name, conflictedSymbols);
5
+ #namesToDeconflict = new Set();
6
+ #nameConflictResolver;
7
+ #deconflictNames = () => {
8
+ for (const name of this.#namesToDeconflict) {
9
+ const conflictedSymbols = [...this].filter(sym => sym.originalName === name && !sym.ignoreNameConflict);
10
+ if (this.#nameConflictResolver) {
11
+ this.#nameConflictResolver(name, conflictedSymbols);
11
12
  } else {
12
13
  defaultConflictHandler(name, conflictedSymbols);
13
14
  }
14
- this._namesToDeconflict.delete(name);
15
+ this.#namesToDeconflict.delete(name);
15
16
  }
16
17
  };
17
- constructor(scope, options = {}) {
18
+ #binder;
19
+ get binder() {
20
+ return this.#binder;
21
+ }
22
+ #key;
23
+
24
+ /**
25
+ * The key of this symbol table, e.g. "static" or "instance".
26
+ */
27
+ get key() {
28
+ return this.#key;
29
+ }
30
+ #symbolsByRefkey;
31
+ /**
32
+ * The symbols defined within this scope, indexed by refkey.
33
+ */
34
+ get symbolsByRefkey() {
35
+ return this.#symbolsByRefkey;
36
+ }
37
+ #symbolNames;
38
+ get symbolNames() {
39
+ return this.#symbolNames;
40
+ }
41
+ constructor(key, binder, options = {}) {
18
42
  super({
19
43
  onAdd: symbol => {
20
- trace(TracePhase.symbol.addToScope, () => `${formatSymbolName(symbol)} -> ${formatScopeName(scope)}`);
21
- this._namesToDeconflict.add(symbol.name);
22
- queueJob(this._deconflictNames);
44
+ trace(TracePhase.symbol.addToScope, () => `${formatSymbolName(symbol)} added to ${formatSymbolTableName(this)}`);
45
+ this.#namesToDeconflict.add(symbol.name);
46
+ queueJob(this.#deconflictNames);
23
47
  return symbol;
24
48
  },
25
- onDelete(symbol) {
26
- trace(TracePhase.symbol.removeFromScope, () => `${formatSymbolName(symbol)} -> ${formatScopeName(scope)}`);
49
+ onDelete: symbol => {
50
+ trace(TracePhase.symbol.removeFromScope, () => `${formatSymbolName(symbol)} removed from ${formatSymbolTableName(this)}`);
51
+ }
52
+ });
53
+ this.#nameConflictResolver = options.nameConflictResolver ?? binder?.nameConflictResolver;
54
+ this.#binder = binder;
55
+ this.#key = key;
56
+ this.#symbolsByRefkey = this.createIndex(s => s.refkeys);
57
+ this.#symbolNames = this.createIndex(s => {
58
+ return s.name;
59
+ });
60
+ }
61
+ moveTo(target) {
62
+ trace(TracePhase.scope.moveSymbols, () => `${formatSymbolTableName(this)} -> ${formatSymbolTableName(target)}`);
63
+ target.addSubset(this, {
64
+ onAdd: symbol => {
65
+ symbol.spaces = [target];
66
+ return symbol;
67
+ }
68
+ });
69
+ }
70
+ copyTo(target, options = {}) {
71
+ trace(TracePhase.scope.copySymbols, () => `${formatSymbolTableName(this)} copied to ${formatSymbolTableName(target)}`);
72
+ target.addSubset(this, {
73
+ onAdd: symbol => {
74
+ const copy = symbol.copy();
75
+ copy.spaces = [target];
76
+ copy.refkeys = options.createRefkeys?.(symbol) ?? [];
77
+ return copy;
27
78
  }
28
79
  });
29
- this.scope = scope;
30
- this._nameConflictResolver = options.nameConflictResolver;
31
80
  }
32
81
  }
33
82
 
@@ -39,4 +88,5 @@ function defaultConflictHandler(_, conflictedSymbols) {
39
88
  for (let i = 1; i < conflictedSymbols.length; i++) {
40
89
  conflictedSymbols[i].name = conflictedSymbols[i].originalName + "_" + (i + 1);
41
90
  }
42
- }
91
+ }
92
+ //# sourceMappingURL=symbol-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReactiveUnionSet","queueJob","formatSymbolName","formatSymbolTableName","trace","TracePhase","SymbolTable","namesToDeconflict","Set","nameConflictResolver","deconflictNames","#deconflictNames","name","conflictedSymbols","filter","sym","originalName","ignoreNameConflict","defaultConflictHandler","delete","binder","key","symbolsByRefkey","symbolNames","constructor","options","onAdd","symbol","addToScope","add","onDelete","removeFromScope","createIndex","s","refkeys","moveTo","target","scope","moveSymbols","addSubset","spaces","copyTo","copySymbols","copy","createRefkeys","_","i","length"],"sources":["../../../src/symbols/symbol-table.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/src/tap.js CHANGED
@@ -105,4 +105,5 @@ export function createSourceFileTap(handler) {
105
105
  return createTap(() => {
106
106
  return useContext(SourceFileContext);
107
107
  }, handler);
108
- }
108
+ }
109
+ //# sourceMappingURL=tap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shallowRef","useContext","DeclarationContext","MemberDeclarationContext","useScope","SourceFileContext","createTap","tapper","handler","signal","undefined","fn","value","ref","createDeclarationTap","createMemberTap","createScopeTap","createSourceFileTap"],"sources":["../../src/tap.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAqBA,UAAU,QAAQ,iBAAiB;AACxD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,wBAAwB,QAAQ,iCAAiC;AAC1E,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,iBAAiB,QAAQ,0BAA0B;;AAK5D;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CACvBC,MAAiB,EACjBC,OAAuB,EACf;EACR,MAAMC,MAAM,GAAGT,UAAU,CAAgBU,SAAS,CAAC;EACnD,MAAMC,EAAE,GAAGA,CAAA,KAAM;IACfF,MAAM,CAACG,KAAK,GAAGL,MAAM,CAAC,CAAC;IACvB,IAAIC,OAAO,IAAIC,MAAM,CAACG,KAAK,KAAKF,SAAS,EAAE;MACzCF,OAAO,CAACC,MAAM,CAACG,KAAK,CAAC;IACvB;IAEA,OAAO,EAAE;EACX,CAAC;EAEDD,EAAE,CAACE,GAAG,GAAGJ,MAAM;EAEf,OAAOE,EAAE;AACX;;AAEA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAElCN,OAA6B,EAAE;EAC/B,OAAOF,SAAS,CAAU,MAAM;IAC9B,OAAOL,UAAU,CAACC,kBAAkB,CAAC;EACvC,CAAC,EAAEM,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASO,eAAeA,CAC7BP,OAA6B,EAC7B;EACA,OAAOF,SAAS,CAAU,MAAM;IAC9B,OAAOL,UAAU,CAACE,wBAAwB,CAAC;EAC7C,CAAC,EAAEK,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,cAAcA,CAC5BR,OAA4B,EAC5B;EACA,OAAOF,SAAS,CAAS,MAAM;IAC7B,OAAOF,QAAQ,CAAC,CAAC;EACnB,CAAC,EAAEI,OAAO,CAAC;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASS,mBAAmBA,CAACT,OAAuC,EAAE;EAC3E,OAAOF,SAAS,CAAC,MAAM;IACrB,OAAOL,UAAU,CAACI,iBAAiB,CAAC;EACtC,CAAC,EAAEG,OAAO,CAAC;AACb","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import type { Refkey } from "./refkey.js";
1
+ import { type Refkey } from "./refkey.js";
2
2
  import { type OutputScope } from "./symbols/output-scope.js";
3
3
  import { type OutputSymbol } from "./symbols/output-symbol.js";
4
+ import { SymbolTable } from "./symbols/symbol-table.js";
4
5
  export declare const TracePhase: {
5
6
  readonly scope: {
6
7
  readonly update: {
@@ -30,6 +31,15 @@ export declare const TracePhase: {
30
31
  readonly b: 100;
31
32
  };
32
33
  };
34
+ readonly moveSymbols: {
35
+ readonly area: "scope";
36
+ readonly subarea: "moveSymbols";
37
+ readonly bg: {
38
+ readonly r: 0;
39
+ readonly g: 100;
40
+ readonly b: 100;
41
+ };
42
+ };
33
43
  };
34
44
  readonly symbol: {
35
45
  readonly update: {
@@ -226,13 +236,15 @@ interface TextFormat {
226
236
  */
227
237
  export declare function formatSymbolName(symbol: OutputSymbol): string;
228
238
  export declare function formatSymbol(symbol: OutputSymbol): string;
229
- export declare function formatScopeName(scope: OutputScope): string;
239
+ export declare function formatSpaceSymbols(space: SymbolTable): string;
240
+ export declare function formatScopeName(scope: OutputScope | undefined): string;
241
+ export declare function formatSymbolTableName(table: SymbolTable): string;
230
242
  /**
231
243
  * Format an OutputScope for display, showing information in a concise format
232
244
  * @param scope The scope to format
233
245
  * @returns A formatted string representation of the scope
234
246
  */
235
- export declare function formatScope(scope: OutputSymbol["scope"]): string;
247
+ export declare function formatScope(scope: OutputScope): string;
236
248
  export declare function formatRefkeys(refkeys: Refkey[] | Refkey | undefined): string;
237
249
  export {};
238
250
  //# sourceMappingURL=tracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA0B/D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHb,CAAC;AAEX,UAAU,UAAW,SAAQ,UAAU;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,MAAM,EAChB,UAAU,GAAE,GAAG,CAAC,MAAM,CAAa,QA4BpC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,MAAM,QA8B9D;AAED,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,4CAA4C;AAC5C,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuDD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ7D;AAiBD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoDzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAc1D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAoDhE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,UAUnE"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AA0BxD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHb,CAAC;AAEX,UAAU,UAAW,SAAQ,UAAU;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,MAAM,EAChB,UAAU,GAAE,GAAG,CAAC,MAAM,CAAa,QA4BpC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,MAAM,QA8B9D;AAED,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,4CAA4C;AAC5C,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAqCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ7D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoCzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,UAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAYtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAahE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAwCtD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,UAUnE"}
@@ -1,7 +1,7 @@
1
1
  import { effect } from "@vue/reactivity";
2
2
  import { untrack } from "./reactivity.js";
3
+ import { isMemberRefkey } from "./refkey.js";
3
4
  import { scheduler } from "./scheduler.js";
4
- import { OutputScopeFlags, OutputSymbolFlags } from "./symbols/flags.js";
5
5
  // enable tracing for specific phases using a comma separated list of
6
6
  // dotted identifiers, e.g. `scope.update,symbol.create`.
7
7
  const traceEnv = process.env.ALLOY_TRACE ?? "";
@@ -46,6 +46,15 @@ export const TracePhase = {
46
46
  g: 100,
47
47
  b: 100
48
48
  }
49
+ },
50
+ moveSymbols: {
51
+ area: "scope",
52
+ subarea: "moveSymbols",
53
+ bg: {
54
+ r: 0,
55
+ g: 100,
56
+ b: 100
57
+ }
49
58
  }
50
59
  },
51
60
  symbol: {
@@ -316,16 +325,6 @@ function colorText(text, fmt) {
316
325
  return `${prefix}${text}${reset}`;
317
326
  }
318
327
 
319
- /**
320
- * Format flag values in a concise way, showing only the flags that are set
321
- * @param flags The numeric flags value to format
322
- * @param flagEnum The enum containing flag definitions
323
- * @returns An array of flag names that are set
324
- */
325
- function formatFlags(flags, flagEnum) {
326
- return Object.entries(flagEnum).filter(([name, value]) => typeof value === "number" && value !== 0 && (flags & value) === value).map(([name]) => name);
327
- }
328
-
329
328
  /**
330
329
  * Format a symbol name with its ID in a blue-green color
331
330
  * @param symbol The symbol to format
@@ -340,18 +339,6 @@ export function formatSymbolName(symbol) {
340
339
  }
341
340
  });
342
341
  }
343
-
344
- /**
345
- * Format the symbols in a member scope, showing their names and IDs
346
- * @param scope The member scope containing the symbols to format
347
- * @returns A formatted string representation of the member scope symbols
348
- */
349
- function formatMemberScopeSymbols(scope) {
350
- if (!scope || scope.symbols.size === 0) {
351
- return "none";
352
- }
353
- return Array.from(scope.symbols).map(symbol => formatSymbolName(symbol)).join(", ");
354
- }
355
342
  export function formatSymbol(symbol) {
356
343
  // Base display with name and ID
357
344
  let result = formatSymbolName(symbol);
@@ -368,29 +355,15 @@ export function formatSymbol(symbol) {
368
355
  }));
369
356
  }
370
357
 
371
- // Show only enabled flags
372
- const flagsInfo = formatFlags(symbol.flags, OutputSymbolFlags);
373
- if (flagsInfo.length > 0) {
374
- details.push(` flags: ${flagsInfo.join(", ")}`);
375
- }
376
-
377
358
  // Show scope info with formatted name
378
359
  if (symbol.scope) {
379
360
  details.push(untrack(() => ` scope: ${formatScopeName(symbol.scope)}`));
380
361
  }
381
-
382
- // Show member scopes if present
383
- if (symbol.instanceMemberScope) {
384
- untrack(() => {
385
- const memberCount = symbol.instanceMemberScope.symbols.size;
386
- details.push(` instance members: ${memberCount} - ${formatMemberScopeSymbols(symbol.instanceMemberScope)}`);
387
- });
362
+ for (const space of symbol.memberSpaces) {
363
+ details.push(untrack(() => formatSpaceSymbols(space)));
388
364
  }
389
- if (symbol.staticMemberScope) {
390
- untrack(() => {
391
- const memberCount = symbol.staticMemberScope.symbols.size;
392
- details.push(` static members: ${memberCount} - ${formatMemberScopeSymbols(symbol.staticMemberScope)}`);
393
- });
365
+ if (symbol.ownerSymbol) {
366
+ details.push(untrack(() => ` ownerSymbol: ${formatSymbolName(symbol.ownerSymbol)}`));
394
367
  }
395
368
 
396
369
  // Show all refkeys with proper formatting
@@ -402,18 +375,31 @@ export function formatSymbol(symbol) {
402
375
  }
403
376
  return result;
404
377
  }
378
+ export function formatSpaceSymbols(space) {
379
+ return ` ${space.key} symbols (${space.size}): ${[...space].map(s => s.name).join(", ")}`;
380
+ }
405
381
  export function formatScopeName(scope) {
406
- let text = colorText(`${scope.name}[${scope.id}]`, {
382
+ if (!scope) {
383
+ return "no scope";
384
+ }
385
+ return colorText(`${scope.name}[${scope.id}]`, {
407
386
  fg: {
408
387
  r: 0,
409
388
  g: 150,
410
389
  b: 50
411
390
  }
412
391
  });
413
- if (scope.owner) {
414
- text += untrack(() => ` of ${formatSymbolName(scope.owner)}`);
415
- }
416
- return text;
392
+ }
393
+ export function formatSymbolTableName(table) {
394
+ // avoid instance of checks here in order to not create circular module imports.
395
+ const name = "symbol" in table ? formatSymbolName(table.symbol) : formatScopeName(table.scope);
396
+ return colorText(`${name}:${table.key}`, {
397
+ fg: {
398
+ r: 0,
399
+ g: 125,
400
+ b: 25
401
+ }
402
+ });
417
403
  }
418
404
 
419
405
  /**
@@ -445,32 +431,21 @@ export function formatScope(scope) {
445
431
  }
446
432
  }));
447
433
  }
448
- // Show only enabled flags
449
- const flagsInfo = formatFlags(scope.flags, OutputScopeFlags);
450
- if (flagsInfo.length > 0) {
451
- details.push(` flags: ${flagsInfo.join(", ")}`);
452
- }
453
-
454
- // Show symbol count
455
- const symbolCount = scope.symbols.size;
456
- if (symbolCount > 0) {
457
- details.push(` symbols: ${symbolCount}`);
458
- }
459
434
 
460
435
  // Show parent scope if present
461
436
  if (scope.parent) {
462
437
  details.push(` parent: ${formatScopeName(scope.parent)}`);
463
438
  }
464
439
 
465
- // Show owner if present (for member scopes)
466
- if (scope.owner) {
467
- details.push(` owner: ${formatSymbolName(scope.owner)}`);
468
- }
469
-
470
440
  // Show child scopes if present
471
441
  if (scope.children && scope.children.size > 0) {
472
442
  details.push(` children: ${scope.children.size}`);
473
443
  }
444
+
445
+ // Show declaration spaces
446
+ for (const space of scope.spaces) {
447
+ details.push(` ${untrack(() => formatSpaceSymbols(space))}`);
448
+ }
474
449
  if (details.length > 0) {
475
450
  result += "\n" + details.join("\n");
476
451
  }
@@ -486,11 +461,13 @@ export function formatRefkeys(refkeys) {
486
461
  return formatRefkey(refkeys);
487
462
  }
488
463
  function formatRefkey(refkey) {
489
- return colorText(`refkey[${refkey.key}]`, {
464
+ const text = isMemberRefkey(refkey) ? `memberRefkey[${formatRefkey(refkey.base)} -> ${formatRefkey(refkey.member)}]` : `refkey[${refkey.key}]`;
465
+ return colorText(text, {
490
466
  fg: {
491
467
  r: 150,
492
468
  g: 0,
493
469
  b: 0
494
470
  }
495
471
  });
496
- }
472
+ }
473
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["effect","untrack","isMemberRefkey","scheduler","traceEnv","process","env","ALLOY_TRACE","tracePhases","Set","split","map","t","trim","size","console","log","Array","from","join","debuggerIdsEnv","ALLOY_BREAK_ON_DID","dids","forEach","id","num","parseInt","isNaN","add","TracePhase","scope","update","area","subarea","bg","r","g","b","create","copySymbols","moveSymbols","symbol","resolve","flow","addToScope","instantiate","clone","delete","removeFromScope","success","pending","failure","schedule","track","trigger","render","worker","appendChild","renderEffect","triggerCount","shouldTrace","phase","has","trace","cb","triggerIds","areaTag","colorText","bold","fg","traceEffect","first","runner","clear","onTrigger","event","text","fmt","codes","push","length","prefix","reset","formatSymbolName","name","formatSymbol","result","details","binder","formatScopeName","space","memberSpaces","formatSpaceSymbols","ownerSymbol","refkeys","formatRefkeys","key","s","formatSymbolTableName","table","formatScope","parent","children","spaces","isArray","formatRefkey","refkey","base","member"],"sources":["../../src/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/src/utils.js CHANGED
@@ -238,4 +238,5 @@ export function baseListPropsToMapJoinArgs(props) {
238
238
  joiner,
239
239
  ender
240
240
  };
241
- }
241
+ }
242
+ //# sourceMappingURL=utils.js.map