ripple 0.3.84 → 0.3.85

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 (53) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/package.json +3 -3
  3. package/src/constants.js +4 -0
  4. package/src/runtime/internal/client/component.js +3 -3
  5. package/src/runtime/internal/client/constants.js +4 -0
  6. package/src/runtime/internal/client/for.js +22 -1
  7. package/src/runtime/internal/client/if.js +18 -2
  8. package/src/runtime/internal/client/index.js +1 -0
  9. package/src/runtime/internal/client/operations.js +25 -0
  10. package/src/runtime/internal/client/runtime.js +62 -10
  11. package/src/runtime/internal/client/switch.js +16 -2
  12. package/src/runtime/internal/client/template.js +10 -2
  13. package/src/runtime/internal/client/try.js +12 -2
  14. package/src/runtime/internal/client/types.d.ts +4 -0
  15. package/tests/client/__snapshots__/for.test.tsrx.snap +0 -2
  16. package/tests/client/compiler/compiler.basic.test.tsrx +5 -2
  17. package/tests/client/composite/__snapshots__/composite.render.test.tsrx.snap +0 -4
  18. package/tests/client/scoped-flush.test.tsrx +105 -0
  19. package/tests/hydration/compiled/client/basic.js +198 -214
  20. package/tests/hydration/compiled/client/composite.js +23 -72
  21. package/tests/hydration/compiled/client/for.js +66 -72
  22. package/tests/hydration/compiled/client/hmr.js +2 -13
  23. package/tests/hydration/compiled/client/html.js +619 -479
  24. package/tests/hydration/compiled/client/if-children.js +72 -84
  25. package/tests/hydration/compiled/client/if.js +87 -92
  26. package/tests/hydration/compiled/client/mixed-control-flow.js +120 -160
  27. package/tests/hydration/compiled/client/nested-control-flow.js +288 -360
  28. package/tests/hydration/compiled/client/portal.js +15 -21
  29. package/tests/hydration/compiled/client/reactivity.js +7 -12
  30. package/tests/hydration/compiled/client/switch.js +113 -115
  31. package/tests/hydration/compiled/client/track-async-serialization.js +71 -122
  32. package/tests/hydration/compiled/client/try.js +26 -41
  33. package/tests/hydration/compiled/server/basic.js +268 -556
  34. package/tests/hydration/compiled/server/composite.js +31 -50
  35. package/tests/hydration/compiled/server/events.js +37 -173
  36. package/tests/hydration/compiled/server/for.js +236 -847
  37. package/tests/hydration/compiled/server/head.js +110 -241
  38. package/tests/hydration/compiled/server/hmr.js +14 -41
  39. package/tests/hydration/compiled/server/html-in-template.js +14 -38
  40. package/tests/hydration/compiled/server/html.js +951 -1176
  41. package/tests/hydration/compiled/server/if-children.js +59 -493
  42. package/tests/hydration/compiled/server/if.js +57 -209
  43. package/tests/hydration/compiled/server/mixed-control-flow.js +144 -250
  44. package/tests/hydration/compiled/server/nested-control-flow.js +309 -559
  45. package/tests/hydration/compiled/server/portal.js +94 -156
  46. package/tests/hydration/compiled/server/reactivity.js +23 -65
  47. package/tests/hydration/compiled/server/return.js +6 -16
  48. package/tests/hydration/compiled/server/switch.js +91 -219
  49. package/tests/hydration/compiled/server/track-async-serialization.js +211 -256
  50. package/tests/hydration/compiled/server/try.js +67 -126
  51. package/tests/hydration/components/html.tsrx +75 -0
  52. package/tests/hydration/html.test.js +50 -0
  53. package/tests/server/compiler.test.tsrx +6 -2
@@ -1,34 +1,23 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
3
 
4
- var root_4 = _$_.template(`<div> </div>`, 0);
5
- var root_5 = _$_.template(`<div>pending a</div>`, 0);
6
- var root_3 = _$_.template(`<!>`, 1, 1);
7
- var root_7 = _$_.template(`<div> </div>`, 0);
8
- var root_8 = _$_.template(`<div>pending b</div>`, 0);
9
- var root_6 = _$_.template(`<!>`, 1, 1);
10
- var root_2 = _$_.template(`<!>`, 1, 1);
11
- var root_1 = _$_.template(`<!>`, 1, 1);
4
+ var root_1 = _$_.template(`<div> </div>`, 0);
5
+ var root_2 = _$_.template(`<div>pending a</div>`, 0);
6
+ var root_3 = _$_.template(`<div> </div>`, 0);
7
+ var root_4 = _$_.template(`<div>pending b</div>`, 0);
12
8
  var root = _$_.template(`<section class="mixed-static"></section>`, 0);
