ripple 1.0.0 → 1.0.1

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 (49) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +4 -4
  3. package/src/runtime/index-client.js +4 -0
  4. package/src/runtime/internal/client/hmr.js +1 -1
  5. package/src/runtime/internal/client/hydration.js +14 -0
  6. package/src/runtime/internal/client/runtime.js +127 -31
  7. package/src/runtime/internal/client/types.d.ts +3 -33
  8. package/src/runtime/internal/server/blocks.js +21 -1
  9. package/src/runtime/internal/server/index.js +299 -34
  10. package/src/runtime/internal/server/types.d.ts +3 -31
  11. package/src/runtime/reactive-value.js +1 -0
  12. package/src/utils/escaping.js +11 -0
  13. package/src/utils/track-async-serialization.js +9 -0
  14. package/tests/client/async-suspend.test.tsrx +11 -1
  15. package/tests/client/compiler/compiler.basic.test.tsrx +3 -3
  16. package/tests/client/track-async-hydration.test.tsrx +54 -0
  17. package/tests/hydration/compiled/client/basic.js +1 -1
  18. package/tests/hydration/compiled/client/events.js +8 -8
  19. package/tests/hydration/compiled/client/for.js +22 -24
  20. package/tests/hydration/compiled/client/head.js +6 -6
  21. package/tests/hydration/compiled/client/hmr.js +1 -1
  22. package/tests/hydration/compiled/client/html.js +1 -1
  23. package/tests/hydration/compiled/client/if-children.js +7 -7
  24. package/tests/hydration/compiled/client/if.js +5 -5
  25. package/tests/hydration/compiled/client/mixed-control-flow.js +4 -4
  26. package/tests/hydration/compiled/client/portal.js +1 -1
  27. package/tests/hydration/compiled/client/reactivity.js +9 -9
  28. package/tests/hydration/compiled/client/return.js +23 -23
  29. package/tests/hydration/compiled/client/switch.js +4 -4
  30. package/tests/hydration/compiled/client/track-async-serialization.js +390 -0
  31. package/tests/hydration/compiled/client/try.js +2 -2
  32. package/tests/hydration/compiled/server/basic.js +1 -1
  33. package/tests/hydration/compiled/server/events.js +8 -8
  34. package/tests/hydration/compiled/server/for.js +34 -28
  35. package/tests/hydration/compiled/server/head.js +6 -6
  36. package/tests/hydration/compiled/server/hmr.js +1 -1
  37. package/tests/hydration/compiled/server/html.js +1 -1
  38. package/tests/hydration/compiled/server/if-children.js +7 -7
  39. package/tests/hydration/compiled/server/if.js +5 -5
  40. package/tests/hydration/compiled/server/mixed-control-flow.js +4 -4
  41. package/tests/hydration/compiled/server/portal.js +1 -1
  42. package/tests/hydration/compiled/server/reactivity.js +9 -9
  43. package/tests/hydration/compiled/server/return.js +11 -11
  44. package/tests/hydration/compiled/server/switch.js +4 -4
  45. package/tests/hydration/compiled/server/track-async-serialization.js +502 -0
  46. package/tests/hydration/compiled/server/try.js +2 -2
  47. package/tests/hydration/components/track-async-serialization.tsrx +116 -0
  48. package/tests/hydration/track-async-serialization.test.js +127 -0
  49. package/tests/server/track-async-serialization.test.tsrx +185 -0
