@alloy-js/core 0.5.0 → 0.7.0

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 (212) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/babel.config.cjs +4 -1
  3. package/dist/src/binder.d.ts +8 -2
  4. package/dist/src/binder.d.ts.map +1 -1
  5. package/dist/src/binder.js +41 -15
  6. package/dist/src/binder.js.map +1 -1
  7. package/dist/src/code.d.ts +2 -2
  8. package/dist/src/code.d.ts.map +1 -1
  9. package/dist/src/code.js +4 -4
  10. package/dist/src/code.js.map +1 -1
  11. package/dist/src/components/Block.d.ts +25 -0
  12. package/dist/src/components/Block.d.ts.map +1 -0
  13. package/dist/src/components/Block.js +25 -0
  14. package/dist/src/components/Block.js.map +1 -0
  15. package/dist/src/components/Declaration.d.ts.map +1 -1
  16. package/dist/src/components/Declaration.js +4 -0
  17. package/dist/src/components/Declaration.js.map +1 -1
  18. package/dist/src/components/For.d.ts +44 -0
  19. package/dist/src/components/For.d.ts.map +1 -0
  20. package/dist/src/components/For.js +41 -0
  21. package/dist/src/components/For.js.map +1 -0
  22. package/dist/src/components/Indent.d.ts +5 -9
  23. package/dist/src/components/Indent.d.ts.map +1 -1
  24. package/dist/src/components/Indent.js +7 -18
  25. package/dist/src/components/Indent.js.map +1 -1
  26. package/dist/src/components/List.d.ts +38 -0
  27. package/dist/src/components/List.d.ts.map +1 -0
  28. package/dist/src/components/List.js +40 -0
  29. package/dist/src/components/List.js.map +1 -0
  30. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  31. package/dist/src/components/MemberDeclaration.js.map +1 -1
  32. package/dist/src/components/MemberName.js +1 -1
  33. package/dist/src/components/MemberName.js.map +1 -1
  34. package/dist/src/components/MemberScope.d.ts.map +1 -1
  35. package/dist/src/components/MemberScope.js.map +1 -1
  36. package/dist/src/components/Name.js +1 -1
  37. package/dist/src/components/Name.js.map +1 -1
  38. package/dist/src/components/Output.d.ts +2 -1
  39. package/dist/src/components/Output.d.ts.map +1 -1
  40. package/dist/src/components/Output.js +9 -1
  41. package/dist/src/components/Output.js.map +1 -1
  42. package/dist/src/components/Scope.d.ts.map +1 -1
  43. package/dist/src/components/Scope.js.map +1 -1
  44. package/dist/src/components/Show.d.ts +8 -0
  45. package/dist/src/components/Show.d.ts.map +1 -0
  46. package/dist/src/components/Show.js +4 -0
  47. package/dist/src/components/Show.js.map +1 -0
  48. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  49. package/dist/src/components/SourceDirectory.js +1 -0
  50. package/dist/src/components/SourceDirectory.js.map +1 -1
  51. package/dist/src/components/SourceFile.d.ts +2 -6
  52. package/dist/src/components/SourceFile.d.ts.map +1 -1
  53. package/dist/src/components/SourceFile.js +6 -13
  54. package/dist/src/components/SourceFile.js.map +1 -1
  55. package/dist/src/components/StatementList.d.ts +9 -0
  56. package/dist/src/components/StatementList.d.ts.map +1 -0
  57. package/dist/src/components/StatementList.js +17 -0
  58. package/dist/src/components/StatementList.js.map +1 -0
  59. package/dist/src/components/Switch.d.ts +41 -0
  60. package/dist/src/components/Switch.d.ts.map +1 -0
  61. package/dist/src/components/Switch.js +41 -0
  62. package/dist/src/components/Switch.js.map +1 -0
  63. package/dist/src/components/Wrap.d.ts +20 -0
  64. package/dist/src/components/Wrap.d.ts.map +1 -0
  65. package/dist/src/components/Wrap.js +15 -0
  66. package/dist/src/components/Wrap.js.map +1 -0
  67. package/dist/src/components/index.d.ts +8 -1
  68. package/dist/src/components/index.d.ts.map +1 -1
  69. package/dist/src/components/index.js +7 -0
  70. package/dist/src/components/index.js.map +1 -1
  71. package/dist/src/components/stc/index.d.ts +77 -6
  72. package/dist/src/components/stc/index.d.ts.map +1 -1
  73. package/dist/src/components/stc/index.js +17 -1
  74. package/dist/src/components/stc/index.js.map +1 -1
  75. package/dist/src/context/index.d.ts +0 -1
  76. package/dist/src/context/index.d.ts.map +1 -1
  77. package/dist/src/context/index.js +0 -1
  78. package/dist/src/context/index.js.map +1 -1
  79. package/dist/src/context.d.ts.map +1 -1
  80. package/dist/src/context.js +3 -3
  81. package/dist/src/context.js.map +1 -1
  82. package/dist/src/index.browser.d.ts +3 -0
  83. package/dist/src/index.browser.d.ts.map +1 -0
  84. package/dist/src/index.browser.js +3 -0
  85. package/dist/src/index.browser.js.map +1 -0
  86. package/dist/src/index.d.ts +1 -0
  87. package/dist/src/index.d.ts.map +1 -1
  88. package/dist/src/index.js +1 -0
  89. package/dist/src/index.js.map +1 -1
  90. package/dist/src/jsx-runtime.d.ts +139 -8
  91. package/dist/src/jsx-runtime.d.ts.map +1 -1
  92. package/dist/src/jsx-runtime.js +102 -12
  93. package/dist/src/jsx-runtime.js.map +1 -1
  94. package/dist/src/render.d.ts +107 -132
  95. package/dist/src/render.d.ts.map +1 -1
  96. package/dist/src/render.js +281 -177
  97. package/dist/src/render.js.map +1 -1
  98. package/dist/src/stc.d.ts +14 -0
  99. package/dist/src/stc.d.ts.map +1 -0
  100. package/dist/src/stc.js +52 -0
  101. package/dist/src/stc.js.map +1 -0
  102. package/dist/src/utils.d.ts +22 -15
  103. package/dist/src/utils.d.ts.map +1 -1
  104. package/dist/src/utils.js +95 -59
  105. package/dist/src/utils.js.map +1 -1
  106. package/dist/src/write-output.js +3 -3
  107. package/dist/src/write-output.js.map +1 -1
  108. package/dist/test/browser-build.test.d.ts +2 -0
  109. package/dist/test/browser-build.test.d.ts.map +1 -0
  110. package/dist/test/components/block.test.d.ts +2 -0
  111. package/dist/test/components/block.test.d.ts.map +1 -0
  112. package/dist/test/components/declaration.test.d.ts +2 -0
  113. package/dist/test/components/declaration.test.d.ts.map +1 -0
  114. package/dist/test/components/list.test.d.ts +2 -0
  115. package/dist/test/components/list.test.d.ts.map +1 -0
  116. package/dist/test/components/wrap.test.d.ts +2 -0
  117. package/dist/test/components/wrap.test.d.ts.map +1 -0
  118. package/dist/test/control-flow/for.test.d.ts +2 -0
  119. package/dist/test/control-flow/for.test.d.ts.map +1 -0
  120. package/dist/test/control-flow/match.test.d.ts +2 -0
  121. package/dist/test/control-flow/match.test.d.ts.map +1 -0
  122. package/dist/test/control-flow/show.test.d.ts +2 -0
  123. package/dist/test/control-flow/show.test.d.ts.map +1 -0
  124. package/dist/test/reactivity/cleanup.test.d.ts +2 -0
  125. package/dist/test/reactivity/cleanup.test.d.ts.map +1 -0
  126. package/dist/test/reactivity/memo.test.d.ts +2 -0
  127. package/dist/test/reactivity/memo.test.d.ts.map +1 -0
  128. package/dist/test/reactivity/untrack.test.d.ts +2 -0
  129. package/dist/test/reactivity/untrack.test.d.ts.map +1 -0
  130. package/dist/test/rendering/formatting.test.d.ts +2 -0
  131. package/dist/test/rendering/formatting.test.d.ts.map +1 -0
  132. package/dist/test/rendering/memoization.test.d.ts +2 -0
  133. package/dist/test/rendering/memoization.test.d.ts.map +1 -0
  134. package/dist/test/split-props.test.d.ts +2 -0
  135. package/dist/test/split-props.test.d.ts.map +1 -0
  136. package/dist/test/stc.test.d.ts.map +1 -1
  137. package/dist/test/utils.test.d.ts.map +1 -1
  138. package/dist/testing/extend-expect.js +4 -4
  139. package/dist/testing/extend-expect.js.map +1 -1
  140. package/dist/testing/render.d.ts +2 -3
  141. package/dist/testing/render.d.ts.map +1 -1
  142. package/dist/testing/render.js +2 -4
  143. package/dist/testing/render.js.map +1 -1
  144. package/dist/tsconfig.tsbuildinfo +1 -1
  145. package/package.json +6 -8
  146. package/src/binder.ts +54 -18
  147. package/src/code.ts +17 -12
  148. package/src/components/Block.tsx +44 -0
  149. package/src/components/Declaration.tsx +10 -4
  150. package/src/components/For.tsx +81 -0
  151. package/src/components/Indent.tsx +20 -27
  152. package/src/components/List.tsx +94 -0
  153. package/src/components/MemberDeclaration.tsx +9 -6
  154. package/src/components/MemberScope.tsx +4 -2
  155. package/src/components/Output.tsx +25 -13
  156. package/src/components/Scope.tsx +4 -2
  157. package/src/components/Show.tsx +11 -0
  158. package/src/components/SourceDirectory.tsx +5 -1
  159. package/src/components/SourceFile.tsx +12 -16
  160. package/src/components/StatementList.tsx +16 -0
  161. package/src/components/Switch.tsx +62 -0
  162. package/src/components/Wrap.tsx +29 -0
  163. package/src/components/index.tsx +8 -1
  164. package/src/components/stc/index.ts +18 -1
  165. package/src/context/index.ts +0 -1
  166. package/src/context.ts +2 -3
  167. package/src/index.browser.ts +2 -0
  168. package/src/index.ts +1 -0
  169. package/src/jsx-runtime.ts +245 -23
  170. package/src/render.ts +392 -198
  171. package/src/stc.ts +95 -0
  172. package/src/utils.ts +162 -95
  173. package/src/write-output.ts +3 -3
  174. package/temp/api.json +8407 -3301
  175. package/test/browser-build.test.ts +91 -0
  176. package/test/children.test.tsx +8 -10
  177. package/test/components/block.test.tsx +48 -0
  178. package/test/components/declaration.test.tsx +37 -0
  179. package/test/components/list.test.tsx +91 -0
  180. package/test/components/slot.test.tsx +31 -25
  181. package/test/components/source-file.test.tsx +11 -31
  182. package/test/components/wrap.test.tsx +42 -0
  183. package/test/control-flow/for.test.tsx +194 -0
  184. package/test/control-flow/match.test.tsx +49 -0
  185. package/test/control-flow/show.test.tsx +25 -0
  186. package/test/name-policy.test.tsx +5 -5
  187. package/test/reactivity/cleanup.test.tsx +91 -0
  188. package/test/reactivity/memo.test.tsx +17 -0
  189. package/test/reactivity/ref-rendering.test.tsx +3 -8
  190. package/test/reactivity/test.test.tsx +7 -6
  191. package/test/reactivity/untrack.test.ts +33 -0
  192. package/test/rendering/basic.test.tsx +25 -47
  193. package/test/rendering/code.test.tsx +3 -3
  194. package/test/rendering/formatting.test.tsx +487 -0
  195. package/test/rendering/indent.test.tsx +42 -529
  196. package/test/rendering/memoization.test.tsx +30 -0
  197. package/test/split-props.test.ts +87 -0
  198. package/test/stc.test.tsx +29 -8
  199. package/test/symbols.test.ts +87 -8
  200. package/test/utils.test.tsx +129 -20
  201. package/testing/extend-expect.ts +14 -4
  202. package/testing/render.ts +2 -4
  203. package/testing/vitest.d.ts +6 -1
  204. package/vitest.config.ts +1 -1
  205. package/dist/src/context/indent.d.ts +0 -5
  206. package/dist/src/context/indent.d.ts.map +0 -1
  207. package/dist/src/context/indent.js +0 -8
  208. package/dist/src/context/indent.js.map +0 -1
  209. package/dist/test/rendering/linebreaks.test.d.ts +0 -2
  210. package/dist/test/rendering/linebreaks.test.d.ts.map +0 -1
  211. package/src/context/indent.ts +0 -17
  212. package/test/rendering/linebreaks.test.tsx +0 -72
