ripple 0.4.0 → 0.4.2

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 (40) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/package.json +3 -2
  3. package/src/constants.js +4 -0
  4. package/src/jsx-runtime.d.ts +12 -2
  5. package/src/runtime/internal/client/constants.js +6 -0
  6. package/src/runtime/internal/client/for.js +224 -50
  7. package/src/runtime/internal/client/hydration.js +0 -16
  8. package/src/runtime/internal/client/index.js +2 -2
  9. package/src/runtime/internal/client/operations.js +1 -2
  10. package/src/runtime/internal/client/render.js +42 -4
  11. package/src/runtime/internal/client/runtime.js +45 -2
  12. package/src/runtime/internal/server/index.js +11 -6
  13. package/tests/client/basic/basic.attributes.test.tsrx +37 -0
  14. package/tests/client/compiler/compiler.basic.test.tsrx +2 -2
  15. package/tests/client/for-item.test.tsrx +404 -0
  16. package/tests/hydration/compiled/client/basic.js +29 -55
  17. package/tests/hydration/compiled/client/events.js +80 -67
  18. package/tests/hydration/compiled/client/for.js +95 -80
  19. package/tests/hydration/compiled/client/fragment-cursor.js +412 -344
  20. package/tests/hydration/compiled/client/head.js +4 -7
  21. package/tests/hydration/compiled/client/html.js +40 -64
  22. package/tests/hydration/compiled/client/if-children.js +30 -34
  23. package/tests/hydration/compiled/client/if-fragment-controlflow.js +7 -7
  24. package/tests/hydration/compiled/client/if.js +4 -4
  25. package/tests/hydration/compiled/client/mixed-control-flow.js +20 -50
  26. package/tests/hydration/compiled/client/nested-control-flow.js +97 -185
  27. package/tests/hydration/compiled/client/portal.js +2 -2
  28. package/tests/hydration/compiled/client/reactivity.js +17 -31
  29. package/tests/hydration/compiled/client/streaming.js +4 -8
  30. package/tests/hydration/compiled/client/typed-text.js +4 -15
  31. package/tests/hydration/compiled/server/events.js +5 -53
  32. package/tests/hydration/compiled/server/for.js +1 -9
  33. package/tests/hydration/compiled/server/fragment-cursor.js +36 -324
  34. package/tests/server/basic.attributes.test.tsrx +28 -0
  35. package/tests/server/basic.test.tsrx +23 -0
  36. package/tests/utils/jsx-runtime-types.test.js +67 -2
  37. package/tests/utils/tracked-types.test.js +117 -0
  38. package/types/index.d.ts +7 -8
  39. package/tests/client/compiler/__snapshots__/compiler.assignments.test.rsrx.snap +0 -12
  40. package/tests/client/compiler/__snapshots__/compiler.typescript.test.rsrx.snap +0 -46
