@alloy-js/core 0.22.0-dev.0 → 0.22.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 (68) hide show
  1. package/dist/src/components/Block.d.ts.map +1 -1
  2. package/dist/src/components/Block.js +24 -7
  3. package/dist/src/components/Block.js.map +1 -1
  4. package/dist/src/components/Indent.d.ts.map +1 -1
  5. package/dist/src/components/Indent.js +2 -1
  6. package/dist/src/components/Indent.js.map +1 -1
  7. package/dist/src/components/Prose.d.ts.map +1 -1
  8. package/dist/src/components/Prose.js +2 -1
  9. package/dist/src/components/Prose.js.map +1 -1
  10. package/dist/src/content-slot.d.ts +51 -0
  11. package/dist/src/content-slot.d.ts.map +1 -0
  12. package/dist/src/content-slot.js +69 -0
  13. package/dist/src/content-slot.js.map +1 -0
  14. package/dist/src/content-slot.test.d.ts +2 -0
  15. package/dist/src/content-slot.test.d.ts.map +1 -0
  16. package/dist/src/content-slot.test.js +57 -0
  17. package/dist/src/content-slot.test.js.map +1 -0
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/reactivity.d.ts +15 -1
  23. package/dist/src/reactivity.d.ts.map +1 -1
  24. package/dist/src/reactivity.js +20 -8
  25. package/dist/src/reactivity.js.map +1 -1
  26. package/dist/src/render.d.ts +1 -0
  27. package/dist/src/render.d.ts.map +1 -1
  28. package/dist/src/render.js +66 -2
  29. package/dist/src/render.js.map +1 -1
  30. package/dist/src/symbols/decl.d.ts +8 -0
  31. package/dist/src/symbols/decl.d.ts.map +1 -0
  32. package/dist/src/symbols/decl.js +22 -0
  33. package/dist/src/symbols/decl.js.map +1 -0
  34. package/dist/src/symbols/index.d.ts +1 -0
  35. package/dist/src/symbols/index.d.ts.map +1 -1
  36. package/dist/src/symbols/index.js +1 -0
  37. package/dist/src/symbols/index.js.map +1 -1
  38. package/dist/src/tracer.js +1 -1
  39. package/dist/src/tracer.js.map +1 -1
  40. package/dist/src/utils.d.ts.map +1 -1
  41. package/dist/src/utils.js +212 -15
  42. package/dist/src/utils.js.map +1 -1
  43. package/dist/test/components/block.test.d.ts.map +1 -1
  44. package/dist/test/components/block.test.js +18 -1
  45. package/dist/test/components/block.test.js.map +1 -1
  46. package/dist/test/components/list.test.d.ts.map +1 -1
  47. package/dist/test/components/list.test.js +80 -1
  48. package/dist/test/components/list.test.js.map +1 -1
  49. package/dist/test/control-flow/for.test.js +32 -2
  50. package/dist/test/control-flow/for.test.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +1 -1
  53. package/src/components/Block.tsx +18 -6
  54. package/src/components/Indent.tsx +4 -2
  55. package/src/components/Prose.tsx +2 -1
  56. package/src/content-slot.test.tsx +65 -0
  57. package/src/content-slot.tsx +91 -0
  58. package/src/index.ts +1 -0
  59. package/src/reactivity.ts +38 -5
  60. package/src/render.ts +80 -3
  61. package/src/symbols/decl.ts +25 -0
  62. package/src/symbols/index.ts +1 -0
  63. package/src/tracer.ts +1 -1
  64. package/src/utils.tsx +240 -16
  65. package/temp/api.json +469 -0
  66. package/test/components/block.test.tsx +21 -1
  67. package/test/components/list.test.tsx +76 -1
  68. package/test/control-flow/for.test.tsx +43 -2
@@ -1,6 +1,8 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { ref } from "@vue/reactivity";
2
3
  import { expect, it } from "vitest";
3
4
  import { Block } from "../../src/components/Block.js";
5
+ import { printTree, renderTree } from "../../src/render.js";
4
6
  import "../../testing/extend-expect.js";