@@ -79,7 +79,7 @@ export function SwitchStatic(__anchor, _, __block) {
79
79
  export function SwitchReactive(__anchor, _, __block) {
80
80
  _$_.push_component();
81
81
 
82
- let lazy = _$_.track('a', void 0, void 0, __block);
82
+ let lazy = _$_.track('a', __block, '9b34d955');
83
83
  var fragment_3 = root_4();
84
84
  var button_1 = _$_.first_child_frag(fragment_3);
85
85
 
@@ -175,7 +175,7 @@ export function SwitchFallthrough(__anchor, _, __block) {
175
175
  export function SwitchNumericLevels(__anchor, _, __block) {
176
176
  _$_.push_component();
177
177
 
178
- let lazy_1 = _$_.track(1, void 0, void 0, __block);
178
+ let lazy_1 = _$_.track(1, __block, '7581a7ab');
179
179
  var fragment_8 = root_11();
180
180
  var button_2 = _$_.first_child_frag(fragment_8);
181
181
 
@@ -230,7 +230,7 @@ export function SwitchNumericLevels(__anchor, _, __block) {
230
230
  export function SwitchBlockScoped(__anchor, _, __block) {
231
231
  _$_.push_component();
232
232
 
233
- let lazy_2 = _$_.track(1, void 0, void 0, __block);
233
+ let lazy_2 = _$_.track(1, __block, 'ca9f9852');
234
234
  var fragment_12 = root_15();
235
235
  var button_3 = _$_.first_child_frag(fragment_12);
236
236
 
@@ -285,7 +285,7 @@ export function SwitchBlockScoped(__anchor, _, __block) {
285
285
  export function SwitchNoBreak(__anchor, _, __block) {
286
286
  _$_.push_component();
287
287
 
288
- let lazy_3 = _$_.track(1, void 0, void 0, __block);
288
+ let lazy_3 = _$_.track(1, __block, '6b7cb0ea');
289
289
  var fragment_16 = root_19();
290
290
  var button_4 = _$_.first_child_frag(fragment_16);
291
291
 
@@ -0,0 +1,390 @@
1
+ // @ts-nocheck
2
+ import * as _$_ from 'ripple/internal/client';
3
+
4
+ var root_1 = _$_.template(`<p class="result"> </p>`, 0);
5
+ var root_2 = _$_.template(`<p class="loading">loading...</p>`, 0);
6
+ var root = _$_.template(`<button class="increment">increment</button><!>`, 1, 2);
7
+ var root_4 = _$_.template(`<p class="result"> </p>`, 0);
8
+ var root_5 = _$_.template(`<p class="loading">loading...</p>`, 0);
9
+ var root_3 = _$_.template(`<!>`, 1, 1);
10
+ var root_7 = _$_.template(`<span class="count"> </span>`, 0);
11
+ var root_8 = _$_.template(`<span class="pending">...</span>`, 0);
12
+ var root_6 = _$_.template(`<!>`, 1, 1);
13
+ var root_10 = _$_.template(`<div class="user"><span class="name"> </span><span class="age"> </span></div>`, 0);
14
+ var root_11 = _$_.template(`<div class="loading">loading user...</div>`, 0);
15
+ var root_9 = _$_.template(`<!>`, 1, 1);
16
+ var root_13 = _$_.template(`<div class="multi"><span class="first"> </span><span class="second"> </span></div>`, 0);
17
+ var root_14 = _$_.template(`<div class="loading">loading...</div>`, 0);
18
+ var root_12 = _$_.template(`<!>`, 1, 1);
19
+ var root_16 = _$_.template(`<p class="result"> </p>`, 0);
20
+ var root_17 = _$_.template(`<p class="error"> </p>`, 0);
21
+ var root_18 = _$_.template(`<p class="loading">loading...</p>`, 0);
22
+ var root_15 = _$_.template(`<!>`, 1, 1);
23
+ var root_20 = _$_.template(`<p class="result"> </p>`, 0);
24
+ var root_21 = _$_.template(`<p class="pending">loading...</p>`, 0);
25
+ var root_19 = _$_.template(`<!>`, 1, 1);
26
+ var root_23 = _$_.template(`<!>`, 1, 1);
27
+ var root_24 = _$_.template(`<p class="parent-error"> </p>`, 0);
28
+ var root_22 = _$_.template(`<!>`, 1, 1);
29
+ var root_26 = _$_.template(`<p class="result"> </p>`, 0);
30
+ var root_27 = _$_.template(`<p class="loading">loading...</p>`, 0);
31
+ var root_25 = _$_.template(`<button class="increment">increment</button><!>`, 1, 2);
32
+
33
+ import { track, trackAsync } from 'ripple';
34
+
35
+ var _$__u0023_server = {
36
+ formatValue(...args) {
37
+ return _$_.rpc('1215faad', args);
38
+ }
39
+ };
40
+
41
+ export function AsyncWithServerCall(__anchor, _, __block) {
42
+ _$_.push_component();
43
+
44
+ let lazy = _$_.track(0, __block, '2e21cbe9');
45
+ var fragment = root();
46
+ var button_1 = _$_.first_child_frag(fragment);
47
+
48
+ button_1.__click = () => {
49
+ _$_.update(lazy);
50
+ };
51
+
52
+ var node = _$_.sibling(button_1);
53
+
54
+ _$_.try(
55
+ node,
56
+ (__anchor) => {
57
+ let lazy_1 = _$_.track_async(() => _$_.with_scope(__block, () => _$__u0023_server.formatValue(_$_.get(lazy))), __block, 'f0c2b41e');
58
+ var p_1 = root_1();
59
+
60
+ {
61
+ var expression = _$_.child(p_1, true);
62
+
63
+ _$_.expression(expression, () => _$_.get(lazy_1));
64
+ _$_.pop(p_1);
65
+ }
66
+
67
+ _$_.append(__anchor, p_1);
68
+ },
69
+ null,
70
+ (__anchor) => {
71
+ var p_2 = root_2();
72
+
73
+ _$_.append(__anchor, p_2);
74
+ }
75
+ );
76
+
77
+ _$_.append(__anchor, fragment);
78
+ _$_.pop_component();
79
+ }
80
+
81
+ export function AsyncSimpleValue(__anchor, _, __block) {
82
+ _$_.push_component();
83
+
84
+ var fragment_1 = root_3();
85
+ var node_1 = _$_.first_child_frag(fragment_1);
86
+
87
+ _$_.try(
88
+ node_1,
89
+ (__anchor) => {
90
+ let lazy_2 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('hydrated value')), __block, '4e502c38');
91
+ var p_3 = root_4();
92
+
93
+ {
94
+ var expression_1 = _$_.child(p_3, true);
95
+
96
+ _$_.expression(expression_1, () => _$_.get(lazy_2));
97
+ _$_.pop(p_3);
98
+ }
99
+
100
+ _$_.append(__anchor, p_3);
101
+ },
102
+ null,
103
+ (__anchor) => {
104
+ var p_4 = root_5();
105
+
106
+ _$_.append(__anchor, p_4);
107
+ }
108
+ );
109
+
110
+ _$_.append(__anchor, fragment_1);
111
+ _$_.pop_component();
112
+ }
113
+
114
+ export function AsyncNumericValue(__anchor, _, __block) {
115
+ _$_.push_component();
116
+
117
+ var fragment_2 = root_6();
118
+ var node_2 = _$_.first_child_frag(fragment_2);
119
+
120
+ _$_.try(
121
+ node_2,
122
+ (__anchor) => {
123
+ let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(42)), __block, '14891754');
124
+ var span_1 = root_7();
125
+
126
+ {
127
+ var expression_2 = _$_.child(span_1, true);
128
+
129
+ _$_.expression(expression_2, () => _$_.get(lazy_3));
130
+ _$_.pop(span_1);
131
+ }
132
+
133
+ _$_.append(__anchor, span_1);
134
+ },
135
+ null,
136
+ (__anchor) => {
137
+ var span_2 = root_8();
138
+
139
+ _$_.append(__anchor, span_2);
140
+ }
141
+ );
142
+
143
+ _$_.append(__anchor, fragment_2);
144
+ _$_.pop_component();
145
+ }
146
+
147
+ export function AsyncObjectValue(__anchor, _, __block) {
148
+ _$_.push_component();
149
+
150
+ var fragment_3 = root_9();
151
+ var node_3 = _$_.first_child_frag(fragment_3);
152
+
153
+ _$_.try(
154
+ node_3,
155
+ (__anchor) => {
156
+ let lazy_4 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve({ name: 'Alice', age: 30 })), __block, 'f325448a');
157
+ var div_1 = root_10();
158
+
159
+ {
160
+ var span_3 = _$_.child(div_1);
161
+
162
+ {
163
+ var expression_3 = _$_.child(span_3, true);
164
+
165
+ _$_.expression(expression_3, () => _$_.get(lazy_4).name);
166
+ _$_.pop(span_3);
167
+ }
168
+
169
+ var span_4 = _$_.sibling(span_3);
170
+
171
+ {
172
+ var expression_4 = _$_.child(span_4, true);
173
+
174
+ _$_.expression(expression_4, () => _$_.get(lazy_4).age);
175
+ _$_.pop(span_4);
176
+ }
177
+ }
178
+
179
+ _$_.append(__anchor, div_1);
180
+ },
181
+ null,
182
+ (__anchor) => {
183
+ var div_2 = root_11();
184
+
185
+ _$_.append(__anchor, div_2);
186
+ }
187
+ );
188
+
189
+ _$_.append(__anchor, fragment_3);
190
+ _$_.pop_component();
191
+ }
192
+
193
+ export function AsyncMultipleValues(__anchor, _, __block) {
194
+ _$_.push_component();
195
+
196
+ var fragment_4 = root_12();
197
+ var node_4 = _$_.first_child_frag(fragment_4);
198
+
199
+ _$_.try(
200
+ node_4,
201
+ (__anchor) => {
202
+ let lazy_5 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('alpha')), __block, 'ab8199a0');
203
+ let lazy_6 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('beta')), __block, 'fb7ad40b');
204
+ var div_3 = root_13();
205
+
206
+ {
207
+ var span_5 = _$_.child(div_3);
208
+
209
+ {
210
+ var expression_5 = _$_.child(span_5, true);
211
+
212
+ _$_.expression(expression_5, () => _$_.get(lazy_5));
213
+ _$_.pop(span_5);
214
+ }
215
+
216
+ var span_6 = _$_.sibling(span_5);
217
+
218
+ {
219
+ var expression_6 = _$_.child(span_6, true);
220
+
221
+ _$_.expression(expression_6, () => _$_.get(lazy_6));
222
+ _$_.pop(span_6);
223
+ }
224
+ }
225
+
226
+ _$_.append(__anchor, div_3);
227
+ },
228
+ null,
229
+ (__anchor) => {
230
+ var div_4 = root_14();
231
+
232
+ _$_.append(__anchor, div_4);
233
+ }
234
+ );
235
+
236
+ _$_.append(__anchor, fragment_4);
237
+ _$_.pop_component();
238
+ }
239
+
240
+ export function AsyncWithCatch(__anchor, _, __block) {
241
+ _$_.push_component();
242
+
243
+ var fragment_5 = root_15();
244
+ var node_5 = _$_.first_child_frag(fragment_5);
245
+
246
+ _$_.try(
247
+ node_5,
248
+ (__anchor) => {
249
+ let lazy_7 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.reject(new Error('fetch failed'))), __block, '99982de5');
250
+ var p_5 = root_16();
251
+
252
+ {
253
+ var expression_7 = _$_.child(p_5, true);
254
+
255
+ _$_.expression(expression_7, () => _$_.get(lazy_7));
256
+ _$_.pop(p_5);
257
+ }
258
+
259
+ _$_.append(__anchor, p_5);
260
+ },
261
+ (__anchor, e) => {
262
+ var p_6 = root_17();
263
+
264
+ {
265
+ var expression_8 = _$_.child(p_6, true);
266
+
267
+ _$_.expression(expression_8, () => e.message);
268
+ _$_.pop(p_6);
269
+ }
270
+
271
+ _$_.append(__anchor, p_6);
272
+ },
273
+ (__anchor) => {
274
+ var p_7 = root_18();
275
+
276
+ _$_.append(__anchor, p_7);
277
+ }
278
+ );
279
+
280
+ _$_.append(__anchor, fragment_5);
281
+ _$_.pop_component();
282
+ }
283
+
284
+ export function ChildWithError(__anchor, _, __block) {
285
+ _$_.push_component();
286
+
287
+ var fragment_6 = root_19();
288
+ var node_6 = _$_.first_child_frag(fragment_6);
289
+
290
+ _$_.try(
291
+ node_6,
292
+ (__anchor) => {
293
+ let lazy_8 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.reject(new Error('child error'))), __block, '1dea4c85');
294
+ var p_8 = root_20();
295
+
296
+ {
297
+ var expression_9 = _$_.child(p_8, true);
298
+
299
+ _$_.expression(expression_9, () => _$_.get(lazy_8));
300
+ _$_.pop(p_8);
301
+ }
302
+
303
+ _$_.append(__anchor, p_8);
304
+ },
305
+ null,
306
+ (__anchor) => {
307
+ var p_9 = root_21();
308
+
309
+ _$_.append(__anchor, p_9);
310
+ }
311
+ );
312
+
313
+ _$_.append(__anchor, fragment_6);
314
+ _$_.pop_component();
315
+ }
316
+
317
+ export function ParentWithCatch(__anchor, _, __block) {
318
+ _$_.push_component();
319
+
320
+ var fragment_7 = root_22();
321
+ var node_7 = _$_.first_child_frag(fragment_7);
322
+
323
+ _$_.try(
324
+ node_7,
325
+ (__anchor) => {
326
+ var fragment_8 = root_23();
327
+ var node_8 = _$_.first_child_frag(fragment_8);
328
+
329
+ ChildWithError(node_8, {}, _$_.active_block);
330
+ _$_.append(__anchor, fragment_8);
331
+ },
332
+ (__anchor, e) => {
333
+ var p_10 = root_24();
334
+
335
+ {
336
+ var expression_10 = _$_.child(p_10, true);
337
+
338
+ _$_.expression(expression_10, () => e.message);
339
+ _$_.pop(p_10);
340
+ }
341
+
342
+ _$_.append(__anchor, p_10);
343
+ }
344
+ );
345
+
346
+ _$_.append(__anchor, fragment_7);
347
+ _$_.pop_component();
348
+ }
349
+
350
+ export function AsyncWithReactiveDependency(__anchor, _, __block) {
351
+ _$_.push_component();
352
+
353
+ let lazy_9 = _$_.track(0, __block, 'c9d12acf');
354
+ var fragment_9 = root_25();
355
+ var button_2 = _$_.first_child_frag(fragment_9);
356
+
357
+ button_2.__click = () => {
358
+ _$_.update(lazy_9);
359
+ };
360
+
361
+ var node_9 = _$_.sibling(button_2);
362
+
363
+ _$_.try(
364
+ node_9,
365
+ (__anchor) => {
366
+ let lazy_10 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(`count-${_$_.get(lazy_9)}`)), __block, 'cdd1adb8');
367
+ var p_11 = root_26();
368
+
369
+ {
370
+ var expression_11 = _$_.child(p_11, true);
371
+
372
+ _$_.expression(expression_11, () => _$_.get(lazy_10));
373
+ _$_.pop(p_11);
374
+ }
375
+
376
+ _$_.append(__anchor, p_11);
377
+ },
378
+ null,
379
+ (__anchor) => {
380
+ var p_12 = root_27();
381
+
382
+ _$_.append(__anchor, p_12);
383
+ }
384
+ );
385
+
386
+ _$_.append(__anchor, fragment_9);
387
+ _$_.pop_component();
388
+ }
389
+
390
+ _$_.delegate(['click']);
@@ -43,7 +43,7 @@ export function AsyncListInTryPending(__anchor, _, __block) {
43
43
  function AsyncList(__anchor, _, __block) {
44
44
  _$_.push_component();
45
45
 
46
- let lazy = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(['alpha', 'beta', 'gamma'])), __block);
46
+ let lazy = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(['alpha', 'beta', 'gamma'])), __block, 'd6bf9e33');
47
47
  var ul_1 = root_3();