@@ -0,0 +1,52 @@
1
+ import { createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { code } from "./code.js";
3
+ export function sti(name) {
4
+ return (...args) => {
5
+ const props = args[0];
6
+ const fn = () => createIntrinsic(name, props);
7
+ fn.children = (...children) => {
8
+ const propsWithChildren = {
9
+ ...(props ?? {}),
10
+ children
11
+ };
12
+ return () => createIntrinsic(name, propsWithChildren);
13
+ };
14
+ fn.code = (template, ...substitutions) => {
15
+ const propsWithChildren = {
16
+ ...(args[0] ?? {}),
17
+ children: code(template, ...substitutions)
18
+ };
19
+ return () => createIntrinsic(name, propsWithChildren);
20
+ };
21
+ return fn;
22
+ };
23
+ }
24
+ export function stc(Component) {
25
+ return (...args) => {
26
+ const fn = () => Component(args[0]);
27
+ fn.component = Component;
28
+ fn.props = args[0];
29
+ fn.code = (template, ...substitutions) => {
30
+ const propsWithChildren = {
31
+ ...(args[0] ?? {}),
32
+ children: code(template, ...substitutions)
33
+ };
34
+ const fn = () => Component(propsWithChildren);
35
+ fn.component = Component;
36
+ fn.props = args[0];
37
+ return fn;
38
+ };
39
+ fn.children = (...children) => {
40
+ const propsWithChildren = {
41
+ ...(args[0] ?? {}),
42
+ children
43
+ };
44
+ const fn = () => Component(propsWithChildren);
45
+ fn.component = Component;
46
+ fn.props = args[0];
47
+ return fn;
48
+ };
49
+ return fn;
50
+ };
51
+ }
52
+ //# sourceMappingURL=stc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stc.js","names":["createIntrinsic","code","sti","name","args","props","fn","children","propsWithChildren","template","substitutions","stc","Component","component"],"sources":["../../src/stc.ts"],"sourcesContent":[null],"mappings":"AAAA,SAIEA,eAAe,QAGV,4BAA4B;AACnC,SAASC,IAAI,QAAQ,WAAW;AAEhC,OAAO,SAASC,GAAGA,CAAwCC,IAAO,EAAE;EAClE,OAAO,CACL,GAAGC,IAGgC,KAChC;IACH,MAAMC,KAA2C,GAAGD,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAME,EAAE,GAAGA,CAAA,KAAMN,eAAe,CAACG,IAAI,EAAEE,KAAM,CAAC;IAC9CC,EAAE,CAACC,QAAQ,GAAG,CACZ,GAAGA,QAAoB,KACa;MACpC,MAAMC,iBAAiB,GAAG;QACxB,IAAIH,KAAK,IAAI,CAAC,CAAC,CAAC;QAChBE;MACF,CAAC;MAED,OAAO,MAAMP,eAAe,CAACG,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IAEDF,EAAE,CAACL,IAAI,GAAG,CACRQ,QAA8B,EAC9B,GAAGC,aAAyB,KACQ;MACpC,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAEN,IAAI,CAACQ,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,OAAO,MAAMV,eAAe,CAACG,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IACD,OAAOF,EAAE;EACX,CAAC;AACH;AAOA,OAAO,SAASK,GAAGA,CAAeC,SAAiC,EAAE;EACnE,OAAO,CACL,GAAGR,IAE+B,KAC/B;IACH,MAAME,EAML,GAAGA,CAAA,KAAMM,SAAS,CAACR,IAAI,CAAC,CAAC,CAAQ,CAAC;IACnCE,EAAE,CAACO,SAAS,GAAGD,SAAS;IACxBN,EAAE,CAACD,KAAK,GAAGD,IAAI,CAAC,CAAC,CAAE;IACnBE,EAAE,CAACL,IAAI,GAAG,CACRQ,QAA8B,EAC9B,GAAGC,aAAyB,KACJ;MACxB,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAEN,IAAI,CAACQ,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,MAAMJ,EAAE,GAAGA,CAAA,KAAMM,SAAS,CAACJ,iBAAwB,CAAC;MACpDF,EAAE,CAACO,SAAS,GAAGD,SAAS;MACxBN,EAAE,CAACD,KAAK,GAAGD,IAAI,CAAC,CAAC,CAAE;MACnB,OAAOE,EAAE;IACX,CAAC;IAEDA,EAAE,CAACC,QAAQ,GAAG,CAAC,GAAGA,QAAoB,KAA0B;MAC9D,MAAMC,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG;MACF,CAAC;MAED,MAAMD,EAAE,GAAGA,CAAA,KAAMM,SAAS,CAACJ,iBAAwB,CAAC;MACpDF,EAAE,CAACO,SAAS,GAAGD,SAAS;MACxBN,EAAE,CAACD,KAAK,GAAGD,IAAI,CAAC,CAAC,CAAE;MACnB,OAAOE,EAAE;IACX,CAAC;IAED,OAAOA,EAAE;EACX,CAAC;AACH","ignoreList":[]}
@@ -1,16 +1,20 @@
1
- import { Child, Children, ComponentCreator, ComponentDefinition } from "./jsx-runtime.js";
1
+ import { Children, ComponentCreator, CustomContext } from "./jsx-runtime.js";
2
2
  import { OutputDirectory, OutputFile } from "./render.js";
3
3
  export interface JoinOptions {
4
4
  /**
5
5
  * The string to place between each element.
6
6
  */
7
- joiner?: string;
7
+ joiner?: Children;
8
8
  /**
9
9
  * When true, the joiner is placed at the end of the array. When a string,
10
10
  * that string is placed at the end of the array. The ender is only emitted
11
11
  * when the array has at least one element.
12
12
  */
13
- ender?: string | boolean;
13
+ ender?: Children;
14
+ /**
15
+ * When true, falsy values with the exception of 0 are skipped.
16
+ */
17
+ skipFalsy?: boolean;
14
18
  }
15
19
  /**
16
20
  * Map a Map to an array using a mapper and place a joiner between each element.
@@ -23,7 +27,7 @@ export interface JoinOptions {
23
27
  * @returns The mapped and joined array.
24
28
  *
25
29
  */
26
- export declare function mapJoin<T, U, V>(src: Map<T, U>, cb: (key: T, value: U) => V, options?: JoinOptions): (V | string)[];
30
+ export declare function mapJoin<T, U, V>(src: () => Map<T, U>, cb: (key: T, value: U, index: number) => V, options?: JoinOptions): () => (V | string | undefined | CustomContext)[];
27
31
  /**
28
32
  * Map a array or iterator to another array using a mapper and place a joiner
29
33
  * between each element. Defaults to joining with a newline.
@@ -34,7 +38,7 @@ export declare function mapJoin<T, U, V>(src: Map<T, U>, cb: (key: T, value: U)
34
38
  * @param options - Join options.
35
39
  * @returns The mapped and joined array.
36
40
  */
37
- export declare function mapJoin<T, V>(src: T[] | IterableIterator<T>, cb: (value: T) => V, options?: JoinOptions): (V | string)[];
41
+ export declare function mapJoin<T, V>(src: () => T[] | IterableIterator<T>, cb: (value: T, index: number) => V, options?: JoinOptions): () => (V | string | undefined | CustomContext)[];
38
42
  /**
39
43
  * Place a joiner between each element of an array or iterator. Defaults to
40
44
  * joining with a newline.
@@ -42,20 +46,23 @@ export declare function mapJoin<T, V>(src: T[] | IterableIterator<T>, cb: (value
42
46
  * @see mapJoin for mapping before joining.
43
47
  * @returns The joined array
44
48
  */
45
- export declare function join<T>(src: T[] | Iterator<T>, options?: JoinOptions): (T | string)[];
49
+ export declare function join<T extends Children>(src: T[] | Iterator<T>, options?: JoinOptions): Children;
50
+ export interface ChildrenOptions {
51
+ /**
52
+ * When true, fragments and arrays are not flattened.
53
+ */
54
+ preserveFragments?: boolean;
55
+ }
46
56
  /**
47
57
  * Returns a memo which is a list of all the provided children.
48
58
  * If you want this as an array, see {@link childrenArray}.
49
59
  */
50
- export declare function children(fn: () => Children): () => Children;
51
- export declare function childrenArray(fn: () => Children): Child[];
52
- export declare function findKeyedChild(children: Child[], tag: symbol): ComponentCreator<import("@alloy-js/core/jsx-runtime").Props> | null;
53
- export declare function findUnkeyedChildren(children: Child[]): Child[];
54
- export declare function isKeyedChild(child: Child): child is ComponentCreator;
55
- export declare function stc<T extends {}>(Component: ComponentDefinition<T>): (...args: unknown extends T ? [] : {} extends Omit<T, "children"> ? [props?: T] : [props: T]) => ComponentCreator<T> & {
56
- code(template: TemplateStringsArray, ...substitutions: Children[]): ComponentCreator<T>;
57
- children(...children: Children[]): ComponentCreator<T>;
58
- };
60
+ export declare function children(fn: () => Children, options?: ChildrenOptions): () => Children;
61
+ export declare function childrenArray(fn: () => Children, options?: ChildrenOptions): Children[];
62
+ export declare function findKeyedChild(children: Children[], tag: symbol): ComponentCreator<import("@alloy-js/core/jsx-runtime").Props> | null;
63
+ export declare function findKeyedChildren(children: Children[], tag: symbol): ComponentCreator<import("@alloy-js/core/jsx-runtime").Props>[];
64
+ export declare function findUnkeyedChildren(children: Children[]): Children[];
65
+ export declare function isKeyedChild(child: Children): child is ComponentCreator;
59
66
  /**
60
67
  * A visitor to collect the output from {@link render}. Used by
61
68
  * {@link traverseOutput}.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACpB,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAClB;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAC9B,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAwClB;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,GAAG,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,WAAgB,GACxB,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAmBhB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAe3D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,QAAQ,GAAG,KAAK,EAAE,CASzD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,uEAQ5D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAEpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,gBAAgB,CAEpE;AAED,wBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,aAEtD,OAAO,SAAS,CAAC,GAAG,EAAE,GAC7B,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAC5C,CAAC,KAAK,EAAE,CAAC,CAAC;mBAIE,oBAAoB,oBACZ,QAAQ,EAAE,GAC3B,gBAAgB,CAAC,CAAC,CAAC;0BACA,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;EAiC3D;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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEhB,aAAa,EAOd,MAAM,kBAAkB,CAAC;AAE1B,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"}
package/dist/src/utils.js CHANGED
@@ -1,5 +1,5 @@
1
- import { code } from "./code.js";
2
- import { isComponentCreator, memo } from "./jsx-runtime.js";
1
+ import { toRaw } from "@vue/reactivity";
2
+ import { createCustomContext, isComponentCreator, memo, onCleanup, root, untrack } from "./jsx-runtime.js";
3
3
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
4
 
5
5
  const defaultJoinOptions = {
@@ -35,34 +35,83 @@ export function mapJoin(src, cb, rawOptions = {}) {
35
35
  ...defaultJoinOptions,
36
36
  ...rawOptions
37
37
  };
38
- const ender = options.ender === true ? options.joiner : options.ender;
38
+ const ender = options.ender === true ? options.joiner : options.ender || undefined;
39
+ const currentItems = [];
40
+ const disposables = [];
39
41
  const mapped = [];
40
- if (typeof src.next === "function") {
41
- src = Array.from(src);
42
- }
43
- if (Array.isArray(src)) {
44
- for (const [index, item] of src.entries()) {
45
- mapped.push(cb(item));
46
- if (index !== src.length - 1) {
47
- mapped.push(options.joiner);
48
- }
42
+ let previousItemsLen = 0;
43
+ onCleanup(() => {
44
+ for (const d of disposables) d();
45
+ });
46
+ return () => {
47
+ const itemsSource = src();
48
+ // need to unpack reactives for branding checks
49
+ const itemsSourceRaw = toRaw(itemsSource);
50
+ let items = Array.isArray(itemsSourceRaw) ? itemsSource : [...itemsSource];
51
+ if (options.skipFalsy) {
52
+ items = items.filter(item => item !== null && item !== undefined && typeof item !== "boolean");
49
53
  }
50
- if (src.length > 0 && ender) {
51
- mapped.push(ender);
52
- }
53
- } else {
54
- const entries = [...src.entries()];
55
- for (const [index, [key, value]] of entries.entries()) {
56
- mapped.push(cb(key, value));
57
- if (index !== entries.length - 1) {
58
- mapped.push(options.joiner);
54
+ // this is important to access here in reactive context so we are
55
+ // notified of new items from reactives.
56
+ const itemsLen = items.length;
57
+ const compare = getCompareFunction(itemsSource);
58
+ const mapper = getMapperFunction(itemsSource);
59
+ return untrack(() => {
60
+ let startIndex = 0;
61
+ for (; startIndex < itemsLen && startIndex < currentItems.length; startIndex++) {
62
+ if (!compare(items[startIndex], currentItems[startIndex])) {
63
+ break;
64
+ }
59
65
  }
60
- }
61
- if (entries.length > 0 && ender) {
62
- mapped.push(ender);
63
- }
66
+ if (startIndex > 0 && startIndex < itemsLen) {
67
+ // need to update the previous joiner (might be ender or absent)
68
+ mapped[startIndex * 2 - 1] = options.joiner;
69
+ }
70
+ for (; startIndex < itemsLen; startIndex++) {
71
+ currentItems[startIndex] = items[startIndex];
72
+ if (disposables[startIndex]) {
73
+ disposables[startIndex]();
74
+ }
75
+ const cleanupIndex = startIndex;
76
+ mapped[startIndex * 2] = createCustomContext(cb => {
77
+ return root(disposer => {
78
+ disposables[cleanupIndex] = disposer;
79
+ disposer();
80
+ cb(mapper(items[cleanupIndex], cleanupIndex));
81
+ });
82
+ });
83
+ mapped[startIndex * 2 + 1] = startIndex < items.length - 1 ? options.joiner : ender;
84
+ }
85
+ mapped.length = startIndex * 2;
86
+ mapped[mapped.length - 1] = ender;
87
+ for (; startIndex < previousItemsLen; startIndex++) {
88
+ disposables[startIndex]?.();
89
+ }
90
+ previousItemsLen = itemsLen;
91
+ return mapped;
92
+ });
93
+ };
94
+ function getCompareFunction(itemsSource) {
95
+ return Array.isArray(itemsSource) || isIterable(itemsSource) ? compareArray : compareMap;
96
+ }
97
+ function getMapperFunction(itemsSource) {
98
+ return Array.isArray(itemsSource) || isIterable(itemsSource) ? mapArray : mapMap;
99
+ }
100
+ function compareArray(elem1, elem2) {
101
+ return elem1 === elem2;
102
+ }
103
+ function compareMap(record1, record2) {
104
+ return record1[0] === record2[0] && record1[1] === record2[1];
105
+ }
106
+ function mapArray(item, index) {
107
+ return cb(item, index);
108
+ }
109
+ function mapMap(item, index) {
110
+ return cb(item[0], item[1], index);
111
+ }
112
+ function isIterable(x) {
113
+ return typeof x.next === "function";
64
114
  }
65
- return mapped;
66
115
  }
67
116
 
68
117
  /**
@@ -91,13 +140,19 @@ export function join(src, options = {}) {
91
140
  }
92
141
  return joined;
93
142
  }
94
-
95
143
  /**
96
144
  * Returns a memo which is a list of all the provided children.
97
145
  * If you want this as an array, see {@link childrenArray}.
98
146
  */
99
- export function children(fn) {
100
- return memo(() => collectChildren(fn()));
147
+ export function children(fn, options = {}) {
148
+ return memo(() => {
149
+ const children = fn();
150
+ if (options.preserveFragments && Array.isArray(children)) {
151
+ return children.map(collectChildren);
152
+ } else {
153
+ return collectChildren(children);
154
+ }
155
+ });
101
156
  function collectChildren(children) {
102
157
  if (Array.isArray(children)) {
103
158
  return children.map(collectChildren).flat();
@@ -108,8 +163,8 @@ export function children(fn) {
108
163
  }
109
164
  }
110
165
  }
111
- export function childrenArray(fn) {
112
- const c = children(fn)();
166
+ export function childrenArray(fn, options) {
167
+ const c = children(fn, options)();
113
168
  if (Array.isArray(c)) {
114
169
  return c;
115
170
  } else if (c === undefined) {
@@ -126,40 +181,21 @@ export function findKeyedChild(children, tag) {
126
181
  }
127
182
  return null;
128
183
  }
184
+ export function findKeyedChildren(children, tag) {
185
+ const keyedChildren = [];
186
+ for (const child of children) {
187
+ if (isKeyedChild(child) && child.tag === tag) {
188
+ keyedChildren.push(child);
189
+ }
190
+ }
191
+ return keyedChildren;
192
+ }
129
193
  export function findUnkeyedChildren(children) {
130
194
  return children.filter(child => !isKeyedChild(child));
131
195
  }
132
196
  export function isKeyedChild(child) {
133
197
  return isComponentCreator(child) && !!child.tag;
134
198
  }
135
- export function stc(Component) {
136
- return (...args) => {
137
- const fn = () => Component(args[0]);
138
- fn.component = Component;
139
- fn.props = args[0];
140
- fn.code = (template, ...substitutions) => {
141
- const propsWithChildren = {
142
- ...(args[0] ?? {}),
143
- children: code(template, ...substitutions)
144
- };
145
- const fn = () => Component(propsWithChildren);
146
- fn.component = Component;
147
- fn.props = args[0];
148
- return fn;
149
- };
150
- fn.children = (...children) => {
151
- const propsWithChildren = {
152
- ...(args[0] ?? {}),
153
- children
154
- };
155
- const fn = () => Component(propsWithChildren);
156
- fn.component = Component;
157
- fn.props = args[0];
158
- return fn;
159
- };
160
- return fn;
161
- };
162
- }
163
199
 
164
200
  /**
165
201
  * A visitor to collect the output from {@link render}. Used by
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["code","isComponentCreator","memo","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","mapped","next","Array","from","isArray","index","item","entries","push","length","key","value","join","mergedOptions","joined","children","fn","collectChildren","map","flat","childrenArray","c","undefined","findKeyedChild","tag","child","isKeyedChild","findUnkeyedChildren","filter","stc","Component","args","component","props","template","substitutions","propsWithChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile"],"sources":["../../src/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["toRaw","createCustomContext","isComponentCreator","memo","onCleanup","root","untrack","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","currentItems","disposables","mapped","previousItemsLen","d","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","itemsLen","length","compare","getCompareFunction","mapper","getMapperFunction","startIndex","cleanupIndex","disposer","isIterable","compareArray","compareMap","mapArray","mapMap","elem1","elem2","record1","record2","index","x","next","join","mergedOptions","joined","from","entries","push","children","fn","preserveFragments","map","collectChildren","flat","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile"],"sources":["../../src/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { mkdirSync, statSync, writeFileSync } from "node:fs";
1
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
2
  import { relative, resolve } from "pathe";
3
3
  import { traverseOutput } from "./utils.js";
4
4
  /**
@@ -9,7 +9,7 @@ export function writeOutput(output, basePath = "") {
9
9
  traverseOutput(output, {
10
10
  visitDirectory(directory) {
11
11
  const path = resolve(basePath, directory.path);
12
- if (statSync(path)) {
12
+ if (existsSync(path)) {
13
13
  return;
14
14
  }
15
15
  // eslint-disable-next-line no-console
@@ -20,7 +20,7 @@ export function writeOutput(output, basePath = "") {
20
20
  },
21
21
  visitFile(file) {
22
22
  const path = resolve(basePath, file.path);
23
- if (statSync(path)) {
23
+ if (existsSync(path)) {
24
24
  // eslint-disable-next-line no-console
25
25
  console.log("overwrite", relative(process.cwd(), path));
26
26
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"write-output.js","names":["mkdirSync","statSync","writeFileSync","relative","resolve","traverseOutput","writeOutput","output","basePath","visitDirectory","directory","path","console","log","process","cwd","recursive","visitFile","file","contents"],"sources":["../../src/write-output.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,SAAS;AAC5D,SAASC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAEzC,SAASC,cAAc,QAAQ,YAAY;AAC3C;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,MAAuB,EAAEC,QAAgB,GAAG,EAAE,EAAE;EAC1EH,cAAc,CAACE,MAAM,EAAE;IACrBE,cAAcA,CAACC,SAAS,EAAE;MACxB,MAAMC,IAAI,GAAGP,OAAO,CAACI,QAAQ,EAAEE,SAAS,CAACC,IAAI,CAAC;MAC9C,IAAIV,QAAQ,CAACU,IAAI,CAAC,EAAE;QAClB;MACF;MACA;MACAC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACpDX,SAAS,CAACW,IAAI,EAAE;QAAEK,SAAS,EAAE;MAAK,CAAC,CAAC;IACtC,CAAC;IACDC,SAASA,CAACC,IAAI,EAAE;MACd,MAAMP,IAAI,GAAGP,OAAO,CAACI,QAAQ,EAAEU,IAAI,CAACP,IAAI,CAAC;MACzC,IAAIV,QAAQ,CAACU,IAAI,CAAC,EAAE;QAClB;QACAC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACzD,CAAC,MAAM;QACL;QACAC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACtD;MAEAT,aAAa,CAACS,IAAI,EAAEO,IAAI,CAACC,QAAQ,CAAC;IACpC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"write-output.js","names":["existsSync","mkdirSync","writeFileSync","relative","resolve","traverseOutput","writeOutput","output","basePath","visitDirectory","directory","path","console","log","process","cwd","recursive","visitFile","file","contents"],"sources":["../../src/write-output.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,aAAa,QAAQ,SAAS;AAC9D,SAASC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAEzC,SAASC,cAAc,QAAQ,YAAY;AAC3C;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,MAAuB,EAAEC,QAAgB,GAAG,EAAE,EAAE;EAC1EH,cAAc,CAACE,MAAM,EAAE;IACrBE,cAAcA,CAACC,SAAS,EAAE;MACxB,MAAMC,IAAI,GAAGP,OAAO,CAACI,QAAQ,EAAEE,SAAS,CAACC,IAAI,CAAC;MAC9C,IAAIX,UAAU,CAACW,IAAI,CAAC,EAAE;QACpB;MACF;MACA;MACAC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACpDV,SAAS,CAACU,IAAI,EAAE;QAAEK,SAAS,EAAE;MAAK,CAAC,CAAC;IACtC,CAAC;IACDC,SAASA,CAACC,IAAI,EAAE;MACd,MAAMP,IAAI,GAAGP,OAAO,CAACI,QAAQ,EAAEU,IAAI,CAACP,IAAI,CAAC;MACzC,IAAIX,UAAU,CAACW,IAAI,CAAC,EAAE;QACpB;QACAC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACzD,CAAC,MAAM;QACL;QACAC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACtD;MAEAT,aAAa,CAACS,IAAI,EAAEO,IAAI,CAACC,QAAQ,CAAC;IACpC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=browser-build.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-build.test.d.ts","sourceRoot":"","sources":["../../test/browser-build.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "../../testing/extend-expect.js";
2
+ //# sourceMappingURL=block.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block.test.d.ts","sourceRoot":"","sources":["../../../test/components/block.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=declaration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration.test.d.ts","sourceRoot":"","sources":["../../../test/components/declaration.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "../../testing/extend-expect.js";
2
+ //# sourceMappingURL=list.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../test/components/list.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "../../testing/extend-expect.js";
2
+ //# sourceMappingURL=wrap.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.test.d.ts","sourceRoot":"","sources":["../../../test/components/wrap.test.tsx"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "@alloy-js/core/testing";
2
+ //# sourceMappingURL=for.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"for.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/for.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "@alloy-js/core/testing";
2
+ //# sourceMappingURL=match.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/match.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "@alloy-js/core/testing";
2
+ //# sourceMappingURL=show.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/show.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cleanup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.test.d.ts","sourceRoot":"","sources":["../../../test/reactivity/cleanup.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memo.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo.test.d.ts","sourceRoot":"","sources":["../../../test/reactivity/memo.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=untrack.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untrack.test.d.ts","sourceRoot":"","sources":["../../../test/reactivity/untrack.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "../../testing/extend-expect.js";
2
+ //# sourceMappingURL=formatting.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../test/rendering/formatting.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memoization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoization.test.d.ts","sourceRoot":"","sources":["../../../test/rendering/memoization.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=split-props.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-props.test.d.ts","sourceRoot":"","sources":["../../test/split-props.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"stc.test.d.ts","sourceRoot":"","sources":["../../test/stc.test.tsx"],"names":[],"mappings":"AAEA,OAAO,6BAA6B,CAAC"}
1
+ {"version":3,"file":"stc.test.d.ts","sourceRoot":"","sources":["../../test/stc.test.tsx"],"names":[],"mappings":"AAGA,OAAO,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../test/utils.test.tsx"],"names":[],"mappings":"AAEA,OAAO,6BAA6B,CAAC"}
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../test/utils.test.tsx"],"names":[],"mappings":"AAKA,OAAO,6BAA6B,CAAC"}
@@ -1,13 +1,13 @@
1
- import { renderTree } from "@alloy-js/core";
1
+ import { printTree, renderTree } from "@alloy-js/core";
2
2
  import { expect } from "vitest";
3
- import { dedent, printTree } from "./render.js";
3
+ import { dedent } from "./render.js";
4
4
  expect.extend({
5
- toRenderTo(received, expectedRaw) {
5
+ toRenderTo(received, expectedRaw, renderOptions) {
6
6
  const {
7
7
  isNot
8
8
  } = this;
9
9
  const tree = renderTree(received);
10
- const actual = printTree(tree);
10
+ const actual = printTree(tree, renderOptions);
11
11
  const expected = dedent(expectedRaw);
12
12
  return {
13
13
  pass: actual === expected,
@@ -1 +1 @@
1
- {"version":3,"file":"extend-expect.js","names":["renderTree","expect","dedent","printTree","extend","toRenderTo","received","expectedRaw","isNot","tree","actual","expected","pass","message"],"sources":["../../testing/extend-expect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,UAAU,QAAQ,gBAAgB;AACrD,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,EAAEC,SAAS,QAAQ,aAAa;AAE/CF,MAAM,CAACG,MAAM,CAAC;EACZC,UAAUA,CAACC,QAAkB,EAAEC,WAAmB,EAAE;IAClD,MAAM;MAAEC;IAAM,CAAC,GAAG,IAAI;IACtB,MAAMC,IAAI,GAAGT,UAAU,CAACM,QAAQ,CAAC;IACjC,MAAMI,MAAM,GAAGP,SAAS,CAACM,IAAI,CAAC;IAC9B,MAAME,QAAQ,GAAGT,MAAM,CAACK,WAAW,CAAC;IACpC,OAAO;MACLK,IAAI,EAAEF,MAAM,KAAKC,QAAQ;MACzBE,OAAO,EAAEA,CAAA,KAAM;QACb,OAAO,YAAYL,KAAK,GAAG,MAAM,GAAG,EAAE,YAAY;MACpD,CAAC;MACDE,MAAM;MACNC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"extend-expect.js","names":["printTree","renderTree","expect","dedent","extend","toRenderTo","received","expectedRaw","renderOptions","isNot","tree","actual","expected","pass","message"],"sources":["../../testing/extend-expect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,SAAS,EAAEC,UAAU,QAAQ,gBAAgB;AAChE,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,aAAa;AAQpCD,MAAM,CAACE,MAAM,CAAC;EACZC,UAAUA,CACRC,QAAkB,EAClBC,WAAmB,EACnBC,aAAiC,EACjC;IACA,MAAM;MAAEC;IAAM,CAAC,GAAG,IAAI;IACtB,MAAMC,IAAI,GAAGT,UAAU,CAACK,QAAQ,CAAC;IACjC,MAAMK,MAAM,GAAGX,SAAS,CAACU,IAAI,EAAEF,aAAa,CAAC;IAC7C,MAAMI,QAAQ,GAAGT,MAAM,CAACI,WAAW,CAAC;IACpC,OAAO;MACLM,IAAI,EAAEF,MAAM,KAAKC,QAAQ;MACzBE,OAAO,EAAEA,CAAA,KAAM;QACb,OAAO,YAAYL,KAAK,GAAG,MAAM,GAAG,EAAE,YAAY;MACpD,CAAC;MACDE,MAAM;MACNC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,6 @@
1
- import { RenderTextTree } from "@alloy-js/core";
2
1
  import { Children } from "../src/jsx-runtime.js";
3
- export declare function printTree(tree: RenderTextTree): any;
4
- export declare function renderToString(element: Children): any;
2
+ export { printTree } from "@alloy-js/core";
3
+ export declare function renderToString(element: Children): string;
5
4
  export declare function d(strings: TemplateStringsArray, ...values: any[]): string;
6
5
  export declare function dedent(str: string): string;
7
6
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../testing/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,OAE7C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,OAE/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":"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,7 +1,5 @@
1
- import { renderTree } from "@alloy-js/core";
2
- export function printTree(tree) {
3
- return tree.flat(Infinity).join("");
4
- }
1
+ import { printTree, renderTree } from "@alloy-js/core";
2
+ export { printTree } from "@alloy-js/core";
5
3
  export function renderToString(element) {
6
4
  return printTree(renderTree(element));
7
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["renderTree","printTree","tree","flat","Infinity","join","renderToString","element","d","strings","values","result","reduce","acc","str","i","dedent","replace","match","indent","dedented","split","map","line","startsWith","slice","length"],"sources":["../../testing/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAyBA,UAAU,QAAQ,gBAAgB;AAG3D,OAAO,SAASC,SAASA,CAACC,IAAoB,EAAE;EAC9C,OAAQA,IAAI,CAASC,IAAI,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AAC9C;AAEA,OAAO,SAASC,cAAcA,CAACC,OAAiB,EAAE;EAChD,OAAON,SAAS,CAACD,UAAU,CAACO,OAAO,CAAC,CAAC;AACvC;AAEA,OAAO,SAASC,CAACA,CAACC,OAA6B,EAAE,GAAGC,MAAa,EAAU;EACzE;EACA,MAAMC,MAAM,GAAGF,OAAO,CAACG,MAAM,CAC3B,CAACC,GAAG,EAAEC,GAAG,EAAEC,CAAC,KAAKF,GAAG,GAAGC,GAAG,IAAIJ,MAAM,CAACK,CAAC,CAAC,IAAI,EAAE,CAAC,EAC9C,EACF,CAAC;EAED,OAAOC,MAAM,CAACL,MAAM,CAAC;AACvB;AAEA,OAAO,SAASK,MAAMA,CAACF,GAAW,EAAU;EAC1C;EACAA,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;;EAErC;EACA,MAAMC,KAAK,GAAGJ,GAAG,CAACI,KAAK,CAAC,SAAS,CAAC;EAClC,MAAMC,MAAM,GAAGD,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;;EAEpC;EACA,MAAME,QAAQ,GAAGN,GAAG,CACjBO,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,UAAU,CAACL,MAAM,CAAC,GAAGI,IAAI,CAACE,KAAK,CAACN,MAAM,CAACO,MAAM,CAAC,GAAGH,IAAK,CAAC,CAC3ElB,IAAI,CAAC,IAAI,CAAC;EAEb,OAAOe,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["printTree","renderTree","renderToString","element","d","strings","values","result","reduce","acc","str","i","dedent","replace","match","indent","dedented","split","map","line","startsWith","slice","length","join"],"sources":["../../testing/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,gBAAgB;AAGtD,SAASD,SAAS,QAAQ,gBAAgB;AAE1C,OAAO,SAASE,cAAcA,CAACC,OAAiB,EAAE;EAChD,OAAOH,SAAS,CAACC,UAAU,CAACE,OAAO,CAAC,CAAC;AACvC;AAEA,OAAO,SAASC,CAACA,CAACC,OAA6B,EAAE,GAAGC,MAAa,EAAU;EACzE;EACA,MAAMC,MAAM,GAAGF,OAAO,CAACG,MAAM,CAC3B,CAACC,GAAG,EAAEC,GAAG,EAAEC,CAAC,KAAKF,GAAG,GAAGC,GAAG,IAAIJ,MAAM,CAACK,CAAC,CAAC,IAAI,EAAE,CAAC,EAC9C,EACF,CAAC;EAED,OAAOC,MAAM,CAACL,MAAM,CAAC;AACvB;AAEA,OAAO,SAASK,MAAMA,CAACF,GAAW,EAAU;EAC1C;EACAA,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;;EAErC;EACA,MAAMC,KAAK,GAAGJ,GAAG,CAACI,KAAK,CAAC,SAAS,CAAC;EAClC,MAAMC,MAAM,GAAGD,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;;EAEpC;EACA,MAAME,QAAQ,GAAGN,GAAG,CACjBO,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,UAAU,CAACL,MAAM,CAAC,GAAGI,IAAI,CAACE,KAAK,CAACN,MAAM,CAACO,MAAM,CAAC,GAAGH,IAAK,CAAC,CAC3EI,IAAI,CAAC,IAAI,CAAC;EAEb,OAAOP,QAAQ;AACjB","ignoreList":[]}