@alloy-js/core 0.17.0 → 0.18.0-dev.3

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 (195) hide show
  1. package/dist/src/binder.d.ts +2 -1
  2. package/dist/src/binder.d.ts.map +1 -1
  3. package/dist/src/binder.js +2 -2
  4. package/dist/src/code.d.ts +1 -1
  5. package/dist/src/code.d.ts.map +1 -1
  6. package/dist/src/components/Block.d.ts +1 -1
  7. package/dist/src/components/Block.d.ts.map +1 -1
  8. package/dist/src/components/Declaration.d.ts +1 -1
  9. package/dist/src/components/Declaration.d.ts.map +1 -1
  10. package/dist/src/components/Declaration.js +1 -1
  11. package/dist/src/components/For.d.ts +1 -1
  12. package/dist/src/components/For.d.ts.map +1 -1
  13. package/dist/src/components/For.js +1 -1
  14. package/dist/src/components/Indent.d.ts +1 -1
  15. package/dist/src/components/Indent.d.ts.map +1 -1
  16. package/dist/src/components/List.d.ts +1 -1
  17. package/dist/src/components/List.d.ts.map +1 -1
  18. package/dist/src/components/List.js +2 -1
  19. package/dist/src/components/MemberDeclaration.d.ts +2 -2
  20. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  21. package/dist/src/components/MemberDeclaration.js +2 -1
  22. package/dist/src/components/MemberScope.d.ts +2 -2
  23. package/dist/src/components/MemberScope.d.ts.map +1 -1
  24. package/dist/src/components/Output.d.ts +1 -1
  25. package/dist/src/components/Output.d.ts.map +1 -1
  26. package/dist/src/components/Output.js +1 -1
  27. package/dist/src/components/Prose.d.ts +1 -1
  28. package/dist/src/components/Prose.d.ts.map +1 -1
  29. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  30. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  31. package/dist/src/components/Scope.d.ts +1 -1
  32. package/dist/src/components/Scope.d.ts.map +1 -1
  33. package/dist/src/components/Show.d.ts +1 -1
  34. package/dist/src/components/Show.d.ts.map +1 -1
  35. package/dist/src/components/SourceDirectory.d.ts +1 -1
  36. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  37. package/dist/src/components/SourceDirectory.js +1 -1
  38. package/dist/src/components/SourceFile.d.ts +1 -1
  39. package/dist/src/components/SourceFile.d.ts.map +1 -1
  40. package/dist/src/components/SourceFile.js +1 -1
  41. package/dist/src/components/StatementList.d.ts +1 -1
  42. package/dist/src/components/StatementList.d.ts.map +1 -1
  43. package/dist/src/components/Switch.d.ts +2 -2
  44. package/dist/src/components/Switch.d.ts.map +1 -1
  45. package/dist/src/components/Switch.js +2 -1
  46. package/dist/src/components/Wrap.d.ts +1 -1
  47. package/dist/src/components/Wrap.d.ts.map +1 -1
  48. package/dist/src/context/binder.d.ts +1 -1
  49. package/dist/src/context/binder.d.ts.map +1 -1
  50. package/dist/src/context/source-file.d.ts +1 -1
  51. package/dist/src/context/source-file.d.ts.map +1 -1
  52. package/dist/src/context.d.ts +2 -2
  53. package/dist/src/context.d.ts.map +1 -1
  54. package/dist/src/context.js +1 -1
  55. package/dist/src/debug.d.ts +1 -0
  56. package/dist/src/debug.d.ts.map +1 -1
  57. package/dist/src/debug.js +4 -1
  58. package/dist/src/index.d.ts +4 -1
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +4 -1
  61. package/dist/src/jsx-runtime.d.ts +4 -281
  62. package/dist/src/jsx-runtime.d.ts.map +1 -1
  63. package/dist/src/jsx-runtime.js +3 -319
  64. package/dist/src/props-combinators.d.ts +19 -0
  65. package/dist/src/props-combinators.d.ts.map +1 -0
  66. package/dist/src/props-combinators.js +108 -0
  67. package/dist/src/reactive-union-set.d.ts.map +1 -1
  68. package/dist/src/reactive-union-set.js +1 -1
  69. package/dist/src/reactivity.d.ts +75 -0
  70. package/dist/src/reactivity.d.ts.map +1 -0
  71. package/dist/src/reactivity.js +141 -0
  72. package/dist/src/render.d.ts +5 -1
  73. package/dist/src/render.d.ts.map +1 -1
  74. package/dist/src/render.js +68 -15
  75. package/dist/src/runtime/component.d.ts +24 -0
  76. package/dist/src/runtime/component.d.ts.map +1 -0
  77. package/dist/src/runtime/component.js +19 -0
  78. package/dist/src/runtime/intrinsic.d.ts +168 -0
  79. package/dist/src/runtime/intrinsic.d.ts.map +1 -0
  80. package/dist/src/runtime/intrinsic.js +11 -0
  81. package/dist/src/slot.d.ts +2 -2
  82. package/dist/src/slot.d.ts.map +1 -1
  83. package/dist/src/slot.js +1 -1
  84. package/dist/src/stc.d.ts +1 -1
  85. package/dist/src/stc.d.ts.map +1 -1
  86. package/dist/src/sti.d.ts +7 -6
  87. package/dist/src/sti.d.ts.map +1 -1
  88. package/dist/src/sti.js +1 -1
  89. package/dist/src/symbols/flags.d.ts +70 -0
  90. package/dist/src/symbols/flags.d.ts.map +1 -0
  91. package/dist/src/symbols/flags.js +72 -0
  92. package/dist/src/symbols/index.d.ts +1 -0
  93. package/dist/src/symbols/index.d.ts.map +1 -1
  94. package/dist/src/symbols/index.js +1 -0
  95. package/dist/src/symbols/output-scope.d.ts +2 -24
  96. package/dist/src/symbols/output-scope.d.ts.map +1 -1
  97. package/dist/src/symbols/output-scope.js +1 -25
  98. package/dist/src/symbols/output-symbol.d.ts +2 -47
  99. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  100. package/dist/src/symbols/output-symbol.js +2 -48
  101. package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
  102. package/dist/src/symbols/symbol-flow.js +2 -2
  103. package/dist/src/symbols/symbol-slot.d.ts +1 -1
  104. package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
  105. package/dist/src/symbols/symbol-slot.js +1 -1
  106. package/dist/src/symbols/symbol-table.d.ts +3 -3
  107. package/dist/src/symbols/symbol-table.d.ts.map +1 -1
  108. package/dist/src/tap.d.ts +1 -1
  109. package/dist/src/tap.d.ts.map +1 -1
  110. package/dist/src/tracer.d.ts +60 -3
  111. package/dist/src/tracer.d.ts.map +1 -1
  112. package/dist/src/tracer.js +60 -5
  113. package/dist/src/utils.d.ts +4 -3
  114. package/dist/src/utils.d.ts.map +1 -1
  115. package/dist/src/utils.js +2 -1
  116. package/dist/test/props-with-defaults.test.js +1 -1
  117. package/dist/test/reactive-union-set.test.js +1 -1
  118. package/dist/test/reactivity/cleanup.test.js +2 -1
  119. package/dist/test/reactivity/memo.test.js +1 -1
  120. package/dist/test/reactivity/untrack.test.js +1 -1
  121. package/dist/test/rendering/memoization.test.js +2 -1
  122. package/dist/test/split-props.test.js +1 -1
  123. package/dist/test/symbols/output-scope.test.js +2 -1
  124. package/dist/test/symbols/output-symbol.test.js +4 -3
  125. package/dist/test/symbols/resolution.test.js +2 -1
  126. package/dist/test/symbols/utils.d.ts +3 -2
  127. package/dist/test/symbols/utils.d.ts.map +1 -1
  128. package/dist/test/symbols/utils.js +2 -1
  129. package/dist/testing/extend-expect.d.ts +15 -0
  130. package/dist/testing/extend-expect.d.ts.map +1 -1
  131. package/dist/testing/extend-expect.js +2 -1
  132. package/dist/testing/render.d.ts +1 -1
  133. package/dist/testing/render.d.ts.map +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +7 -4
  136. package/src/binder.ts +3 -5
  137. package/src/code.ts +1 -1
  138. package/src/components/Block.tsx +1 -1
  139. package/src/components/Declaration.tsx +2 -1
  140. package/src/components/For.tsx +2 -1
  141. package/src/components/Indent.tsx +1 -1
  142. package/src/components/List.tsx +3 -1
  143. package/src/components/MemberDeclaration.tsx +4 -3
  144. package/src/components/MemberScope.tsx +2 -2
  145. package/src/components/Output.tsx +2 -1
  146. package/src/components/Prose.tsx +1 -1
  147. package/src/components/ReferenceOrContent.tsx +1 -1
  148. package/src/components/Scope.tsx +1 -1
  149. package/src/components/Show.tsx +1 -1
  150. package/src/components/SourceDirectory.tsx +2 -1
  151. package/src/components/SourceFile.tsx +2 -1
  152. package/src/components/StatementList.tsx +1 -1
  153. package/src/components/Switch.tsx +2 -1
  154. package/src/components/Wrap.tsx +1 -1
  155. package/src/context/binder.ts +1 -1
  156. package/src/context/source-file.ts +1 -1
  157. package/src/context.ts +3 -7
  158. package/src/debug.ts +5 -1
  159. package/src/index.ts +4 -1
  160. package/src/jsx-runtime.ts +15 -690
  161. package/src/props-combinators.ts +148 -0
  162. package/src/reactive-union-set.ts +1 -1
  163. package/src/reactivity.ts +230 -0
  164. package/src/render.ts +97 -26
  165. package/src/runtime/component.ts +67 -0
  166. package/src/runtime/intrinsic.ts +199 -0
  167. package/src/slot.ts +3 -4
  168. package/src/stc.ts +2 -2
  169. package/src/sti.ts +11 -11
  170. package/src/symbols/flags.ts +82 -0
  171. package/src/symbols/index.ts +1 -0
  172. package/src/symbols/output-scope.ts +2 -29
  173. package/src/symbols/output-symbol.ts +2 -55
  174. package/src/symbols/symbol-flow.ts +3 -7
  175. package/src/symbols/symbol-slot.tsx +2 -1
  176. package/src/symbols/symbol-table.ts +3 -3
  177. package/src/tap.ts +1 -1
  178. package/src/tracer.ts +38 -4
  179. package/src/utils.tsx +7 -5
  180. package/temp/api.json +984 -1261
  181. package/test/props-with-defaults.test.ts +1 -1
  182. package/test/reactive-union-set.test.tsx +1 -1
  183. package/test/reactivity/cleanup.test.tsx +2 -1
  184. package/test/reactivity/memo.test.tsx +1 -1
  185. package/test/reactivity/untrack.test.ts +1 -1
  186. package/test/rendering/basic.test.tsx +1 -1
  187. package/test/rendering/memoization.test.tsx +1 -1
  188. package/test/split-props.test.ts +1 -1
  189. package/test/symbols/output-scope.test.ts +2 -4
  190. package/test/symbols/output-symbol.test.ts +4 -7
  191. package/test/symbols/resolution.test.ts +2 -4
  192. package/test/symbols/utils.ts +3 -5
  193. package/test/utils.test.tsx +1 -1
  194. package/testing/extend-expect.ts +16 -0
  195. package/testing/render.ts +1 -2