13
- var root_14 = _$_.template(`<p> </p>`, 0);
14
- var root_15 = _$_.template(`<p class="pending">pending a</p>`, 0);
15
- var root_13 = _$_.template(`<!>`, 1, 1);
16
- var root_17 = _$_.template(`<p> </p>`, 0);
17
- var root_18 = _$_.template(`<p class="pending">pending b</p>`, 0);
18
- var root_16 = _$_.template(`<!>`, 1, 1);
9
+ var root_8 = _$_.template(`<p> </p>`, 0);
10
+ var root_9 = _$_.template(`<p class="pending">pending a</p>`, 0);
11
+ var root_10 = _$_.template(`<p> </p>`, 0);
12
+ var root_11 = _$_.template(`<p class="pending">pending b</p>`, 0);
13
+ var root_7 = _$_.template(`<div class="mixed-reactive-list"></div>`, 0);
14
+ var root_6 = _$_.template(`<button class="toggle-show">Toggle Show</button><button class="toggle-mode">Toggle Mode</button><button class="add-item">Add Item</button><!>`, 1, 4);
15
+ var root_5 = _$_.template(`<!>`, 1, 1);
16
+ var root_14 = _$_.template(`<div> </div>`, 0);
17
+ var root_15 = _$_.template(`<div class="unexpected">unexpected</div>`, 0);
18
+ var root_13 = _$_.template(`<div class="before">before</div><!>`, 1, 2);
19
19
  var root_12 = _$_.template(`<!>`, 1, 1);
20
- var root_11 = _$_.template(`<div class="mixed-reactive-list"></div>`, 0);
21
- var root_10 = _$_.template(`<button class="toggle-show">Toggle Show</button><button class="toggle-mode">Toggle Mode</button><button class="add-item">Add Item</button><!>`, 1, 4);
22
- var root_9 = _$_.template(`<!>`, 1, 1);
23
- var root_24 = _$_.template(`<!>`, 1, 1);
24
- var root_25 = _$_.template(`<div> </div>`, 0);
25
- var root_23 = _$_.template(`<!>`, 1, 1);
26
- var root_26 = _$_.template(`<div class="unexpected">unexpected</div>`, 0);
27
- var root_22 = _$_.template(`<!>`, 1, 1);
28
- var root_21 = _$_.template(`<!>`, 1, 1);
29
- var root_20 = _$_.template(`<div class="before">before</div><!>`, 1, 2);
30
- var root_19 = _$_.template(`<!>`, 1, 1);
31
- var root_27 = _$_.template(`<div class="resolved-row"> </div>`, 0);
20
+ var root_16 = _$_.template(`<div class="resolved-row"> </div>`, 0);
32
21
 
33
22
  import { track, trackAsync } from 'ripple';
34
23
 
