@alloy-js/core 0.22.0-dev.1 → 0.22.0-dev.4

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 (65) 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 +24 -0
  27. package/dist/src/render.d.ts.map +1 -1
  28. package/dist/src/render.js +98 -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/utils.d.ts.map +1 -1
  39. package/dist/src/utils.js +212 -15
  40. package/dist/src/utils.js.map +1 -1
  41. package/dist/test/components/block.test.d.ts.map +1 -1
  42. package/dist/test/components/block.test.js +18 -1
  43. package/dist/test/components/block.test.js.map +1 -1
  44. package/dist/test/components/list.test.d.ts.map +1 -1
  45. package/dist/test/components/list.test.js +80 -1
  46. package/dist/test/components/list.test.js.map +1 -1
  47. package/dist/test/control-flow/for.test.js +32 -2
  48. package/dist/test/control-flow/for.test.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/src/components/Block.tsx +18 -6
  52. package/src/components/Indent.tsx +4 -2
  53. package/src/components/Prose.tsx +2 -1
  54. package/src/content-slot.test.tsx +65 -0
  55. package/src/content-slot.tsx +91 -0
  56. package/src/index.ts +1 -0
  57. package/src/reactivity.ts +38 -5
  58. package/src/render.ts +112 -3
  59. package/src/symbols/decl.ts +25 -0
  60. package/src/symbols/index.ts +1 -0
  61. package/src/utils.tsx +240 -16
  62. package/temp/api.json +550 -4
  63. package/test/components/block.test.tsx +21 -1
  64. package/test/components/list.test.tsx +76 -1
  65. package/test/control-flow/for.test.tsx +43 -2
@@ -1 +1 @@
1
- {"version":3,"names":["toRaw","createCustomContext","memo","onCleanup","root","untrack","isComponentCreator","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","Set","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","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ref","toRaw","createCustomContext","effect","getContext","memo","onCleanup","root","untrack","isComponentCreator","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","itemSlots","getOrCreateSlot","index","slot","isEmpty","firstNonEmptyIndex","lastNonEmptyIndex","mapped","enderMemo","createJoinerRef","ensureJoinerSlot","updateJoinerForIndex","joinerRef","length","value","previousNonEmpty","findPrevNonEmpty","rightSlot","shouldShow","newValue","findNextNonEmpty","from","i","Math","max","min","recalculateNonEmptyBounds","first","refreshJoiners","applyEmptyStateChange","wasEmpty","previousItemsLen","disposer","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","context","itemsLen","compare","getCompareFunction","mapper","getMapperFunction","startIndex","emptyFlag","childrenWithContent","cleanupIndex","nestedContext","isEmptyFlag","prev","isIterable","compareArray","compareMap","Set","mapArray","mapMap","elem1","elem2","record1","record2","x","next","join","mergedOptions","joined","entries","push","children","fn","preserveFragments","map","collectChildren","flat","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"block.test.d.ts","sourceRoot":"","sources":["../../../test/components/block.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
1
+ {"version":3,"file":"block.test.d.ts","sourceRoot":"","sources":["../../../test/components/block.test.tsx"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC"}
@@ -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":"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","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":[]}