48
48
 
49
49
  {
@@ -103,7 +103,7 @@ export function AsyncTryWithLeadingSibling(__anchor, _, __block) {
103
103
  function AsyncContent(__anchor, _, __block) {
104
104
  _$_.push_component();
105
105
 
106
- let lazy_1 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('ready')), __block);
106
+ let lazy_1 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('ready')), __block, 'd2fe7b64');
107
107
  var div_3 = root_8();
108
108
 
109
109
  {
@@ -304,7 +304,7 @@ function TextProp(__props) {
304
304
  export function TextPropWithToggle() {
305
305
  _$_.push_component();
306
306
 
307
- let lazy = _$_.track(false);
307
+ let lazy = _$_.track(false, 'b5de6402');
308
308
 
309
309
  _$_.regular_block(() => {
310
310
  {
@@ -6,7 +6,7 @@ import { track } from 'ripple/server';
6
6
  export function ClickCounter() {
7
7
  _$_.push_component();
8
8
 
9
- let lazy = _$_.track(0);
9
+ let lazy = _$_.track(0, 'a070e3a7');
10
10
 
11
11
  _$_.regular_block(() => {
12
12
  _$_.output_push('<div');
@@ -42,7 +42,7 @@ export function ClickCounter() {
42
42
  export function IncrementDecrement() {
43
43
  _$_.push_component();
44
44
 
45
- let lazy_1 = _$_.track(0);
45
+ let lazy_1 = _$_.track(0, '87fcabdd');
46
46
 
47
47
  _$_.regular_block(() => {
48
48
  _$_.output_push('<div');
@@ -87,8 +87,8 @@ export function IncrementDecrement() {
87
87
  export function MultipleEvents() {
88
88
  _$_.push_component();
89
89
 
90
- let lazy_2 = _$_.track(0);
91
- let lazy_3 = _$_.track(0);
90
+ let lazy_2 = _$_.track(0, '41b9f0b0');
91
+ let lazy_3 = _$_.track(0, '72789f75');
92
92
 
93
93
  _$_.regular_block(() => {
94
94
  _$_.output_push('<div');
@@ -133,8 +133,8 @@ export function MultipleEvents() {
133
133
  export function MultiStateUpdate() {
134
134
  _$_.push_component();
135
135
 
136
- let lazy_4 = _$_.track(0);
137
- let lazy_5 = _$_.track('none');
136
+ let lazy_4 = _$_.track(0, '5a375160');
137
+ let lazy_5 = _$_.track('none', '3ceeb88c');
138
138
 
139
139
  const handleClick = () => {
140
140
  _$_.update(lazy_4);
@@ -184,7 +184,7 @@ export function MultiStateUpdate() {
184
184
  export function ToggleButton() {
185
185
  _$_.push_component();
186
186
 
187
- let lazy_6 = _$_.track(false);
187
+ let lazy_6 = _$_.track(false, 'be823ec7');
188
188
 
189
189
  _$_.regular_block(() => {
190
190
  _$_.output_push('<div');
@@ -229,7 +229,7 @@ export function ChildButton(props) {
229
229
  export function ParentWithChildButton() {
230
230
  _$_.push_component();
231
231
 
232
- let lazy_7 = _$_.track(0);
232
+ let lazy_7 = _$_.track(0, 'dcc2e0f9');
233
233
 
234
234
  _$_.regular_block(() => {
235
235
  _$_.output_push('<div');
@@ -109,7 +109,7 @@ export function KeyedForLoop() {
109
109
  export function ReactiveForLoopAdd() {
110
110
  _$_.push_component();
111
111
 
112
- let lazy = _$_.track(['A', 'B']);
112
+ let lazy = _$_.track(['A', 'B'], 'e145678a');
113
113
 
114
114
  _$_.regular_block(() => {
115
115
  _$_.output_push('<button');
@@ -153,7 +153,7 @@ export function ReactiveForLoopAdd() {
153
153
  export function ReactiveForLoopRemove() {
154
154
  _$_.push_component();
155
155
 
156
- let lazy_1 = _$_.track(['A', 'B', 'C']);
156
+ let lazy_1 = _$_.track(['A', 'B', 'C'], 'b4e9bd54');
157
157
 
158
158
  _$_.regular_block(() => {
159
159
  _$_.output_push('<button');
@@ -197,7 +197,7 @@ export function ReactiveForLoopRemove() {
197
197
  export function ForLoopInteractive() {
198
198
  _$_.push_component();
199
199
 
200
- let lazy_2 = _$_.track([0, 0, 0]);
200
+ let lazy_2 = _$_.track([0, 0, 0], '36f563df');
201
201
 
202
202
  _$_.regular_block(() => {
203
203
  _$_.output_push('<div');
@@ -390,11 +390,14 @@ export function ForLoopComplexObjects() {
390
390
  export function KeyedForLoopReorder() {
391
391
  _$_.push_component();
392
392
 
393
- let lazy_3 = _$_.track([
394
- { id: 1, name: 'First' },
395
- { id: 2, name: 'Second' },
396
- { id: 3, name: 'Third' }
397
- ]);
393
+ let lazy_3 = _$_.track(
394
+ [
395
+ { id: 1, name: 'First' },
396
+ { id: 2, name: 'Second' },
397
+ { id: 3, name: 'Third' }
398
+ ],
399
+ 'e7abc6a3'
400
+ );
398
401
 
399
402
  _$_.regular_block(() => {
400
403
  _$_.output_push('<button');
@@ -439,7 +442,7 @@ export function KeyedForLoopReorder() {
439
442
  export function KeyedForLoopUpdate() {
440
443
  _$_.push_component();
441
444
 
442
- let lazy_4 = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }]);
445
+ let lazy_4 = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }], '7a2c2ada');
443
446
 
444
447
  _$_.regular_block(() => {
445
448
  _$_.output_push('<button');
@@ -484,7 +487,7 @@ export function KeyedForLoopUpdate() {
484
487
  export function ForLoopMixedOperations() {
485
488
  _$_.push_component();
486
489
 
487
- let lazy_5 = _$_.track(['A', 'B', 'C', 'D']);
490
+ let lazy_5 = _$_.track(['A', 'B', 'C', 'D'], '3dd7c7b6');
488
491
 
489
492
  _$_.regular_block(() => {
490
493
  _$_.output_push('<button');
@@ -529,8 +532,8 @@ export function ForLoopMixedOperations() {
529
532
  export function ForLoopInsideIf() {
530
533
  _$_.push_component();
531
534
 
532
- let lazy_6 = _$_.track(true);
533
- let lazy_7 = _$_.track(['X', 'Y', 'Z']);
535
+ let lazy_6 = _$_.track(true, '0528df30');
536
+ let lazy_7 = _$_.track(['X', 'Y', 'Z'], 'bf375103');
534
537
 
535
538
  _$_.regular_block(() => {
536
539
  _$_.output_push('<button');
@@ -593,7 +596,7 @@ export function ForLoopInsideIf() {
593
596
  export function ForLoopEmptyToPopulated() {
594
597
  _$_.push_component();
595
598
 
596
- let lazy_8 = _$_.track([]);
599
+ let lazy_8 = _$_.track([], '525c5dbc');
597
600
 
598
601
  _$_.regular_block(() => {
599
602
  _$_.output_push('<button');
@@ -638,7 +641,7 @@ export function ForLoopEmptyToPopulated() {
638
641
  export function ForLoopPopulatedToEmpty() {
639
642
  _$_.push_component();
640
643
 
641
- let lazy_9 = _$_.track(['One', 'Two', 'Three']);
644
+ let lazy_9 = _$_.track(['One', 'Two', 'Three'], 'ee47f078');
642
645
 
643
646
  _$_.regular_block(() => {
644
647
  _$_.output_push('<button');
@@ -683,7 +686,7 @@ export function ForLoopPopulatedToEmpty() {
683
686
  export function NestedForLoopReactive() {
684
687
  _$_.push_component();
685
688
 
686
- let lazy_10 = _$_.track([[1, 2], [3, 4]]);
689
+ let lazy_10 = _$_.track([[1, 2], [3, 4]], 'a2f41fb3');
687
690
 
688
691
  _$_.regular_block(() => {
689
692
  _$_.output_push('<button');
@@ -863,7 +866,7 @@ export function ForLoopDeeplyNested() {
863
866
  export function ForLoopIndexUpdate() {
864
867
  _$_.push_component();
865
868
 
866
- let lazy_11 = _$_.track(['First', 'Second', 'Third']);
869
+ let lazy_11 = _$_.track(['First', 'Second', 'Third'], 'f61e31e6');
867
870
 
868
871
  _$_.regular_block(() => {
869
872
  _$_.output_push('<button');
@@ -911,11 +914,14 @@ export function ForLoopIndexUpdate() {
911
914
  export function KeyedForLoopWithIndex() {
912
915
  _$_.push_component();
913
916
 
914
- let lazy_12 = _$_.track([
915
- { id: 'a', value: 'Alpha' },
916
- { id: 'b', value: 'Beta' },
917
- { id: 'c', value: 'Gamma' }
918
- ]);
917
+ let lazy_12 = _$_.track(
918
+ [
919
+ { id: 'a', value: 'Alpha' },
920
+ { id: 'b', value: 'Beta' },
921
+ { id: 'c', value: 'Gamma' }
922
+ ],
923
+ '3467975a'
924
+ );
919
925
 
920
926
  _$_.regular_block(() => {
921
927
  _$_.output_push('<button');
@@ -964,7 +970,7 @@ export function KeyedForLoopWithIndex() {
964
970
  export function ForLoopWithSiblings() {
965
971
  _$_.push_component();
966
972
 
967
- let lazy_13 = _$_.track(['A', 'B']);
973
+ let lazy_13 = _$_.track(['A', 'B'], '3c7e8152');
968
974
 
969
975
  _$_.regular_block(() => {
970
976
  _$_.output_push('<div');
@@ -1062,7 +1068,7 @@ export function ForLoopItemState() {
1062
1068
  function TodoItem(props) {
1063
1069
  _$_.push_component();
1064
1070
 
1065
- let lazy_14 = _$_.track(false);
1071
+ let lazy_14 = _$_.track(false, '4f2402a4');
1066
1072
 
1067
1073
  _$_.regular_block(() => {
1068
1074
  _$_.output_push('<div');
@@ -1128,7 +1134,7 @@ export function ForLoopSingleItem() {
1128
1134
  export function ForLoopAddAtBeginning() {
1129
1135
  _$_.push_component();
1130
1136
 
1131
- let lazy_15 = _$_.track(['B', 'C']);
1137
+ let lazy_15 = _$_.track(['B', 'C'], '1561403a');
1132
1138
 
1133
1139
  _$_.regular_block(() => {
1134
1140
  _$_.output_push('<button');
@@ -1173,7 +1179,7 @@ export function ForLoopAddAtBeginning() {
1173
1179
  export function ForLoopAddInMiddle() {
1174
1180
  _$_.push_component();
1175
1181
 
1176
- let lazy_16 = _$_.track(['A', 'C']);
1182
+ let lazy_16 = _$_.track(['A', 'C'], '1bc60b46');
1177
1183
 
1178
1184
  _$_.regular_block(() => {
1179
1185
  _$_.output_push('<button');
@@ -1218,7 +1224,7 @@ export function ForLoopAddInMiddle() {
1218
1224
  export function ForLoopRemoveFromMiddle() {
1219
1225
  _$_.push_component();
1220
1226
 
1221
- let lazy_17 = _$_.track(['A', 'B', 'C']);
1227
+ let lazy_17 = _$_.track(['A', 'B', 'C'], '1c87f95f');
1222
1228
 
1223
1229
  _$_.regular_block(() => {
1224
1230
  _$_.output_push('<button');
@@ -1300,7 +1306,7 @@ export function ForLoopLargeList() {
1300
1306
  export function ForLoopSwap() {
1301
1307
  _$_.push_component();
1302
1308
 
1303
- let lazy_18 = _$_.track(['A', 'B', 'C', 'D']);
1309
+ let lazy_18 = _$_.track(['A', 'B', 'C', 'D'], '5f8d152f');
1304
1310
 
1305
1311
  _$_.regular_block(() => {
1306
1312
  _$_.output_push('<button');
@@ -1345,7 +1351,7 @@ export function ForLoopSwap() {
1345
1351
  export function ForLoopReverse() {
1346
1352
  _$_.push_component();
1347
1353
 
1348
- let lazy_19 = _$_.track(['A', 'B', 'C', 'D']);
1354
+ let lazy_19 = _$_.track(['A', 'B', 'C', 'D'], '24602e64');
1349
1355
 
1350
1356
  _$_.regular_block(() => {
1351
1357
  _$_.output_push('<button');