@@ -47,23 +36,14 @@ export function MixedControlFlowStatic() {
47
36
  section_1,
48
37
  () => rows,
49
38
  (__anchor, pattern) => {
50
- var fragment = root_1();
51
- var node = _$_.first_child_frag(fragment);
52
-
53
39
  {
54
40
  var consequent = (__anchor) => {
55
- var fragment_1 = root_2();
56
- var node_1 = _$_.first_child_frag(fragment_1);
57
-
58
41
  {
59
42
  var switch_case_0 = (__anchor) => {
60
- var fragment_2 = root_3();
61
- var node_2 = _$_.first_child_frag(fragment_2);
62
-
63
43
  _$_.try(
64
- node_2,
44
+ __anchor,
65
45
  (__anchor) => {
66
- var div_1 = root_4();
46
+ var div_1 = root_1();
67
47
 
68
48
  {
69
49
  var expression = _$_.child(div_1, true);
@@ -92,27 +72,23 @@ export function MixedControlFlowStatic() {
92
72
  },
93
73
  null,
94
74
  (__anchor) => {
95
- var div_2 = root_5();
75
+ var div_2 = root_2();
96
76
 
97
77
  _$_.render(() => {
98
78
  _$_.set_class(div_2, `pending pending-${_$_.get(pattern).id}`, void 0, true);
99
79
  });
100
80
 
101
81
  _$_.append(__anchor, div_2);
102
- }
82
+ },
83
+ true
103
84
  );
104
-
105
- _$_.append(__anchor, fragment_2);
106
85
  };
107
86
 
108
87
  var switch_case_default = (__anchor) => {
109
- var fragment_3 = root_6();
110
- var node_3 = _$_.first_child_frag(fragment_3);
111
-
112
88
  _$_.try(
113
- node_3,
89
+ __anchor,
114
90
  (__anchor) => {
115
- var div_3 = root_7();
91
+ var div_3 = root_3();
116
92
 
117
93
  {
118
94
  var expression_1 = _$_.child(div_3, true);
@@ -141,43 +117,46 @@ export function MixedControlFlowStatic() {
141
117
  },
142
118
  null,
143
119
  (__anchor) => {
144
- var div_4 = root_8();
120
+ var div_4 = root_4();
145
121
 
146
122
  _$_.render(() => {
147
123
  _$_.set_class(div_4, `pending pending-${_$_.get(pattern).id}`, void 0, true);
148
124
  });
149
125
 
150
126
  _$_.append(__anchor, div_4);
151
- }
127
+ },
128
+ true
152
129
  );
153
-
154
- _$_.append(__anchor, fragment_3);
155
130
  };
156
131
 
157
- _$_.switch(node_1, () => {
158
- var result = [];
132
+ _$_.switch(
133
+ __anchor,
134
+ () => {
135
+ var result = [];
159
136
 
160
- switch (_$_.get(pattern).kind) {
161
- case 'a':
162
- result.push(switch_case_0);
163
- return result;
137
+ switch (_$_.get(pattern).kind) {
138
+ case 'a':
139
+ result.push(switch_case_0);
140
+ return result;
164
141
 
165
- default:
166
- result.push(switch_case_default);
167
- return result;
168
- }
169
- });
142
+ default:
143
+ result.push(switch_case_default);
144
+ return result;
145
+ }
146
+ },
147
+ true
148
+ );
170
149
  }
171
-
172
- _$_.append(__anchor, fragment_1);
173
150
  };
174
151
 
175
- _$_.if(node, (__render) => {
176
- if (_$_.get(pattern).enabled) __render(consequent);
177
- });
152
+ _$_.if(
153
+ __anchor,
154
+ (__render) => {
155
+ if (_$_.get(pattern).enabled) __render(consequent);
156
+ },
157
+ true
158
+ );
178
159
  }
179
-
180
- _$_.append(__anchor, fragment);
181
160
  },
182
161
  4,
183
162
  (pattern) => _$_.get(pattern).id
@@ -195,12 +174,12 @@ export function MixedControlFlowReactive() {
195
174
  let lazy = _$_.track(true, __block, '5ae53d26');
196
175
  let lazy_1 = _$_.track('a', __block, '5b53eda2');
197
176
  let lazy_2 = _$_.track([{ id: 1, label: 'One' }, { id: 2, label: 'Two' }], __block, '7890dad6');
198
- var fragment_4 = root_9();
199
- var node_8 = _$_.first_child_frag(fragment_4);
177
+ var fragment = root_5();
178
+ var node_1 = _$_.first_child_frag(fragment);
200
179
 
201
- _$_.expression(node_8, () => _$_.tsrx_element((__anchor, __block) => {
202
- var fragment_5 = root_10();
203
- var button_1 = _$_.first_child_frag(fragment_5);
180
+ _$_.expression(node_1, () => _$_.tsrx_element((__anchor, __block) => {
181
+ var fragment_1 = root_6();
182
+ var button_1 = _$_.first_child_frag(fragment_1);
204
183
 
205
184
  button_1.__click = () => {
206
185
  _$_.set(lazy, !lazy.value);
@@ -218,29 +197,23 @@ export function MixedControlFlowReactive() {
218
197
  _$_.set(lazy_2, [...lazy_2.value, { id: 3, label: 'Three' }]);
219
198
  };
220
199
 
221
- var node_4 = _$_.sibling(button_3);
200
+ var node = _$_.sibling(button_3);
222
201
 
223
202
  {
224
203
  var consequent_1 = (__anchor) => {
225
- var div_5 = root_11();
204
+ var div_5 = root_7();
226
205
 
227
206
  {
228
207
  _$_.for_keyed(
229
208
  div_5,
230
209
  () => lazy_2.value,
231
210
  (__anchor, pattern_1) => {
232
- var fragment_6 = root_12();
233
- var node_5 = _$_.first_child_frag(fragment_6);
234
-
235
211
  {
236
212
  var switch_case_0_1 = (__anchor) => {
237
- var fragment_7 = root_13();
238
- var node_6 = _$_.first_child_frag(fragment_7);
239
-
240
213
  _$_.try(
241
- node_6,
214
+ __anchor,
242
215
  (__anchor) => {
243
- var p_1 = root_14();
216
+ var p_1 = root_8();
244
217
 
245
218
  {
246
219
  var expression_2 = _$_.child(p_1, true);
@@ -269,23 +242,19 @@ export function MixedControlFlowReactive() {
269
242
  },
270
243
  null,
271
244
  (__anchor) => {
272
- var p_2 = root_15();
245
+ var p_2 = root_9();
273
246
 
274
247
  _$_.append(__anchor, p_2);
275
- }
248
+ },
249
+ true
276
250
  );
277
-
278
- _$_.append(__anchor, fragment_7);
279
251
  };
280
252
 
281
253
  var switch_case_default_1 = (__anchor) => {
282
- var fragment_8 = root_16();
283
- var node_7 = _$_.first_child_frag(fragment_8);
284
-
285
254
  _$_.try(
286
- node_7,
255
+ __anchor,
287
256
  (__anchor) => {
288
- var p_3 = root_17();
257
+ var p_3 = root_10();
289
258
 
290
259
  {
291
260
  var expression_3 = _$_.child(p_3, true);
@@ -314,31 +283,32 @@ export function MixedControlFlowReactive() {
314
283
  },
315
284
  null,
316
285
  (__anchor) => {
317
- var p_4 = root_18();
286
+ var p_4 = root_11();
318
287
 
319
288
  _$_.append(__anchor, p_4);
320
- }
289
+ },
290
+ true
321
291
  );
322
-
323
- _$_.append(__anchor, fragment_8);
324
292
  };
325
293
 
326
- _$_.switch(node_5, () => {
327
- var result = [];
294
+ _$_.switch(
295
+ __anchor,
296
+ () => {
297
+ var result = [];
328
298
 
329
- switch (lazy_1.value) {
330
- case 'a':
331
- result.push(switch_case_0_1);
332
- return result;
299
+ switch (lazy_1.value) {
300
+ case 'a':
301
+ result.push(switch_case_0_1);
302
+ return result;
333
303
 
334
- default:
335
- result.push(switch_case_default_1);
336
- return result;
337
- }
338
- });
304
+ default:
305
+ result.push(switch_case_default_1);
306
+ return result;
307
+ }
308
+ },
309
+ true
310
+ );
339
311
  }
340
-
341
- _$_.append(__anchor, fragment_6);
342
312
  },
343
313
  4,
344
314
  (pattern_1) => _$_.get(pattern_1).id
@@ -350,15 +320,15 @@ export function MixedControlFlowReactive() {
350
320
  _$_.append(__anchor, div_5);
351
321
  };
352
322
 
353
- _$_.if(node_4, (__render) => {
323
+ _$_.if(node, (__render) => {
354
324
  if (lazy.value) __render(consequent_1);
355
325
  });
356
326
  }
357
327
 
358
- _$_.append(__anchor, fragment_5);
328
+ _$_.append(__anchor, fragment_1);
359
329
  }));
360
330
 
361
- _$_.append(__anchor, fragment_4);
331
+ _$_.append(__anchor, fragment);
362
332
  });
363
333
  }
364
334
 
@@ -366,43 +336,30 @@ export function MixedControlFlowAsyncPending() {
366
336
  return _$_.tsrx_element((__anchor, __block) => {
367
337
  const rows = [1, 2];
368
338
  const state = 'slow';
369
- var fragment_9 = root_19();
370
- var node_14 = _$_.first_child_frag(fragment_9);
339
+ var fragment_2 = root_12();
340
+ var node_3 = _$_.first_child_frag(fragment_2);
371
341
 
372
- _$_.expression(node_14, () => _$_.tsrx_element((__anchor, __block) => {
373
- var fragment_10 = root_20();
374
- var div_6 = _$_.first_child_frag(fragment_10);
375
- var node_9 = _$_.sibling(div_6);
342
+ _$_.expression(node_3, () => _$_.tsrx_element((__anchor, __block) => {
343
+ var fragment_3 = root_13();
344
+ var div_6 = _$_.first_child_frag(fragment_3);
345
+ var node_2 = _$_.sibling(div_6);
376
346
 
377
347
  _$_.for(
378
- node_9,
348
+ node_2,
379
349
  () => rows,
380
350
  (__anchor, row) => {
381
- var fragment_11 = root_21();
382
- var node_10 = _$_.first_child_frag(fragment_11);
383
-
384
351
  {
385
352
  var consequent_2 = (__anchor) => {
386
- var fragment_12 = root_22();
387
- var node_11 = _$_.first_child_frag(fragment_12);
388
-
389
353
  {
390
354
  var switch_case_0_2 = (__anchor) => {
391
- var fragment_13 = root_23();
392
- var node_12 = _$_.first_child_frag(fragment_13);
393
-
394
355
  _$_.try(
395
- node_12,
356
+ __anchor,
396
357
  (__anchor) => {
397
- var fragment_14 = root_24();
398
- var node_13 = _$_.first_child_frag(fragment_14);
399
-
400
- _$_.render_component(AsyncRow, node_13, { label: `row-${row}` });
401
- _$_.append(__anchor, fragment_14);
358
+ _$_.render_component(AsyncRow, __anchor, { label: `row-${row}` });
402
359
  },
403
360
  null,
404
361
  (__anchor) => {
405
- var div_7 = root_25();
362
+ var div_7 = root_14();
406
363
 
407
364
  _$_.set_class(div_7, `pending-row pending-row-${row}`, void 0, true);
408
365
 
@@ -414,57 +371,60 @@ export function MixedControlFlowAsyncPending() {
414
371
  }
415
372
 
416
373
  _$_.append(__anchor, div_7);
417
- }
374
+ },
375
+ true
418
376
  );
419
-
420
- _$_.append(__anchor, fragment_13);
421
377
  };
422
378
 
423
379
  var switch_case_default_2 = (__anchor) => {
424
- var div_8 = root_26();
380
+ var div_8 = root_15();
425
381
 
426
382
  _$_.append(__anchor, div_8);
427
383
  };
428
384
 
429
- _$_.switch(node_11, () => {
430
- var result = [];
385
+ _$_.switch(
386
+ __anchor,
387
+ () => {
388
+ var result = [];
431
389
 
432
- switch (state) {
433
- case 'slow':
434
- result.push(switch_case_0_2);
435
- return result;
390
+ switch (state) {
391
+ case 'slow':
392
+ result.push(switch_case_0_2);
393
+ return result;
436
394
 
437
- default:
438
- result.push(switch_case_default_2);
439
- return result;
440
- }
441
- });
395
+ default:
396
+ result.push(switch_case_default_2);
397
+ return result;
398
+ }
399
+ },
400
+ true
401
+ );
442
402
  }
443
-
444
- _$_.append(__anchor, fragment_12);
445
403
  };
446
404
 
447
- _$_.if(node_10, (__render) => {
448
- if (row === 1) __render(consequent_2);
449
- });
405
+ _$_.if(
406
+ __anchor,
407
+ (__render) => {
408
+ if (row === 1) __render(consequent_2);
409
+ },
410
+ true
411
+ );
450
412
  }
451
-
452
- _$_.append(__anchor, fragment_11);
453
413
  },
454
414
  0
455
415
  );
456
416
 
457
- _$_.append(__anchor, fragment_10);
417
+ _$_.append(__anchor, fragment_3);
458
418
  }));
459
419
 
460
- _$_.append(__anchor, fragment_9);
420
+ _$_.append(__anchor, fragment_2);
461
421
  });
462
422
  }
463
423
 
464
424
  function AsyncRow({ label }) {
465
425
  return _$_.tsrx_element((__anchor, __block) => {
466
426
  let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(label)), __block, '10cc79a0');
467
- var div_9 = root_27();
427
+ var div_9 = root_16();
468
428
 
469
429
  {
470
430
  var expression_5 = _$_.child(div_9);