@@ -1,8 +1,8 @@
1
- import { effect, getContext, onCleanup } from "@alloy-js/core/jsx-runtime";
2
1
  import { isRef, shallowReactive } from "@vue/reactivity";
2
+ import { effect, getContext, onCleanup } from "../reactivity.js";
3
3
  import { MemberScopeContext } from "../context/member-scope.js";
4
4
  import { ScopeContext } from "../context/scope.js";
5
- import { OutputSymbolFlags } from "./output-symbol.js";
5
+ import { OutputSymbolFlags } from "./flags.js";
6
6
  export function takeSymbols(cb) {
7
7
  const context = getContext();
8
8
  context.takesSymbols = true;
@@ -1,5 +1,5 @@
1
1
  import { Ref, ShallowReactive } from "@vue/reactivity";
2
- import { Children } from "../jsx-runtime.js";
2
+ import type { Children } from "../runtime/component.js";
3
3
  import { OutputSymbol } from "./output-symbol.js";
4
4
  export declare function createSymbolSlot(): {
5
5
  (props: {
@@ -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;AACnE,OAAO,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAC;AAChE,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,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,5 +1,5 @@
1
1
  import { shallowRef } from "@vue/reactivity";
2
- import { effect, onCleanup } from "../jsx-runtime.js";
2
+ import { effect, onCleanup } from "../reactivity.js";
3
3
  import { takeSymbols } from "./symbol-flow.js";
4
4
  export function createSymbolSlot() {
5
5
  const symbolSlotRef = shallowRef();
@@ -1,7 +1,7 @@
1
- import { NameConflictResolver } from "../binder.js";
1
+ import type { NameConflictResolver } from "../binder.js";
2
2
  import { ReactiveUnionSet } from "../reactive-union-set.js";
3
- import { OutputScope } from "./output-scope.js";
4
- import { OutputSymbol } from "./output-symbol.js";
3
+ import type { OutputScope } from "./output-scope.js";
4
+ import type { OutputSymbol } from "./output-symbol.js";
5
5
  export declare class SymbolTable extends ReactiveUnionSet<OutputSymbol> {
6
6
  private _namesToDeconflict;
7
7
  private _nameConflictResolver?;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-table.d.ts","sourceRoot":"","sources":["../../../src/symbols/symbol-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,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,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"}
package/dist/src/tap.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ShallowRef } from "@vue/reactivity";
2
2
  import { SourceFileContext } from "./context/source-file.js";
3
- import { ComponentDefinition } from "./jsx-runtime.js";
3
+ import type { ComponentDefinition } from "./runtime/component.js";
4
4
  import { OutputScope } from "./symbols/output-scope.js";
5
5
  import { OutputSymbol } from "./symbols/output-symbol.js";
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AAKzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACjD,+BAA+B;IAC/B,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,SAAS,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GACtB,GAAG,CAAC,CAAC,CAAC,CAcR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,gBAI9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,EACzE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,gBAK9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,EACrE,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,eAK7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,0BAI1E"}
1
+ {"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AAKzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACjD,+BAA+B;IAC/B,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,SAAS,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GACtB,GAAG,CAAC,CAAC,CAAC,CAcR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,gBAI9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,EACzE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,gBAK9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,EACrE,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,eAK7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,0BAI1E"}
@@ -1,8 +1,7 @@
1
1
  import type { Refkey } from "./refkey.js";
2
- import { OutputScope } from "./symbols/output-scope.js";
3
- import { OutputSymbol } from "./symbols/output-symbol.js";
2
+ import { type OutputScope } from "./symbols/output-scope.js";
3
+ import { type OutputSymbol } from "./symbols/output-symbol.js";
4
4
  export declare const TracePhase: {
5
- readonly render: {};
6
5
  readonly scope: {
7
6
  readonly update: {
8
7
  readonly area: "scope";
@@ -144,6 +143,64 @@ export declare const TracePhase: {
144
143
  };
145
144
  };
146
145
  };
146
+ readonly effect: {
147
+ readonly schedule: {
148
+ readonly area: "effect";
149
+ readonly subarea: "schedule";
150
+ readonly bg: {
151
+ readonly r: 100;
152
+ readonly g: 100;
153
+ readonly b: 0;
154
+ };
155
+ };
156
+ readonly track: {
157
+ readonly area: "effect";
158
+ readonly subarea: "track";
159
+ readonly bg: {
160
+ readonly r: 75;
161
+ readonly g: 75;
162
+ readonly b: 0;
163
+ };
164
+ };
165
+ readonly trigger: {
166
+ readonly area: "effect";
167
+ readonly subarea: "trigger";
168
+ readonly bg: {
169
+ readonly r: 50;
170
+ readonly g: 50;
171
+ readonly b: 0;
172
+ };
173
+ };
174
+ };
175
+ readonly render: {
176
+ readonly worker: {
177
+ readonly area: "render";
178
+ readonly subarea: "worker";
179
+ readonly bg: {
180
+ readonly r: 100;
181
+ readonly g: 50;
182
+ readonly b: 0;
183
+ };
184
+ };
185
+ readonly appendChild: {
186
+ readonly area: "render";
187
+ readonly subarea: "appendChild";
188
+ readonly bg: {
189
+ readonly r: 100;
190
+ readonly g: 50;
191
+ readonly b: 0;
192
+ };
193
+ };
194
+ readonly renderEffect: {
195
+ readonly area: "render";
196
+ readonly subarea: "render effect";
197
+ readonly bg: {
198
+ readonly r: 100;
199
+ readonly g: 50;
200
+ readonly b: 0;
201
+ };
202
+ };
203
+ };
147
204
  };
148
205
  interface TracePhase extends TextFormat {
149
206
  area: string;
@@ -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;AAE1C,OAAO,EAAE,WAAW,EAAoB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAqB,MAAM,4BAA4B,CAAC;AA0B7E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFb,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,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,9 +1,7 @@
1
- import { untrack } from "@alloy-js/core/jsx-runtime";
2
1
  import { effect } from "@vue/reactivity";
2
+ import { untrack } from "./reactivity.js";
3
3
  import { scheduler } from "./scheduler.js";
4
- import { OutputScopeFlags } from "./symbols/output-scope.js";
5
- import { OutputSymbolFlags } from "./symbols/output-symbol.js";
6
-
4
+ import { OutputScopeFlags, OutputSymbolFlags } from "./symbols/flags.js";
7
5
  // enable tracing for specific phases using a comma separated list of
8
6
  // dotted identifiers, e.g. `scope.update,symbol.create`.
9
7
  const traceEnv = process.env.ALLOY_TRACE ?? "";
@@ -21,7 +19,6 @@ debuggerIdsEnv.split(",").forEach(id => {
21
19
  }
22
20
  });
23
21
  export const TracePhase = {
24
- render: {},
25
22
  scope: {
26
23
  update: {
27
24
  area: "scope",
@@ -162,6 +159,64 @@ export const TracePhase = {
162
159
  b: 50
163
160
  }
164
161
  }
162
+ },
163
+ effect: {
164
+ schedule: {
165
+ area: "effect",
166
+ subarea: "schedule",
167
+ bg: {
168
+ r: 100,
169
+ g: 100,
170
+ b: 0
171
+ }
172
+ },
173
+ track: {
174
+ area: "effect",
175
+ subarea: "track",
176
+ bg: {
177
+ r: 75,
178
+ g: 75,
179
+ b: 0
180
+ }
181
+ },
182
+ trigger: {
183
+ area: "effect",
184
+ subarea: "trigger",
185
+ bg: {
186
+ r: 50,
187
+ g: 50,
188
+ b: 0
189
+ }
190
+ }
191
+ },
192
+ render: {
193
+ worker: {
194
+ area: "render",
195
+ subarea: "worker",
196
+ bg: {
197
+ r: 100,
198
+ g: 50,
199
+ b: 0
200
+ }
201
+ },
202
+ appendChild: {
203
+ area: "render",
204
+ subarea: "appendChild",
205
+ bg: {
206
+ r: 100,
207
+ g: 50,
208
+ b: 0
209
+ }
210
+ },
211
+ renderEffect: {
212
+ area: "render",
213
+ subarea: "render effect",
214
+ bg: {
215
+ r: 100,
216
+ g: 50,
217
+ b: 0
218
+ }
219
+ }
165
220
  }
166
221
  };
167
222
  let triggerCount = 0;
@@ -1,6 +1,7 @@
1
- import { Children, ComponentCreator, CustomContext } from "./jsx-runtime.js";
2
1
  import { BaseListProps } from "./components/List.jsx";
2
+ import { CustomContext } from "./reactivity.js";
3
3
  import { OutputDirectory, OutputFile } from "./render.js";
4
+ import { Children, ComponentCreator } from "./runtime/component.js";
4
5
  export interface JoinOptions {
5
6
  /**
6
7
  * The string to place between each element.
@@ -60,8 +61,8 @@ export interface ChildrenOptions {
60
61
  */
61
62
  export declare function children(fn: () => Children, options?: ChildrenOptions): () => Children;
62
63
  export declare function childrenArray(fn: () => Children, options?: ChildrenOptions): Children[];
63
- export declare function findKeyedChild(children: Children[], tag: symbol): ComponentCreator<import("@alloy-js/core/jsx-runtime").Props> | null;
64
- export declare function findKeyedChildren(children: Children[], tag: symbol): ComponentCreator<import("@alloy-js/core/jsx-runtime").Props>[];
64
+ export declare function findKeyedChild(children: Children[], tag: symbol): ComponentCreator<import("./runtime/component.js").Props> | null;
65
+ export declare function findKeyedChildren(children: Children[], tag: symbol): ComponentCreator<import("./runtime/component.js").Props>[];
65
66
  export declare function findUnkeyedChildren(children: Children[]): Children[];
66
67
  export declare function isKeyedChild(child: Children): child is ComponentCreator;
67
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEhB,aAAa,EAOd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAC1C,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AACpD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,EACpC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AAmHpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrC,GAAG,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,WAAgB,GACxB,QAAQ,CAmBV;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,GAAE,eAAoB,GAC5B,MAAM,QAAQ,CAsBhB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,EAAE,CASZ;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,uEAQ/D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,kEAQlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,gBAAgB,CAEvE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,QAUvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAuC5E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAEL,aAAa,EAMd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAC1C,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AACpD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,EACpC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AAmHpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrC,GAAG,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,WAAgB,GACxB,QAAQ,CAmBV;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,GAAE,eAAoB,GAC5B,MAAM,QAAQ,CAsBhB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,EAAE,CASZ;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,mEAQ/D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,8DAQlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,gBAAgB,CAEvE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,QAUvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAuC5E"}
package/dist/src/utils.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { toRaw } from "@vue/reactivity";
3
- import { createCustomContext, isComponentCreator, memo, onCleanup, root, untrack } from "./jsx-runtime.js";
3
+ import { createCustomContext, memo, onCleanup, root, untrack } from "./reactivity.js";
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
 
6
+ import { isComponentCreator } from "./runtime/component.js";
6
7
  const defaultJoinOptions = {
7
8
  joiner: "\n",
8
9
  ender: false
@@ -1,6 +1,6 @@
1
1
  import { effect, reactive } from "@vue/reactivity";
2
2
  import { expect, it, vi } from "vitest";
3
- import { defaultProps } from "../src/jsx-runtime.js";
3
+ import { defaultProps } from "../src/props-combinators.js";
4
4
  it("applies defaults to regular object props", () => {
5
5
  const props = {
6
6
  a: 1,
@@ -1,7 +1,7 @@
1
- import { effect } from "@alloy-js/core/jsx-runtime";
2
1
  import { reactive } from "@vue/reactivity";
3
2
  import { describe, expect, it } from "vitest";
4
3
  import { ReactiveUnionSet } from "../src/reactive-union-set.js";
4
+ import { effect } from "../src/reactivity.js";
5
5
  import { flushJobs } from "../src/scheduler.js";
6
6
  describe("is reactive", () => {
7
7
  it("on size", () => {
@@ -1,6 +1,7 @@
1
- import { effect, memo, onCleanup, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { ref } from "@vue/reactivity";
3
3
  import { describe, expect, it } from "vitest";
4
+ import { effect, memo, onCleanup } from "../../src/reactivity.js";
4
5
  import { renderTree } from "../../src/render.js";
5
6
  import { flushJobs } from "../../src/scheduler.js";
6
7
  describe("memo cleanup", () => {
@@ -1,6 +1,6 @@
1
- import { memo } from "@alloy-js/core/jsx-runtime";
2
1
  import { ref } from "@vue/reactivity";
3
2
  import { expect, it } from "vitest";
3
+ import { memo } from "../../src/reactivity.js";
4
4
  it("doesn't recalculate when dependencies don't change", () => {
5
5
  const signal = ref(0);
6
6
  let callCount = 0;
@@ -1,6 +1,6 @@
1
1
  import { ref } from "@vue/reactivity";
2
2
  import { expect, it } from "vitest";
3
- import { memo, untrack } from "../../src/jsx-runtime.js";
3
+ import { memo, untrack } from "../../src/reactivity.js";
4
4
  import { flushJobs } from "../../src/scheduler.js";
5
5
  it("ignores signals for dependency tracking", () => {
6
6
  const signal = ref(0);
@@ -1,6 +1,7 @@
1
- import { memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { ref } from "@vue/reactivity";
3
3
  import { expect, it } from "vitest";
4
+ import { memo } from "../../src/reactivity.js";
4
5
  import { renderTree } from "../../src/render.js";
5
6
  import { flushJobs } from "../../src/scheduler.js";
6
7
  it("memoizes child components", () => {
@@ -1,6 +1,6 @@
1
1
  import { effect, reactive } from "@vue/reactivity";
2
2
  import { expect, it, vi } from "vitest";
3
- import { splitProps } from "../src/jsx-runtime.js";
3
+ import { splitProps } from "../src/props-combinators.js";
4
4
  it("splits regular object props", () => {
5
5
  const props = {
6
6
  a: 1,
@@ -2,7 +2,8 @@ import { reactive, watch } from "@vue/reactivity";
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
3
  import { createOutputBinder } from "../../src/binder.js";
4
4
  import { flushJobs } from "../../src/scheduler.js";
5
- import { OutputScope, OutputScopeFlags } from "../../src/symbols/output-scope.js";
5
+ import { OutputScopeFlags } from "../../src/symbols/flags.js";
6
+ import { OutputScope } from "../../src/symbols/output-scope.js";
6
7
  import { OutputSymbol } from "../../src/symbols/output-symbol.js";
7
8
  import { SymbolTable } from "../../src/symbols/symbol-table.js";
8
9
  let binder;
@@ -1,12 +1,13 @@
1
1
  import { reactive, watch } from "@vue/reactivity";
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
3
  import { createOutputBinder } from "../../src/binder.js";
4
+ import { MemberScopeContext } from "../../src/context/member-scope.js";
4
5
  import { ScopeContext } from "../../src/index.browser.js";
5
6
  import { renderTree } from "../../src/render.js";
6
7
  import { flushJobs } from "../../src/scheduler.js";
7
- import { OutputScope, OutputScopeFlags } from "../../src/symbols/output-scope.js";
8
- import { OutputSymbol, OutputSymbolFlags } from "../../src/symbols/output-symbol.js";
9
- import { MemberScopeContext } from "../../src/context/member-scope.js";
8
+ import { OutputScopeFlags, OutputSymbolFlags } from "../../src/symbols/flags.js";
9
+ import { OutputScope } from "../../src/symbols/output-scope.js";
10
+ import { OutputSymbol } from "../../src/symbols/output-symbol.js";
10
11
  let binder;
11
12
  beforeEach(() => {
12
13
  binder = createOutputBinder();
@@ -1,7 +1,8 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { createOutputBinder, refkey } from "../../src/index.browser.js";
3
3
  import { flushJobs } from "../../src/scheduler.js";
4
- import { OutputSymbol, OutputSymbolFlags } from "../../src/symbols/output-symbol.js";
4
+ import { OutputSymbolFlags } from "../../src/symbols/flags.js";
5
+ import { OutputSymbol } from "../../src/symbols/output-symbol.js";
5
6
  import { createScopeTree } from "./utils.js";
6
7
  describe("Symbol name resolution", () => {
7
8
  it("resolves static symbols", () => {
@@ -1,7 +1,8 @@
1
1
  import { Binder } from "../../src/index.browser.js";
2
2
  import { Refkey } from "../../src/refkey.js";
3
- import { OutputScope, OutputScopeFlags } from "../../src/symbols/output-scope.js";
4
- import { OutputSymbol, OutputSymbolFlags } from "../../src/symbols/output-symbol.js";
3
+ import { OutputScopeFlags, OutputSymbolFlags } from "../../src/symbols/flags.js";
4
+ import { OutputScope } from "../../src/symbols/output-scope.js";
5
+ import { OutputSymbol } from "../../src/symbols/output-symbol.js";
5
6
  type ScopeRecords = Record<string, ScopeDescriptor>;
6
7
  type SymbolRecords = Record<string, SymbolDescriptor>;
7
8
  interface ScopeDescriptor {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/symbols/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAU,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtD,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AACD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,GACjB,eAAe,CA4DjB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/symbols/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAU,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtD,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AACD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,GACjB,eAAe,CA4DjB"}
@@ -1,6 +1,7 @@
1
1
  import { refkey } from "../../src/refkey.js";
2
+ import { OutputSymbolFlags } from "../../src/symbols/flags.js";
2
3
  import { OutputScope } from "../../src/symbols/output-scope.js";
3
- import { OutputSymbol, OutputSymbolFlags } from "../../src/symbols/output-symbol.js";
4
+ import { OutputSymbol } from "../../src/symbols/output-symbol.js";
4
5
  export function createScopeTree(binder, tree) {
5
6
  const createdItems = {
6
7
  symbols: {},
@@ -1,2 +1,17 @@
1
+ import "vitest";
2
+ interface ToRenderToRenderOptions {
3
+ printWidth?: number;
4
+ tabWidth?: number;
5
+ useTabs?: boolean;
6
+ }
7
+ interface CustomMatchers<R = unknown> {
8
+ toRenderTo: (str: string, options?: ToRenderToRenderOptions) => R;
9
+ }
10
+ declare module "vitest" {
11
+ interface Assertion<T = any> extends CustomMatchers<T> {
12
+ }
13
+ interface AsymmetricMatchersContaining extends CustomMatchers {
14
+ }
15
+ }
1
16
  export {};
2
17
  //# sourceMappingURL=extend-expect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend-expect.d.ts","sourceRoot":"","sources":["../../testing/extend-expect.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"extend-expect.d.ts","sourceRoot":"","sources":["../../testing/extend-expect.ts"],"names":[],"mappings":"AA+BA,OAAO,QAAQ,CAAC;AAEhB,UAAU,uBAAuB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,UAAU,cAAc,CAAC,CAAC,GAAG,OAAO;IAClC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,KAAK,CAAC,CAAC;CACnE;AAED,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;KAAG;IACzD,UAAU,4BAA6B,SAAQ,cAAc;KAAG;CACjE"}
@@ -18,4 +18,5 @@ expect.extend({
18
18
  expected
19
19
  };
20
20
  }
21
- });
21
+ });
22
+ import "vitest";
@@ -1,4 +1,4 @@
1
- import { Children } from "../src/jsx-runtime.js";
1
+ import { Children } from "@alloy-js/core";
2
2
  export { printTree } from "@alloy-js/core";
3
3
  export declare function renderToString(element: Children): string;
4
4
  export declare function d(strings: TemplateStringsArray, ...values: any[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../testing/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,UAE/C;AAED,wBAAgB,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAQzE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe1C"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../testing/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,UAE/C;AAED,wBAAgB,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAQzE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe1C"}