5
7
  it("renders properly with no children", () => {
6
8
  const template = _$createComponent(Block, {
@@ -31,7 +33,7 @@ it("renders properly with newline and no children", () => {
31
33
  class {}
32
34
  `);
33
35
  });
34
- it("renders properly with newline and no children", () => {
36
+ it("renders properly with newline and children", () => {
35
37
  const template = ["class", _$createComponent(Block, {
36
38
  newline: true,
37
39
  children: "contents!!"
@@ -43,4 +45,19 @@ it("renders properly with newline and no children", () => {
43
45
  }
44
46
  `);
45
47
  });
48
+ it("renders properly when content is added reactively", () => {
49
+ const contents = ref("");
50
+ const tree = renderTree(["class Foo ", _$createComponent(Block, {
51
+ children: contents
52
+ })]);
53
+ expect(printTree(tree)).toRenderTo(`
54
+ class Foo {}
55
+ `);
56
+ contents.value = "x = 12;";
57
+ expect(printTree(tree)).toRenderTo(`
58
+ class Foo {
59
+ x = 12;
60
+ }
61
+ `);
62
+ });
46
63
  //# sourceMappingURL=block.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["expect","it","Block","template","_$createComponent","children","toRenderTo","newline"],"sources":["../../../test/components/block.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK;AACd,OAAO,gCAAgC;AACvCD,EAAE,CAAC,mCAAmC,EAAE,MAAM;EAC5C,MAAME,QAAQ,GAAAC,iBAAA,CACXF,KAAK;IAAA,IAAAG,SAAA;MAAA;IAAA;EAAA,EAGP;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC;AAEFL,EAAE,CAAC,gCAAgC,EAAE,MAAM;EACzC,MAAME,QAAQ,GAAAC,iBAAA,CAAIF,KAAK;IAAAG,QAAA;EAAA,EAAmB;EAC1CL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAME,QAAQ,aAAAC,iBAAA,CAGTF,KAAK;IAACK,OAAO;IAAA,IAAAF,SAAA;MAAA;IAAA;EAAA,GAIjB;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAME,QAAQ,aAAAC,iBAAA,CAEJF,KAAK;IAACK,OAAO;IAAAF,QAAA;EAAA,GAEtB;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ref","expect","it","Block","printTree","renderTree","template","_$createComponent","children","toRenderTo","newline","contents","tree","value"],"sources":["../../../test/components/block.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK;AACd,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAqB;AAC3D,OAAO,gCAAgC;AACvCH,EAAE,CAAC,mCAAmC,EAAE,MAAM;EAC5C,MAAMI,QAAQ,GAAAC,iBAAA,CACXJ,KAAK;IAAA,IAAAK,SAAA;MAAA;IAAA;EAAA,EAGP;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC;AAEFP,EAAE,CAAC,gCAAgC,EAAE,MAAM;EACzC,MAAMI,QAAQ,GAAAC,iBAAA,CAAIJ,KAAK;IAAAK,QAAA;EAAA,EAAmB;EAC1CP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAMI,QAAQ,aAAAC,iBAAA,CAGTJ,KAAK;IAACO,OAAO;IAAA,IAAAF,SAAA;MAAA;IAAA;EAAA,GAIjB;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrD,MAAMI,QAAQ,aAAAC,iBAAA,CAEJJ,KAAK;IAACO,OAAO;IAAAF,QAAA;EAAA,GAEtB;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,mDAAmD,EAAE,MAAM;EAC5D,MAAMS,QAAQ,GAAGX,GAAG,CAAC,EAAE,CAAC;EACxB,MAAMY,IAAI,GAAGP,UAAU,gBAAAE,iBAAA,CAERJ,KAAK;IAAAK,QAAA,EAAEG;EAAQ,GAE9B,CAAC;EACDV,MAAM,CAACG,SAAS,CAACQ,IAAI,CAAC,CAAC,CAACH,UAAU,CAAC;AACrC;AACA,GAAG,CAAC;EACFE,QAAQ,CAACE,KAAK,GAAG,SAAS;EAC1BZ,MAAM,CAACG,SAAS,CAACQ,IAAI,CAAC,CAAC,CAACH,UAAU,CAAC;AACrC;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../test/components/list.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
1
+ {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../test/components/list.test.tsx"],"names":[],"mappings":"AASA,OAAO,gCAAgC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
2
  import { expect, it } from "vitest";
3
- import { List, printTree, ref, renderTree } from "../../src/index.js";
3
+ import { createContentSlot, List, printTree, ref, renderTree, Show } from "../../src/index.js";
4
4
  import "../../testing/extend-expect.js";
5
5
  import { d } from "../../testing/render.js";
6
6
  it("creates a list with default options", () => {
@@ -84,4 +84,83 @@ it("is useful for statements", () => {
84
84
 
85
85
  `);
86
86
  });
87
+ it("doesn't add joiners when items are empty", () => {
88
+ expect(_$createIntrinsic("group", {
89
+ get children() {
90
+ return _$createComponent(List, {
91
+ comma: true,
92
+ line: true,
93
+ get children() {
94
+ return [[], [], []];
95
+ }
96
+ });
97
+ }
98
+ })).toRenderTo(``);
99
+ });
100
+ it("It add joiners when items are become non-empty", () => {
101
+ const item1 = ref("");
102
+ const item2 = ref("");
103
+ const item3 = ref("");
104
+ const tree = renderTree(_$createIntrinsic("group", {
105
+ get children() {
106
+ return _$createComponent(List, {
107
+ comma: true,
108
+ line: true,
109
+ ender: ";",
110
+ get children() {
111
+ return [[item1], [item2], [item3]];
112
+ }
113
+ });
114
+ }
115
+ }));
116
+ expect(printTree(tree)).toBe(``);
117
+ item1.value = "hi";
118
+ expect(printTree(tree)).toBe(`hi;`);
119
+ item2.value = "there";
120
+ expect(printTree(tree)).toBe(`hi, there;`);
121
+ item3.value = "friend";
122
+ expect(printTree(tree)).toBe(`hi, there, friend;`);
123
+ item1.value = "";
124
+ expect(printTree(tree)).toBe(`there, friend;`);
125
+ item3.value = "";
126
+ expect(printTree(tree)).toBe(`there;`);
127
+ item2.value = "";
128
+ expect(printTree(tree)).toBe(``);
129
+ });
130
+ it("works with show", () => {
131
+ const ContentSlot = createContentSlot();
132
+ const showFirst = ref(false);
133
+ const showSecond = ref(false);
134
+ const tree = renderTree([_$createComponent(ContentSlot.WhenEmpty, {
135
+ children: "Empty list!"
136
+ }), _$createComponent(ContentSlot, {
137
+ get children() {
138
+ return _$createComponent(List, {
139
+ comma: true,
140
+ space: true,
141
+ get children() {
142
+ return [_$createComponent(Show, {
143
+ get when() {
144
+ return showFirst.value;
145
+ },
146
+ children: "One"
147
+ }), _$createComponent(Show, {
148
+ get when() {
149
+ return showSecond.value;
150
+ },
151
+ children: "Two"
152
+ })];
153
+ }
154
+ });
155
+ }
156
+ })]);
157
+ expect(printTree(tree)).toBe(`Empty list!`);
158
+ showFirst.value = true;
159
+ expect(printTree(tree)).toBe(`One`);
160
+ showSecond.value = true;
161
+ expect(printTree(tree)).toBe(`One, Two`);
162
+ showFirst.value = false;
163
+ showSecond.value = false;
164
+ expect(printTree(tree)).toBe(`Empty list!`);
165
+ });
87
166
  //# sourceMappingURL=list.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["expect","it","List","printTree","ref","renderTree","d","template","_$createIntrinsic","children","_$createComponent","toRenderTo","comma","line","undefined","Statement","includeStatement","tree","semicolon","hardline","ender","_$memo","value","toEqual"],"sources":["../../../test/components/list.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI,EAAEC,SAAS,EAAEC,GAAG,EAAEC,UAAU,QAAQ,oBAAoB;AACrE,OAAO,gCAAgC;AACvC,SAASC,CAAC,QAAQ,yBAAyB;AAE3CL,EAAE,CAAC,qCAAqC,EAAE,MAAM;EAC9C,MAAMM,QAAQ,GAAAC,iBAAA;IAAA,IAAAC,SAAA;MAAA,OAAAC,iBAAA,CAETR,IAAI;QAAA,IAAAO,SAAA;UAAA;QAAA;MAAA;IAAA;EAAA,EAMR;EAEDT,MAAM,CAACO,QAAQ,CAAC,CAACI,UAAU,CAAC;AAC9B;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFV,EAAE,CAAC,kCAAkC,EAAE,MAAM;EAC3CD,MAAM,CAAAQ,iBAAA;IAAA,IAAAC,SAAA;MAAA,OAAAC,iBAAA,CAEDR,IAAI;QAACU,KAAK;QAACC,IAAI;QAAA,IAAAJ,SAAA;UAAA;QAAA;MAAA;IAAA;EAAA,EAMpB,CAAC,CAACE,UAAU,CAAC,SAAS,CAAC;AACzB,CAAC,CAAC;AAEFV,EAAE,CAAC,uCAAuC,EAAE,MAAM;EAChDD,MAAM,CAAAQ,iBAAA;IAAA,IAAAC,SAAA;MAAA,OAAAC,iBAAA,CAEDR,IAAI;QAACU,KAAK;QAACC,IAAI;QAAA,IAAAJ,SAAA;UAAA,QACb,CAAC,EACD,CAAC,EACD,CAAC;QAAA;MAAA;IAAA;EAAA,EAGR,CAAC,CAACE,UAAU,CAAC,SAAS,CAAC;AACzB,CAAC,CAAC;AAEFV,EAAE,CAAC,mEAAmE,EAAE,MAAM;EAC5ED,MAAM,CAAAQ,iBAAA;IAAA,IAAAC,SAAA;MAAA,OAAAC,iBAAA,CAEDR,IAAI;QAACU,KAAK;QAACC,IAAI;QAAA,IAAAJ,SAAA;UAAA,QACb,KAAK,EACL,CAAC,EACD,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,CAAC,EACDK,SAAS;QAAA;MAAA;IAAA;EAAA,EAGhB,CAAC,CAACH,UAAU,CAAC,SAAS,CAAC;AACzB,CAAC,CAAC;AAEFV,EAAE,CAAC,0BAA0B,EAAE,MAAM;EACnC,SAASc,SAASA,CAAA,EAAG;IACnB,OAAO,mBAAmB;EAC5B;EACA,MAAMC,gBAAgB,GAAGZ,GAAG,CAAC,KAAK,CAAC;EACnC,MAAMa,IAAI,GAAGZ,UAAU,CAAAK,iBAAA,CACpBR,IAAI;IAACgB,SAAS;IAACC,QAAQ;IAACC,KAAK;IAAA,IAAAX,SAAA;MAAA,QAAAC,iBAAA,CAC3BK,SAAS,OAAAM,MAAA,OACTA,MAAA,SAAAL,gBAAgB,CAACM,KAAK,OAAAZ,iBAAA,CAAKK,SAAS,KAAG,GAAAL,iBAAA,CACvCK,SAAS;IAAA;EAAA,EAEd,CAAC;EACDf,MAAM,CAACG,SAAS,CAACc,IAAI,CAAC,CAAC,CAACM,OAAO,CAACjB,CAAC;AACnC;AACA;AACA;AACA,GAAG,CAAC;EAEFU,gBAAgB,CAACM,KAAK,GAAG,IAAI;EAE7BtB,MAAM,CAACG,SAAS,CAACc,IAAI,CAAC,CAAC,CAACM,OAAO,CAACjB,CAAC;AACnC;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["expect","it","createContentSlot","List","printTree","ref","renderTree","Show","d","template","_$createIntrinsic","children","_$createComponent","toRenderTo","comma","line","undefined","Statement","includeStatement","tree","semicolon","hardline","ender","_$memo","value","toEqual","item1","item2","item3","toBe","ContentSlot","showFirst","showSecond","WhenEmpty","space","when"],"sources":["../../../test/components/list.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import "@alloy-js/core/testing";
3
3
  import { d } from "@alloy-js/core/testing";
4
4
  import { describe, expect, it } from "vitest";
5
5
  import { For } from "../../src/components/For.js";
6
- import { onCleanup, printTree, reactive, renderTree } from "../../src/index.js";
6
+ import { onCleanup, printTree, reactive, ref, renderTree } from "../../src/index.js";
7
7
  import { flushJobs } from "../../src/scheduler.js";
8
8
  it("works", () => {
9
9
  const messages = ["hi", "bye"];
@@ -139,7 +139,9 @@ it("doesn't rerender mappers (with splice)", () => {
139
139
  let count = 0;
140
140
  const template = _$createComponent(For, {
141
141
  each: messages,
142
- children: msg => ["item ", count++]
142
+ children: msg => {
143
+ return ["item ", count++];
144
+ }
143
145
  });
144
146
  const tree = renderTree(template);
145
147
  expect(count).toBe(3);
@@ -217,4 +219,32 @@ it("cleans up things which end up removed (with splice)", () => {
217
219
  Letter c
218
220
  `);
219
221
  });
222
+ it("doesn't render empty content", () => {
223
+ const items = [1, 2, 3];
224
+ const tree = renderTree(_$createComponent(For, {
225
+ each: items,
226
+ children: item => item > 2 ? item : null
227
+ }));
228
+ expect(printTree(tree)).toBe(`3`);
229
+ });
230
+ it("updates joiners appropriately when items get/lose content", () => {
231
+ const items = [{
232
+ content: ref("")
233
+ }, {
234
+ content: ref("")
235
+ }, {
236
+ content: ref("hello")
237
+ }];
238
+ const tree = renderTree(_$createComponent(For, {
239
+ each: items,
240
+ joiner: ", ",
241
+ children: item => {
242
+ return item.content;
243
+ }
244
+ }));
245
+ expect(printTree(tree)).toBe(`hello`);
246
+ items[1].content.value = "hi";
247
+ flushJobs();
248
+ expect(printTree(tree)).toBe(`hi, hello`);
249
+ });
220
250
  //# sourceMappingURL=for.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["d","describe","expect","it","For","onCleanup","printTree","reactive","renderTree","flushJobs","messages","template","_$createComponent","each","children","message","toRenderTo","out","x","Map","Set","map","name","entries","Array","from","key","value","_$memo","iterator","count","tree","toBe","push","add","set","msg","splice","cleanups","Letter","props","letter","items","item","toEqual","pop"],"sources":["../../../test/control-flow/for.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,wBAAwB;AAC/B,SAASA,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,GAAG;AACZ,SAASC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,oBAAoB;AAC/E,SAASC,SAAS,QAAQ,wBAAwB;AAElDN,EAAE,CAAC,OAAO,EAAE,MAAM;EAChB,MAAMO,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;EAE9B,MAAMC,QAAQ,GAAAC,iBAAA,CACXR,GAAG;IAACS,IAAI,EAAEH,QAAQ;IAAAI,QAAA,EAAIC,OAAO,KAAQA,OAAO;EAAW,EACzD;EAEDb,MAAM,CAACS,QAAQ,CAAC,CAACK,UAAU,CAAC;AAC9B;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFf,QAAQ,CAAC,sBAAsB,EAAE,MAAM;EACrC,MAAMgB,GAAG,GAAGjB,CAAC;AACf;AACA;AACA,GAAG;EACDG,EAAE,CAAC,OAAO,EAAE,MAAM;IAChB,MAAMO,QAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IAC9CR,MAAM,CAAAU,iBAAA,CAAER,GAAG;MAACS,IAAI,EAAEH,QAAQ;MAAAI,QAAA,EAAII,CAAC,KAAQA,CAAC;IAAI,EAAO,CAAC,CAACF,UAAU,CAACC,GAAG,CAAC;EACtE,CAAC,CAAC;EAEFd,EAAE,CAAC,KAAK,EAAE,MAAM;IACd,MAAMO,QAAqC,GAAG,IAAIS,GAAG,CAAC,CACpD,CAAC,GAAG,EAAE,GAAG,CAAC,EACV,CAAC,GAAG,EAAE,GAAG,CAAC,CACX,CAAC;IACFjB,MAAM,CAAAU,iBAAA,CAAER,GAAG;MAACS,IAAI,EAAEH,QAAQ;MAAAI,QAAA,EAAII,CAAC,KAAQA,CAAC;IAAI,EAAO,CAAC,CAACF,UAAU,CAACC,GAAG,CAAC;EACtE,CAAC,CAAC;EAEFd,EAAE,CAAC,KAAK,EAAE,MAAM;IACd,MAAMO,QAA6B,GAAG,IAAIU,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzDlB,MAAM,CAAAU,iBAAA,CAAER,GAAG;MAACS,IAAI,EAAEH,QAAQ;MAAAI,QAAA,EAAII,CAAC,KAAQA,CAAC;IAAI,EAAO,CAAC,CAACF,UAAU,CAACC,GAAG,CAAC;EACtE,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFd,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9B,MAAMkB,GAAG,GAAG,IAAIF,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;IAAEG,IAAI,EAAE;EAAM,CAAC,CAAC,CAAC,CAAC;EAC7C,MAAMC,OAAO,GAAGC,KAAK,CAACC,IAAI,CAACJ,GAAG,CAACE,OAAO,CAAC,CAAC,CAAC;EACzC,MAAMZ,QAAQ,GAAAC,iBAAA,CACXR,GAAG;IAACS,IAAI,EAAEU,OAAO;IAAAT,QAAA,EACfA,CAAC,CAACY,GAAG,EAAEC,KAAK,CAAC,MAETD,GAAG,QAAAE,MAAA,OAAID,KAAK,CAACL,IAAI;EAErB,EAEJ;EACDpB,MAAM,CAACS,QAAQ,CAAC,CAACK,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFb,EAAE,CAAC,mBAAmB,EAAE,MAAM;EAC5B,MAAM0B,QAAQ,GAAG,IAAIV,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;IAAEG,IAAI,EAAE;EAAM,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAC5D,MAAMZ,QAAQ,GAAAC,iBAAA,CACXR,GAAG;IAACS,IAAI,EAAEgB,QAAQ;IAAAf,QAAA,EAChBA,CAAC,CAACY,GAAG,EAAEC,KAAK,CAAC,MAETD,GAAG,QAAAE,MAAA,OAAID,KAAK,CAACL,IAAI;EAErB,EAEJ;EAEDpB,MAAM,CAACS,QAAQ,CAAC,CAACK,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFb,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMkB,GAAG,GAAG,IAAIF,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;IAAEG,IAAI,EAAE;EAAM,CAAC,CAAC,CAAC,CAAC;EAC7C,MAAMX,QAAQ,GAAAC,iBAAA,CACXR,GAAG;IAACS,IAAI,EAAEQ,GAAG;IAAAP,QAAA,EACXA,CAACY,GAAG,EAAEC,KAAK,MAEPD,GAAG,QAAAE,MAAA,OAAID,KAAK,CAACL,IAAI;EAErB,EAEJ;EAEDpB,MAAM,CAACS,QAAQ,CAAC,CAACK,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFb,EAAE,CAAC,0BAA0B,EAAE,MAAM;EACnC,MAAMO,QAAQ,GAAGH,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;EACxC,IAAIuB,KAAK,GAAG,CAAC;EACb,MAAMnB,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAEH,QAAQ;IAAAI,QAAA,EAAGA,CAAA,eAAcgB,KAAK,EAAE;EAAI,EAAO;EACvE,MAAMC,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EACjCT,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EAErBtB,QAAQ,CAACuB,IAAI,CAAC,OAAO,CAAC;EACtBxB,SAAS,CAAC,CAAC;EAEXP,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EACrB9B,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFG,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7C,MAAMO,QAAQ,GAAGH,QAAQ,CAAC,IAAIa,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;EACjD,IAAIU,KAAK,GAAG,CAAC;EACb,MAAMnB,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAEH,QAAQ;IAAAI,QAAA,EAAGA,CAAA,eAAcgB,KAAK,EAAE;EAAI,EAAO;EACvE,MAAMC,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EACjCT,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EAErBtB,QAAQ,CAACwB,GAAG,CAAC,OAAO,CAAC;EACrBzB,SAAS,CAAC,CAAC;EACXP,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EACrB9B,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFG,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7C,MAAMO,QAAQ,GAAGH,QAAQ,CACvB,IAAIY,GAAG,CAAC,CACN,CAAC,IAAI,EAAE,KAAK,CAAC,EACb,CAAC,KAAK,EAAE,KAAK,CAAC,CACf,CACH,CAAC;EAED,IAAIW,KAAK,GAAG,CAAC;EACb,MAAMnB,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAEH,QAAQ;IAAAI,QAAA,EAAGA,CAAA,eAAcgB,KAAK,EAAE;EAAI,EAAO;EACvE,MAAMC,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EACjCT,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EAErBtB,QAAQ,CAACyB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;EAC9B1B,SAAS,CAAC,CAAC;EACXP,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EACrB9B,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFG,EAAE,CAAC,wCAAwC,EAAE,MAAM;EACjD,MAAMO,QAAQ,GAAGH,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;EACjD,IAAIuB,KAAK,GAAG,CAAC;EACb,MAAMnB,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAEH,QAAQ;IAAAI,QAAA,EAAIsB,GAAG,cAAaN,KAAK,EAAE;EAAI,EAAO;EAC1E,MAAMC,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EACjCT,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EACrBtB,QAAQ,CAAC2B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;EACrB5B,SAAS,CAAC,CAAC;EACX;EACA;EACAP,MAAM,CAAC4B,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EAErB9B,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFG,EAAE,CAAC,mDAAmD,EAAE,MAAM;EAC5D,MAAMmC,QAAkB,GAAG,EAAE;EAE7B,SAASC,MAAMA,CAACC,KAAU,EAAE;IAC1BnC,SAAS,CAAC,MAAM;MACdiC,QAAQ,CAACL,IAAI,CAACO,KAAK,CAACC,MAAM,CAAC;IAC7B,CAAC,CAAC;IAEF,mBAAAb,MAAA,OAAiBY,KAAK,CAACC,MAAM;EAC/B;EAEA,MAAMC,KAAK,GAAGnC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EAElC,MAAMI,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAE6B,KAAK;IAAA5B,QAAA,EAAI6B,IAAI,IAAA/B,iBAAA,CAAM2B,MAAM;MAACE,MAAM,EAAEE;IAAI;EAAI,EAAO;EAE7E,MAAMZ,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EAEjCT,MAAM,CAACoC,QAAQ,CAAC,CAACM,OAAO,CAAC,EAAE,CAAC;EAC5B1C,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA,GAAG,CAAC;EAEF0C,KAAK,CAACG,GAAG,CAAC,CAAC;EACXpC,SAAS,CAAC,CAAC;EACXP,MAAM,CAACoC,QAAQ,CAAC,CAACM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAC/B1C,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA,GAAG,CAAC;EAEF0C,KAAK,CAACG,GAAG,CAAC,CAAC;EACXpC,SAAS,CAAC,CAAC;EACXP,MAAM,CAACoC,QAAQ,CAAC,CAACM,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACpC1C,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF7B,EAAE,CAAC,qDAAqD,EAAE,MAAM;EAC9D,MAAMmC,QAAkB,GAAG,EAAE;EAE7B,SAASC,MAAMA,CAACC,KAAU,EAAE;IAC1BnC,SAAS,CAAC,MAAM;MACdiC,QAAQ,CAACL,IAAI,CAACO,KAAK,CAACC,MAAM,CAAC;IAC7B,CAAC,CAAC;IAEF,mBAAAb,MAAA,OAAiBY,KAAK,CAACC,MAAM;EAC/B;EAEA,MAAMC,KAAK,GAAGnC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;EAEvC,MAAMI,QAAQ,GAAAC,iBAAA,CAAIR,GAAG;IAACS,IAAI,EAAE6B,KAAK;IAAA5B,QAAA,EAAI6B,IAAI,IAAA/B,iBAAA,CAAM2B,MAAM;MAACE,MAAM,EAAEE;IAAI;EAAI,EAAO;EAE7E,MAAMZ,IAAI,GAAGvB,UAAU,CAACG,QAAQ,CAAC;EAEjCT,MAAM,CAACoC,QAAQ,CAAC,CAACM,OAAO,CAAC,EAAE,CAAC;EAC5B1C,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA;AACA,GAAG,CAAC;EAEF0C,KAAK,CAACL,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;EAClB5B,SAAS,CAAC,CAAC;EACX;EACA;EACAP,MAAM,CAACoC,QAAQ,CAAC,CAACM,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACpC1C,MAAM,CAACI,SAAS,CAACyB,IAAI,CAAC,CAAC,CAACC,IAAI,CAAChC,CAAC;AAChC;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["d","describe","expect","it","For","onCleanup","printTree","reactive","ref","renderTree","flushJobs","messages","template","_$createComponent","each","children","message","toRenderTo","out","x","Map","Set","map","name","entries","Array","from","key","value","_$memo","iterator","count","tree","toBe","push","add","set","msg","splice","cleanups","Letter","props","letter","items","item","toEqual","pop","content","joiner"],"sources":["../../../test/control-flow/for.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}