@@ -130,24 +130,21 @@ function SiblingComponents_render(__anchor, __block) {
130
130
 
131
131
  SiblingComponents[_$_.$r] = SiblingComponents_render;
132
132
 
133
- var root_12 = _$_.template(`<div> </div>`, 0);
133
+ var root_12 = _$_.template(`<div></div>`, 0);
134
134
 
135
135
  function render(__prev) {
136
136
  var __a = 'Hello ' + __prev._props.name;
137
137
 
138
138
  if (__prev.a !== __a) {
139
- _$_.set_text(__prev._expression, __prev.a = __a);
139
+ _$_.set_text_content(__prev._div_5, __a, __prev.a);
140
+ __prev.a = __a;
140
141
  }
141
142
  }
142
143
 
143
144
  function Greeting_render(__anchor, __block, props) {
144
145
  var div_5 = root_12();
145
146
 
146
- {
147
- var expression = _$_.hydrating ? _$_.hydrate_text() : div_5.firstChild;
148
- }
149
-
150
- _$_.render(render, { a: ' ', _props: props, _expression: expression });
147
+ _$_.render(render, { a: '', _props: props, _div_5: div_5 });
151
148
  _$_.append(__anchor, div_5);
152
149
  }
153
150
 
@@ -159,7 +156,7 @@ function WithGreeting_render(__anchor, __block) {
159
156
 
160
157
  WithGreeting[_$_.$r] = WithGreeting_render;
161
158
 
162
- var root_14 = _$_.template(`<div> </div><span> </span>`, 1, 2);
159
+ var root_14 = _$_.template(`<div></div><span> </span>`, 1, 2);
163
160
  var root_13 = _$_.template(`<!>`, 1, 1);
164
161
 
165
162
  function ExpressionContent_render(__anchor, __block) {
@@ -173,9 +170,7 @@ function ExpressionContent_render(__anchor, __block) {
173
170
  var div_6 = _$_.first_child_frag(fragment_7);
174
171
 
175
172
  {
176
- var expression_1 = _$_.hydrating ? _$_.hydrate_text() : div_6.firstChild;
177
-
178
- expression_1.nodeValue = value;
173
+ div_6.textContent = value;
179
174
  }
180
175
 
181
176
  var span_1 = _$_.hydrating ? _$_.hydrate_sibling() : div_6.nextSibling;
@@ -195,15 +190,13 @@ function ExpressionContent_render(__anchor, __block) {
195
190
 
196
191
  ExpressionContent[_$_.$r] = ExpressionContent_render;
197
192
 
198
- var root_15 = _$_.template(`<div class="helper-item"> </div>`, 0);
193
+ var root_15 = _$_.template(`<div class="helper-item"></div>`, 0);
199
194
 
200
195
  function NestedHelperItem_render(__anchor, __block, { item }) {
201
196
  var div_7 = root_15();
202
197
 
203
198
  {
204
- var expression_3 = _$_.hydrating ? _$_.hydrate_text() : div_7.firstChild;
205
-
206
- expression_3.nodeValue = item;
199
+ div_7.textContent = item;
207
200
  }
208
201
 
209
202
  _$_.append(__anchor, div_7);
@@ -211,7 +204,7 @@ function NestedHelperItem_render(__anchor, __block, { item }) {
211
204
 
212
205
  NestedHelperItem[_$_.$r] = NestedHelperItem_render;
213
206
 
214
- var root_17 = _$_.template(`<span class="label"> </span><!>`, 1, 2);
207
+ var root_17 = _$_.template(`<span class="label"></span><!>`, 1, 2);
215
208
  var root_16 = _$_.template(`<!>`, 1, 1);
216
209
 
217
210
  function NestedTsxTsrxFragment_render(__anchor, __block, { label }) {
@@ -223,9 +216,7 @@ function NestedTsxTsrxFragment_render(__anchor, __block, { label }) {
223
216
  var span_2 = _$_.first_child_frag(fragment_9);
224
217
 
225
218
  {
226
- var expression_4 = _$_.hydrating ? _$_.hydrate_text() : span_2.firstChild;
227
-
228
- expression_4.nodeValue = label;
219
+ span_2.textContent = label;
229
220
  }
230
221
 
231
222
  var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : span_2.nextSibling;
@@ -689,24 +680,21 @@ function TextProp_render(__anchor, __block, { children }) {
689
680
 
690
681
  TextProp[_$_.$r] = TextProp_render;
691
682
 
692
- var root_53 = _$_.template(`<div class="text-prop"> </div>`, 0);
683
+ var root_53 = _$_.template(`<div class="text-prop"></div>`, 0);
693
684
 
694
685
  function render_1(__prev) {
695
686
  var __a = __prev._children.value;
696
687
 
697
688
  if (__prev.a !== __a) {
698
- _$_.set_text(__prev._expression_25, __prev.a = __a);
689
+ _$_.set_text_content(__prev._div_22, __a, __prev.a);
690
+ __prev.a = __a;
699
691
  }
700
692
  }
701
693
 
702
694
  function TypedTextProp_render(__anchor, __block, { children }) {
703
695
  var div_22 = root_53();
704
696
 
705
- {
706
- var expression_25 = _$_.hydrating ? _$_.hydrate_text() : div_22.firstChild;
707
- }
708
-
709
- _$_.render(render_1, { a: ' ', _children: children, _expression_25: expression_25 });
697
+ _$_.render(render_1, { a: '', _children: children, _div_22: div_22 });
710
698
  _$_.append(__anchor, div_22);
711
699
  }
712
700
 
@@ -785,7 +773,7 @@ function StaticHeader_render(__anchor, __block) {
785
773
 
786
774
  StaticHeader[_$_.$r] = StaticHeader_render;
787
775
 
788
- var root_61 = _$_.template(`<!><span class="sibling1"> </span><span class="sibling2"> </span>`, 1, 3);
776
+ var root_61 = _$_.template(`<!><span class="sibling1"></span><span class="sibling2"></span>`, 1, 3);
789
777
  var root_60 = _$_.template(`<!>`, 1, 1);
790
778
 
791
779
  function StaticChildWithSiblings_render(__anchor, __block) {
@@ -802,17 +790,13 @@ function StaticChildWithSiblings_render(__anchor, __block) {
802
790
  var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node_18.nextSibling;
803
791
 
804
792
  {
805
- var expression_26 = _$_.hydrating ? _$_.hydrate_text() : span_6.firstChild;
806
-
807
- expression_26.nodeValue = foo;
793
+ span_6.textContent = foo;
808
794
  }
809
795
 
810
796
  var span_7 = _$_.hydrating ? _$_.hydrate_sibling() : span_6.nextSibling;
811
797
 
812
798
  {
813
- var expression_27 = _$_.hydrating ? _$_.hydrate_text() : span_7.firstChild;
814
-
815
- expression_27.nodeValue = foo;
799
+ span_7.textContent = foo;
816
800
  }
817
801
 
818
802
  _$_.append(__anchor, fragment_28);
@@ -993,47 +977,41 @@ function NestedComponentAsLastSibling_render(__anchor, __block) {
993
977
 
994
978
  NestedComponentAsLastSibling[_$_.$r] = NestedComponentAsLastSibling_render;
995
979
 
996
- var root_73 = _$_.template(`<div> </div>`, 0);
980
+ var root_73 = _$_.template(`<div></div>`, 0);
997
981
 
998
982
  function render_2(__prev) {
999
983
  var __a = "label: " + String(_$_.with_scope(__prev.___block, fetchLabel));
1000
984
 
1001
985
  if (__prev.a !== __a) {
1002
- _$_.set_text(__prev._text, __prev.a = __a);
986
+ _$_.set_text_content(__prev._div_28, __a, __prev.a);
987
+ __prev.a = __a;
1003
988
  }
1004
989
  }
1005
990
 
1006
991
  function TextTailExpression_render(__anchor, __block) {
1007
992
  var div_28 = root_73();
1008
993
 
1009
- {
1010
- var text = _$_.hydrating ? _$_.hydrate_text() : div_28.firstChild;
1011
- }
1012
-
1013
- _$_.render(render_2, { a: ' ', ___block: __block, _text: text });
994
+ _$_.render(render_2, { a: '', ___block: __block, _div_28: div_28 });
1014
995
  _$_.append(__anchor, div_28);
1015
996
  }
1016
997
 
1017
998
  TextTailExpression[_$_.$r] = TextTailExpression_render;
1018
999
 
1019
- var root_74 = _$_.template(`<div> </div>`, 0);
1000
+ var root_74 = _$_.template(`<div></div>`, 0);
1020
1001
 
1021
1002
  function render_3(__prev) {
1022
1003
  var __a = 'frag-' + String(_$_.with_scope(__prev.___block, fetchLabel));
1023
1004
 
1024
1005
  if (__prev.a !== __a) {
1025
- _$_.set_text(__prev._expression_30, __prev.a = __a);
1006
+ _$_.set_text_content(__prev._div_29, __a, __prev.a);
1007
+ __prev.a = __a;
1026
1008
  }
1027
1009
  }
1028
1010
 
1029
1011
  function FragmentTailExpression_render(__anchor, __block) {
1030
1012
  var div_29 = root_74();
1031
1013
 
1032
- {
1033
- var expression_30 = _$_.hydrating ? _$_.hydrate_text() : div_29.firstChild;
1034
- }
1035
-
1036
- _$_.render(render_3, { a: ' ', ___block: __block, _expression_30: expression_30 });
1014
+ _$_.render(render_3, { a: '', ___block: __block, _div_29: div_29 });
1037
1015
  _$_.append(__anchor, div_29);
1038
1016
  }
1039
1017
 
@@ -1138,13 +1116,14 @@ function FragmentLeadsWithPrimitiveCall_render(__anchor, __block) {
1138
1116
 
1139
1117
  FragmentLeadsWithPrimitiveCall[_$_.$r] = FragmentLeadsWithPrimitiveCall_render;
1140
1118
 
1141
- var root_83 = _$_.template(`<div class="primitive-calls"> </div><button>update</button>`, 1, 2);
1119
+ var root_83 = _$_.template(`<div class="primitive-calls"></div><button>update</button>`, 1, 2);
1142
1120
 
1143
1121
  function render_5(__prev) {
1144
1122
  var __a = "sum: " + (String(Number(__prev._count.value) + Number(__prev._count.value) ?? '') + ("; big: " + String(_$_.with_scope(__prev.___block, () => BigInt(__prev._count.value)) ?? '')));
1145
1123
 
1146
1124
  if (__prev.a !== __a) {
1147
- _$_.set_text(__prev._text_1, __prev.a = __a);
1125
+ _$_.set_text_content(__prev._div_33, __a, __prev.a);
1126
+ __prev.a = __a;
1148
1127
  }
1149
1128
  }
1150
1129
 
@@ -1158,15 +1137,10 @@ function PrimitiveTextCalls_render(__anchor, __block) {
1158
1137
  _$_.expression(node_30, () => _$_.tsrx_element((__anchor, __block) => {
1159
1138
  var fragment_37 = root_83();
1160
1139
  var div_33 = _$_.first_child_frag(fragment_37);
1161
-
1162
- {
1163
- var text_1 = _$_.hydrating ? _$_.hydrate_text() : div_33.firstChild;
1164
- }
1165
-
1166
1140
  var button_2 = _$_.hydrating ? _$_.hydrate_sibling() : div_33.nextSibling;
1167
1141
 
1168
1142
  button_2.__click = () => count.value++;
1169
- _$_.render(render_5, { a: ' ', _count: count, ___block: __block, _text_1: text_1 });
1143
+ _$_.render(render_5, { a: '', _count: count, ___block: __block, _div_33: div_33 });
1170
1144
  _$_.append(__anchor, fragment_37);
1171
1145
  }));
1172
1146
 
@@ -1,7 +1,16 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
- var root = _$_.template(`<div><button class="increment">Increment</button><span class="count"> </span></div>`, 0);
4
+ var root = _$_.template(`<div><button class="increment">Increment</button><span class="count"></span></div>`, 0);
5
+
6
+ function render(__prev) {
7
+ var __a = __prev._count.value;
8
+
9
+ if (__prev.a !== __a) {
10
+ _$_.set_text_content(__prev._span, __a, __prev.a);
11
+ __prev.a = __a;
12
+ }
13
+ }
5
14
 
6
15
  function ClickCounter_render(__anchor, __block) {
7
16
  const count = _$_.track(0, __block, 'a070e3a7');
@@ -15,21 +24,24 @@ function ClickCounter_render(__anchor, __block) {
15
24
  };
16
25
 
17
26
  var span = _$_.hydrating ? _$_.hydrate_sibling() : button.nextSibling;
18
-
19
- {
20
- var expression = _$_.hydrating ? _$_.hydrate_child() : span.firstChild;
21
-
22
- _$_.expression(expression, () => count.value);
23
- _$_.hydrating && _$_.pop(span);
24
- }
25
27
  }
26
28
 
29
+ _$_.render(render, { a: '', _count: count, _span: span });
27
30
  _$_.append(__anchor, div);
28
31
  }
29
32
 
30
33
  ClickCounter[_$_.$r] = ClickCounter_render;
31
34
 
32
- var root_1 = _$_.template(`<div><button class="decrement">-</button><span class="count"> </span><button class="increment">+</button></div>`, 0);
35
+ var root_1 = _$_.template(`<div><button class="decrement">-</button><span class="count"></span><button class="increment">+</button></div>`, 0);
36
+
37
+ function render_1(__prev) {
38
+ var __a = __prev._count.value;
39
+
40
+ if (__prev.a !== __a) {
41
+ _$_.set_text_content(__prev._span_1, __a, __prev.a);
42
+ __prev.a = __a;
43
+ }
44
+ }
33
45
 
34
46
  function IncrementDecrement_render(__anchor, __block) {
35
47
  const count = _$_.track(0, __block, '87fcabdd');
@@ -43,14 +55,6 @@ function IncrementDecrement_render(__anchor, __block) {
43
55
  };
44
56
 
45
57
  var span_1 = _$_.hydrating ? _$_.hydrate_sibling() : button_1.nextSibling;
46
-
47
- {
48
- var expression_1 = _$_.hydrating ? _$_.hydrate_child() : span_1.firstChild;
49
-
50
- _$_.expression(expression_1, () => count.value);
51
- _$_.hydrating && _$_.pop(span_1);
52
- }
53
-
54
58
  var button_2 = _$_.hydrating ? _$_.hydrate_sibling() : span_1.nextSibling;
55
59
 
56
60
  button_2.__click = () => {
@@ -58,12 +62,29 @@ function IncrementDecrement_render(__anchor, __block) {
58
62
  };
59
63
  }
60
64
 
65
+ _$_.render(render_1, { a: '', _count: count, _span_1: span_1 });
61
66
  _$_.append(__anchor, div_1);
62
67
  }
63
68
 
64
69
  IncrementDecrement[_$_.$r] = IncrementDecrement_render;
65
70
 
66
- var root_2 = _$_.template(`<div><button class="target">Target</button><span class="clicks"> </span><span class="hovers"> </span></div>`, 0);
71
+ var root_2 = _$_.template(`<div><button class="target">Target</button><span class="clicks"></span><span class="hovers"></span></div>`, 0);
72
+
73
+ function render_2(__prev) {
74
+ var __a = __prev._clicks.value;
75
+
76
+ if (__prev.a !== __a) {
77
+ _$_.set_text_content(__prev._span_2, __a, __prev.a);
78
+ __prev.a = __a;
79
+ }
80
+
81
+ var __b = __prev._hovers.value;
82
+
83
+ if (__prev.b !== __b) {
84
+ _$_.set_text_content(__prev._span_3, __b, __prev.b);
85
+ __prev.b = __b;
86
+ }
87
+ }
67
88
 
68
89
  function MultipleEvents_render(__anchor, __block) {
69
90
  const clicks = _$_.track(0, __block, '41b9f0b0');
@@ -82,30 +103,33 @@ function MultipleEvents_render(__anchor, __block) {
82
103
  });
83
104
 
84
105
  var span_2 = _$_.hydrating ? _$_.hydrate_sibling() : button_3.nextSibling;
85
-
86
- {
87
- var expression_2 = _$_.hydrating ? _$_.hydrate_child() : span_2.firstChild;
88
-
89
- _$_.expression(expression_2, () => clicks.value);
90
- _$_.hydrating && _$_.pop(span_2);
91
- }
92
-
93
106
  var span_3 = _$_.hydrating ? _$_.hydrate_sibling() : span_2.nextSibling;
94
-
95
- {
96
- var expression_3 = _$_.hydrating ? _$_.hydrate_child() : span_3.firstChild;
97
-
98
- _$_.expression(expression_3, () => hovers.value);
99
- _$_.hydrating && _$_.pop(span_3);
100
- }
101
107
  }
102
108
 
109
+ _$_.render(render_2, {
110
+ a: '',
111
+ b: '',
112
+ _clicks: clicks,
113
+ _span_2: span_2,
114
+ _hovers: hovers,
115
+ _span_3: span_3
116
+ });
117
+
103
118
  _$_.append(__anchor, div_2);
104
119
  }
105
120
 
106
121
  MultipleEvents[_$_.$r] = MultipleEvents_render;
107
122
 
108
- var root_3 = _$_.template(`<div><button class="btn">Click</button><span class="count"> </span><span class="action"> </span></div>`, 0);
123
+ var root_3 = _$_.template(`<div><button class="btn">Click</button><span class="count"></span><span class="action"> </span></div>`, 0);
124
+
125
+ function render_3(__prev) {
126
+ var __a = __prev._count.value;
127
+
128
+ if (__prev.a !== __a) {
129
+ _$_.set_text_content(__prev._span_4, __a, __prev.a);
130
+ __prev.a = __a;
131
+ }
132
+ }
109
133
 
110
134
  function MultiStateUpdate_render(__anchor, __block) {
111
135
  const count = _$_.track(0, __block, '5a375160');
@@ -124,14 +148,6 @@ function MultiStateUpdate_render(__anchor, __block) {
124
148
  button_4.__click = handleClick;
125
149
 
126
150
  var span_4 = _$_.hydrating ? _$_.hydrate_sibling() : button_4.nextSibling;
127
-
128
- {
129
- var expression_4 = _$_.hydrating ? _$_.hydrate_child() : span_4.firstChild;
130
-
131
- _$_.expression(expression_4, () => count.value);
132
- _$_.hydrating && _$_.pop(span_4);
133
- }
134
-
135
151
  var span_5 = _$_.hydrating ? _$_.hydrate_sibling() : span_4.nextSibling;
136
152
 
137
153
  {
@@ -142,18 +158,20 @@ function MultiStateUpdate_render(__anchor, __block) {
142
158
  }
143
159
  }
144
160
 
161
+ _$_.render(render_3, { a: '', _count: count, _span_4: span_4 });
145
162
  _$_.append(__anchor, div_3);
146
163
  }
147
164
 
148
165
  MultiStateUpdate[_$_.$r] = MultiStateUpdate_render;
149
166
 
150
- var root_4 = _$_.template(`<div><button class="toggle"> </button></div>`, 0);
167
+ var root_4 = _$_.template(`<div><button class="toggle"></button></div>`, 0);
151
168
 
152
- function render(__prev) {
169
+ function render_4(__prev) {
153
170
  var __a = __prev._isOn.value ? 'ON' : 'OFF';
154
171
 
155
172
  if (__prev.a !== __a) {
156
- _$_.set_text(__prev._expression_6, __prev.a = __a);
173
+ _$_.set_text_content(__prev._button_5, __a, __prev.a);
174
+ __prev.a = __a;
157
175
  }
158
176
  }
159
177
 
@@ -167,25 +185,22 @@ function ToggleButton_render(__anchor, __block) {
167
185
  button_5.__click = () => {
168
186
  isOn.value = !isOn.value;
169
187
  };
170
-
171
- {
172
- var expression_6 = _$_.hydrating ? _$_.hydrate_text() : button_5.firstChild;
173
- }
174
188
  }
175
189
 
176
- _$_.render(render, { a: ' ', _isOn: isOn, _expression_6: expression_6 });
190
+ _$_.render(render_4, { a: '', _isOn: isOn, _button_5: button_5 });
177
191
  _$_.append(__anchor, div_4);
178
192
  }
179
193
 
180
194
  ToggleButton[_$_.$r] = ToggleButton_render;
181
195
 
182
- var root_5 = _$_.template(`<button class="child-btn"> </button>`, 0);
196
+ var root_5 = _$_.template(`<button class="child-btn"></button>`, 0);
183
197
 
184
- function render_1(__prev) {
198
+ function render_5(__prev) {
185
199
  var __a = __prev._props.label;
186
200
 
187
201
  if (__prev.a !== __a) {
188
- _$_.set_text(__prev._expression_7, __prev.a = __a);
202
+ _$_.set_text_content(__prev._button_6, __a, __prev.a);
203
+ __prev.a = __a;
189
204
  }
190
205
  }
191
206
 
@@ -193,18 +208,22 @@ function ChildButton_render(__anchor, __block, props) {
193
208
  var button_6 = root_5();
194
209
 
195
210
  _$_.render_event('Click', button_6, () => props.onClick);
196
-
197
- {
198
- var expression_7 = _$_.hydrating ? _$_.hydrate_text() : button_6.firstChild;
199
- }
200
-
201
- _$_.render(render_1, { a: ' ', _props: props, _expression_7: expression_7 });
211
+ _$_.render(render_5, { a: '', _props: props, _button_6: button_6 });
202
212
  _$_.append(__anchor, button_6);
203
213
  }
204
214
 
205
215
  ChildButton[_$_.$r] = ChildButton_render;
206
216
 
207
- var root_6 = _$_.template(`<div><!><span class="count"> </span></div>`, 0);
217
+ var root_6 = _$_.template(`<div><!><span class="count"></span></div>`, 0);
218
+
219
+ function render_6(__prev) {
220
+ var __a = __prev._count.value;
221
+
222
+ if (__prev.a !== __a) {
223
+ _$_.set_text_content(__prev._span_6, __a, __prev.a);
224
+ __prev.a = __a;
225
+ }
226
+ }
208
227
 
209
228
  function ParentWithChildButton_render(__anchor, __block) {
210
229
  const count = _$_.track(0, __block, 'dcc2e0f9');
@@ -222,16 +241,10 @@ function ParentWithChildButton_render(__anchor, __block) {
222
241
 
223
242
  var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node.nextSibling;
224
243
 
225
- {
226
- var expression_8 = _$_.hydrating ? _$_.hydrate_child() : span_6.firstChild;
227
-
228
- _$_.expression(expression_8, () => count.value);
229
- _$_.hydrating && _$_.pop(span_6);
230
- }
231
-
232
244
  _$_.hydrating && _$_.pop(div_5);
233
245
  }
234
246
 
247
+ _$_.render(render_6, { a: '', _count: count, _span_6: span_6 });
235
248
  _$_.append(__anchor, div_5);
236
249
  }
237
250