ripple 0.3.72 → 0.3.76

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 (172) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/package.json +3 -3
  3. package/src/jsx-runtime.d.ts +4 -10
  4. package/src/runtime/dynamic-client.js +33 -0
  5. package/src/runtime/dynamic-server.js +80 -0
  6. package/src/runtime/index-client.js +5 -13
  7. package/src/runtime/index-server.js +2 -0
  8. package/src/runtime/internal/client/blocks.js +6 -27
  9. package/src/runtime/internal/client/composite.js +11 -6
  10. package/src/runtime/internal/client/for.js +80 -5
  11. package/src/runtime/internal/client/index.js +0 -2
  12. package/src/runtime/internal/client/render.js +5 -2
  13. package/src/runtime/internal/client/types.d.ts +0 -10
  14. package/src/runtime/internal/server/index.js +8 -1
  15. package/tests/client/__snapshots__/computed-properties.test.tsrx.snap +8 -0
  16. package/tests/client/__snapshots__/for.test.tsrx.snap +22 -0
  17. package/tests/client/__snapshots__/html.test.tsrx.snap +4 -0
  18. package/tests/client/array/array.copy-within.test.tsrx +19 -19
  19. package/tests/client/array/array.derived.test.tsrx +97 -109
  20. package/tests/client/array/array.iteration.test.tsrx +28 -28
  21. package/tests/client/array/array.mutations.test.tsrx +68 -68
  22. package/tests/client/array/array.static.test.tsrx +82 -92
  23. package/tests/client/array/array.to-methods.test.tsrx +15 -15
  24. package/tests/client/async-suspend.test.tsrx +180 -179
  25. package/tests/client/basic/__snapshots__/basic.attributes.test.tsrx.snap +2 -0
  26. package/tests/client/basic/__snapshots__/basic.rendering.test.tsrx.snap +4 -0
  27. package/tests/client/basic/basic.attributes.test.tsrx +273 -317
  28. package/tests/client/basic/basic.collections.test.tsrx +55 -61
  29. package/tests/client/basic/basic.components.test.tsrx +198 -220
  30. package/tests/client/basic/basic.errors.test.tsrx +70 -76
  31. package/tests/client/basic/basic.events.test.tsrx +80 -85
  32. package/tests/client/basic/basic.get-set.test.tsrx +54 -64
  33. package/tests/client/basic/basic.hmr.test.tsrx +15 -19
  34. package/tests/client/basic/basic.reactivity.test.tsrx +121 -135
  35. package/tests/client/basic/basic.rendering.test.tsrx +273 -178
  36. package/tests/client/basic/basic.styling.test.tsrx +16 -14
  37. package/tests/client/basic/basic.utilities.test.tsrx +8 -10
  38. package/tests/client/boundaries.test.tsrx +18 -18
  39. package/tests/client/compiler/compiler.assignments.test.tsrx +77 -76
  40. package/tests/client/compiler/compiler.attributes.test.tsrx +18 -14
  41. package/tests/client/compiler/compiler.basic.test.tsrx +357 -288
  42. package/tests/client/compiler/compiler.regex.test.tsrx +40 -44
  43. package/tests/client/compiler/compiler.tracked-access.test.tsrx +57 -38
  44. package/tests/client/compiler/compiler.try-in-function.test.tsrx +16 -16
  45. package/tests/client/compiler/compiler.typescript.test.tsrx +4 -3
  46. package/tests/client/composite/composite.dynamic-components.test.tsrx +62 -47
  47. package/tests/client/composite/composite.generics.test.tsrx +165 -167
  48. package/tests/client/composite/composite.props.test.tsrx +66 -74
  49. package/tests/client/composite/composite.reactivity.test.tsrx +132 -166
  50. package/tests/client/composite/composite.render.test.tsrx +92 -101
  51. package/tests/client/computed-properties.test.tsrx +14 -18
  52. package/tests/client/context.test.tsrx +14 -18
  53. package/tests/client/css/global-additional-cases.test.tsrx +493 -439
  54. package/tests/client/css/global-advanced-selectors.test.tsrx +169 -153
  55. package/tests/client/css/global-at-rules.test.tsrx +71 -66
  56. package/tests/client/css/global-basic.test.tsrx +105 -98
  57. package/tests/client/css/global-classes-ids.test.tsrx +128 -114
  58. package/tests/client/css/global-combinators.test.tsrx +83 -78
  59. package/tests/client/css/global-complex-nesting.test.tsrx +134 -120
  60. package/tests/client/css/global-edge-cases.test.tsrx +138 -120
  61. package/tests/client/css/global-keyframes.test.tsrx +108 -96
  62. package/tests/client/css/global-nested.test.tsrx +88 -78
  63. package/tests/client/css/global-pseudo.test.tsrx +104 -98
  64. package/tests/client/css/global-scoping.test.tsrx +145 -125
  65. package/tests/client/css/style-identifier.test.tsrx +65 -72
  66. package/tests/client/date.test.tsrx +83 -83
  67. package/tests/client/dynamic-elements.test.tsrx +318 -299
  68. package/tests/client/events.test.tsrx +252 -266
  69. package/tests/client/for.test.tsrx +120 -127
  70. package/tests/client/head.test.tsrx +74 -48
  71. package/tests/client/html.test.tsrx +37 -49
  72. package/tests/client/input-value.test.tsrx +1125 -1354
  73. package/tests/client/lazy-array.test.tsrx +10 -16
  74. package/tests/client/lazy-destructuring.test.tsrx +169 -221
  75. package/tests/client/map.test.tsrx +39 -41
  76. package/tests/client/media-query.test.tsrx +15 -19
  77. package/tests/client/object.test.tsrx +46 -56
  78. package/tests/client/portal.test.tsrx +31 -37
  79. package/tests/client/ref.test.tsrx +173 -193
  80. package/tests/client/return.test.tsrx +62 -37
  81. package/tests/client/set.test.tsrx +33 -33
  82. package/tests/client/svg.test.tsrx +197 -216
  83. package/tests/client/switch.test.tsrx +201 -191
  84. package/tests/client/track-async-hydration.test.tsrx +14 -18
  85. package/tests/client/tracked-index-access.test.tsrx +18 -28
  86. package/tests/client/try.test.tsrx +494 -619
  87. package/tests/client/tsx.test.tsrx +286 -292
  88. package/tests/client/typescript-generics.test.tsrx +121 -129
  89. package/tests/client/url/url.derived.test.tsrx +21 -25
  90. package/tests/client/url/url.parsing.test.tsrx +35 -35
  91. package/tests/client/url/url.partial-removal.test.tsrx +32 -32
  92. package/tests/client/url/url.reactivity.test.tsrx +68 -72
  93. package/tests/client/url/url.serialization.test.tsrx +8 -8
  94. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +21 -27
  95. package/tests/client/url-search-params/url-search-params.initialization.test.tsrx +16 -16
  96. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +37 -37
  97. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +56 -60
  98. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +32 -34
  99. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +9 -9
  100. package/tests/client/url-search-params/url-search-params.tracked-url.test.tsrx +10 -10
  101. package/tests/hydration/compiled/client/basic.js +390 -319
  102. package/tests/hydration/compiled/client/composite.js +52 -44
  103. package/tests/hydration/compiled/client/for.js +734 -604
  104. package/tests/hydration/compiled/client/head.js +183 -103
  105. package/tests/hydration/compiled/client/html.js +93 -86
  106. package/tests/hydration/compiled/client/if-children.js +95 -71
  107. package/tests/hydration/compiled/client/if.js +113 -89
  108. package/tests/hydration/compiled/client/mixed-control-flow.js +225 -209
  109. package/tests/hydration/compiled/client/nested-control-flow.js +94 -98
  110. package/tests/hydration/compiled/client/reactivity.js +26 -24
  111. package/tests/hydration/compiled/client/return.js +8 -42
  112. package/tests/hydration/compiled/client/switch.js +208 -173
  113. package/tests/hydration/compiled/client/track-async-serialization.js +176 -128
  114. package/tests/hydration/compiled/client/try.js +29 -21
  115. package/tests/hydration/compiled/server/basic.js +210 -221
  116. package/tests/hydration/compiled/server/composite.js +13 -14
  117. package/tests/hydration/compiled/server/for.js +427 -444
  118. package/tests/hydration/compiled/server/head.js +199 -189
  119. package/tests/hydration/compiled/server/html.js +33 -41
  120. package/tests/hydration/compiled/server/if-children.js +114 -117
  121. package/tests/hydration/compiled/server/if.js +77 -83
  122. package/tests/hydration/compiled/server/mixed-control-flow.js +145 -150
  123. package/tests/hydration/compiled/server/nested-control-flow.js +10 -0
  124. package/tests/hydration/compiled/server/reactivity.js +24 -22
  125. package/tests/hydration/compiled/server/return.js +6 -18
  126. package/tests/hydration/compiled/server/switch.js +179 -176
  127. package/tests/hydration/compiled/server/track-async-serialization.js +88 -70
  128. package/tests/hydration/compiled/server/try.js +31 -35
  129. package/tests/hydration/components/basic.tsrx +216 -258
  130. package/tests/hydration/components/composite.tsrx +32 -42
  131. package/tests/hydration/components/events.tsrx +81 -101
  132. package/tests/hydration/components/for.tsrx +270 -336
  133. package/tests/hydration/components/head.tsrx +43 -39
  134. package/tests/hydration/components/hmr.tsrx +16 -22
  135. package/tests/hydration/components/html-in-template.tsrx +15 -21
  136. package/tests/hydration/components/html.tsrx +442 -526
  137. package/tests/hydration/components/if-children.tsrx +107 -125
  138. package/tests/hydration/components/if.tsrx +68 -90
  139. package/tests/hydration/components/mixed-control-flow.tsrx +65 -72
  140. package/tests/hydration/components/nested-control-flow.tsrx +202 -216
  141. package/tests/hydration/components/portal.tsrx +33 -41
  142. package/tests/hydration/components/reactivity.tsrx +26 -34
  143. package/tests/hydration/components/return.tsrx +4 -6
  144. package/tests/hydration/components/switch.tsrx +73 -78
  145. package/tests/hydration/components/track-async-serialization.tsrx +83 -93
  146. package/tests/hydration/components/try.tsrx +37 -51
  147. package/tests/hydration/switch.test.js +8 -8
  148. package/tests/server/await.test.tsrx +3 -3
  149. package/tests/server/basic.attributes.test.tsrx +117 -162
  150. package/tests/server/basic.components.test.tsrx +164 -194
  151. package/tests/server/basic.test.tsrx +299 -199
  152. package/tests/server/compiler.test.tsrx +142 -72
  153. package/tests/server/composite.props.test.tsrx +54 -58
  154. package/tests/server/composite.test.tsrx +165 -167
  155. package/tests/server/context.test.tsrx +13 -17
  156. package/tests/server/dynamic-elements.test.tsrx +147 -148
  157. package/tests/server/for.test.tsrx +115 -84
  158. package/tests/server/head.test.tsrx +54 -31
  159. package/tests/server/html-nesting-validation.test.tsrx +16 -8
  160. package/tests/server/if.test.tsrx +49 -59
  161. package/tests/server/lazy-destructuring.test.tsrx +288 -366
  162. package/tests/server/return.test.tsrx +58 -36
  163. package/tests/server/streaming-ssr.test.tsrx +4 -4
  164. package/tests/server/style-identifier.test.tsrx +61 -69
  165. package/tests/server/switch.test.tsrx +89 -97
  166. package/tests/server/track-async-serialization.test.tsrx +85 -103
  167. package/tests/server/try.test.tsrx +275 -360
  168. package/tests/utils/ref-types.test.js +72 -0
  169. package/tests/utils/vite-plugin-config.test.js +41 -74
  170. package/types/index.d.ts +29 -4
  171. package/src/runtime/internal/client/compat.js +0 -40
  172. package/tests/utils/compiler-compat-config.test.js +0 -38
@@ -1,34 +1,38 @@
1
1
  // @ts-nocheck
2
2
  import * as _$_ from 'ripple/internal/client';
3
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);
4
+ var root = _$_.template(`<p class="result"> </p>`, 0);
9
5
  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);
6
+ var root_4 = _$_.template(`<p class="loading">loading...</p>`, 0);
7
+ var root_2 = _$_.template(`<button class="increment">increment</button><!>`, 1, 2);
8
+ var root_1 = _$_.template(`<!>`, 1, 1);
9
+ var root_6 = _$_.template(`<p class="result"> </p>`, 0);
10
+ var root_7 = _$_.template(`<p class="loading">loading...</p>`, 0);
11
+ var root_5 = _$_.template(`<!>`, 1, 1);
12
+ var root_9 = _$_.template(`<span class="count"> </span>`, 0);
13
+ var root_10 = _$_.template(`<span class="pending">...</span>`, 0);
14
+ var root_8 = _$_.template(`<!>`, 1, 1);
15
+ var root_12 = _$_.template(`<div class="user"><span class="name"> </span><span class="age"> </span></div>`, 0);
16
+ var root_13 = _$_.template(`<div class="loading">loading user...</div>`, 0);
17
+ var root_11 = _$_.template(`<!>`, 1, 1);
18
+ var root_15 = _$_.template(`<div class="multi"><span class="first"> </span><span class="second"> </span></div>`, 0);
19
+ var root_16 = _$_.template(`<div class="loading">loading...</div>`, 0);
20
+ var root_14 = _$_.template(`<!>`, 1, 1);
21
+ var root_18 = _$_.template(`<p class="result"> </p>`, 0);
22
+ var root_19 = _$_.template(`<p class="error"> </p>`, 0);
23
+ var root_20 = _$_.template(`<p class="loading">loading...</p>`, 0);
24
+ var root_17 = _$_.template(`<!>`, 1, 1);
25
+ var root_22 = _$_.template(`<p class="result"> </p>`, 0);
26
+ var root_23 = _$_.template(`<p class="pending">loading...</p>`, 0);
27
+ var root_21 = _$_.template(`<!>`, 1, 1);
28
+ var root_25 = _$_.template(`<!>`, 1, 1);
29
+ var root_26 = _$_.template(`<p class="parent-error"> </p>`, 0);
30
+ var root_24 = _$_.template(`<!>`, 1, 1);
31
+ var root_27 = _$_.template(`<p class="result"> </p>`, 0);
32
+ var root_30 = _$_.template(`<!>`, 1, 1);
33
+ var root_31 = _$_.template(`<p class="loading">loading...</p>`, 0);
34
+ var root_29 = _$_.template(`<button class="increment">increment</button><!>`, 1, 2);
35
+ var root_28 = _$_.template(`<!>`, 1, 1);
32
36
 
33
37
  import { track, trackAsync } from 'ripple';
34
38
 
@@ -36,40 +40,62 @@ const formatValue = function (...args) {
36
40
  return _$_.rpc('1215faad', args);
37
41
  };
38
42
 
39
- export function AsyncWithServerCall() {
43
+ function ServerCallResult({ count }) {
40
44
  return _$_.tsrx_element((__anchor, __block) => {
41
- let lazy = _$_.track(0, __block, '2e21cbe9');
42
- var fragment = root();
43
- var button_1 = _$_.first_child_frag(fragment);
44
-
45
- button_1.__click = () => {
46
- _$_.update(lazy);
47
- };
45
+ let lazy = _$_.track_async(() => _$_.with_scope(__block, () => formatValue(count.value)), __block, '2e21cbe9');
46
+ var p_1 = root();
48
47
 
49
- var node = _$_.sibling(button_1);
48
+ {
49
+ var expression = _$_.child(p_1);
50
50
 
51
- _$_.try(
52
- node,
53
- (__anchor) => {
54
- let lazy_1 = _$_.track_async(() => _$_.with_scope(__block, () => formatValue(lazy.value)), __block, 'f0c2b41e');
55
- var p_1 = root_1();
51
+ _$_.expression(expression, () => lazy.value);
52
+ _$_.pop(p_1);
53
+ }
56
54
 
57
- {
58
- var expression = _$_.child(p_1);
55
+ _$_.append(__anchor, p_1);
56
+ });
57
+ }
59
58
 
60
- _$_.expression(expression, () => lazy_1.value);
61
- _$_.pop(p_1);
59
+ export function AsyncWithServerCall() {
60
+ return _$_.tsrx_element((__anchor, __block) => {
61
+ let lazy_1 = _$_.track(0, __block, 'f0c2b41e');
62
+ var fragment = root_1();
63
+ var node_2 = _$_.first_child_frag(fragment);
64
+
65
+ _$_.expression(node_2, () => _$_.tsrx_element((__anchor, __block) => {
66
+ var fragment_1 = root_2();
67
+ var button_1 = _$_.first_child_frag(fragment_1);
68
+
69
+ button_1.__click = () => {
70
+ _$_.update(lazy_1);
71
+ };
72
+
73
+ var node = _$_.sibling(button_1);
74
+
75
+ _$_.try(
76
+ node,
77
+ (__anchor) => {
78
+ var fragment_2 = root_3();
79
+ var node_1 = _$_.first_child_frag(fragment_2);
80
+
81
+ _$_.render_component(ServerCallResult, node_1, {
82
+ get count() {
83
+ return lazy_1;
84
+ }
85
+ });
86
+
87
+ _$_.append(__anchor, fragment_2);
88
+ },
89
+ null,
90
+ (__anchor) => {
91
+ var p_2 = root_4();
92
+
93
+ _$_.append(__anchor, p_2);
62
94
  }
95
+ );
63
96
 
64
- _$_.append(__anchor, p_1);
65
- },
66
- null,
67
- (__anchor) => {
68
- var p_2 = root_2();
69
-
70
- _$_.append(__anchor, p_2);
71
- }
72
- );
97
+ _$_.append(__anchor, fragment_1);
98
+ }));
73
99
 
74
100
  _$_.append(__anchor, fragment);
75
101
  });
@@ -77,14 +103,14 @@ export function AsyncWithServerCall() {
77
103
 
78
104
  export function AsyncSimpleValue() {
79
105
  return _$_.tsrx_element((__anchor, __block) => {
80
- var fragment_1 = root_3();
81
- var node_1 = _$_.first_child_frag(fragment_1);
106
+ var fragment_3 = root_5();
107
+ var node_3 = _$_.first_child_frag(fragment_3);
82
108
 
83
109
  _$_.try(
84
- node_1,
110
+ node_3,
85
111
  (__anchor) => {
86
112
  let lazy_2 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('hydrated value')), __block, '4e502c38');
87
- var p_3 = root_4();
113
+ var p_3 = root_6();
88
114
 
89
115
  {
90
116
  var expression_1 = _$_.child(p_3);
@@ -97,26 +123,26 @@ export function AsyncSimpleValue() {
97
123
  },
98
124
  null,
99
125
  (__anchor) => {
100
- var p_4 = root_5();
126
+ var p_4 = root_7();
101
127
 
102
128
  _$_.append(__anchor, p_4);
103
129
  }
104
130
  );
105
131
 
106
- _$_.append(__anchor, fragment_1);
132
+ _$_.append(__anchor, fragment_3);
107
133
  });
108
134
  }
109
135
 
110
136
  export function AsyncNumericValue() {
111
137
  return _$_.tsrx_element((__anchor, __block) => {
112
- var fragment_2 = root_6();
113
- var node_2 = _$_.first_child_frag(fragment_2);
138
+ var fragment_4 = root_8();
139
+ var node_4 = _$_.first_child_frag(fragment_4);
114
140
 
115
141
  _$_.try(
116
- node_2,
142
+ node_4,
117
143
  (__anchor) => {
118
144
  let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(42)), __block, '14891754');
119
- var span_1 = root_7();
145
+ var span_1 = root_9();
120
146
 
121
147
  {
122
148
  var expression_2 = _$_.child(span_1);
@@ -129,26 +155,26 @@ export function AsyncNumericValue() {
129
155
  },
130
156
  null,
131
157
  (__anchor) => {
132
- var span_2 = root_8();
158
+ var span_2 = root_10();
133
159
 
134
160
  _$_.append(__anchor, span_2);
135
161
  }
136
162
  );
137
163
 
138
- _$_.append(__anchor, fragment_2);
164
+ _$_.append(__anchor, fragment_4);
139
165
  });
140
166
  }
141
167
 
142
168
  export function AsyncObjectValue() {
143
169
  return _$_.tsrx_element((__anchor, __block) => {
144
- var fragment_3 = root_9();
145
- var node_3 = _$_.first_child_frag(fragment_3);
170
+ var fragment_5 = root_11();
171
+ var node_5 = _$_.first_child_frag(fragment_5);
146
172
 
147
173
  _$_.try(
148
- node_3,
174
+ node_5,
149
175
  (__anchor) => {
150
176
  let lazy_4 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve({ name: 'Alice', age: 30 })), __block, 'f325448a');
151
- var div_1 = root_10();
177
+ var div_1 = root_12();
152
178
 
153
179
  {
154
180
  var span_3 = _$_.child(div_1);
@@ -174,27 +200,27 @@ export function AsyncObjectValue() {
174
200
  },
175
201
  null,
176
202
  (__anchor) => {
177
- var div_2 = root_11();
203
+ var div_2 = root_13();
178
204
 
179
205
  _$_.append(__anchor, div_2);
180
206
  }
181
207
  );
182
208
 
183
- _$_.append(__anchor, fragment_3);
209
+ _$_.append(__anchor, fragment_5);
184
210
  });
185
211
  }
186
212
 
187
213
  export function AsyncMultipleValues() {
188
214
  return _$_.tsrx_element((__anchor, __block) => {
189
- var fragment_4 = root_12();
190
- var node_4 = _$_.first_child_frag(fragment_4);
215
+ var fragment_6 = root_14();
216
+ var node_6 = _$_.first_child_frag(fragment_6);
191
217
 
192
218
  _$_.try(
193
- node_4,
219
+ node_6,
194
220
  (__anchor) => {
195
221
  let lazy_5 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('alpha')), __block, 'ab8199a0');
196
222
  let lazy_6 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('beta')), __block, 'fb7ad40b');
197
- var div_3 = root_13();
223
+ var div_3 = root_15();
198
224
 
199
225
  {
200
226
  var span_5 = _$_.child(div_3);
@@ -220,26 +246,26 @@ export function AsyncMultipleValues() {
220
246
  },
221
247
  null,
222
248
  (__anchor) => {
223
- var div_4 = root_14();
249
+ var div_4 = root_16();
224
250
 
225
251
  _$_.append(__anchor, div_4);
226
252
  }
227
253
  );
228
254
 
229
- _$_.append(__anchor, fragment_4);
255
+ _$_.append(__anchor, fragment_6);
230
256
  });
231
257
  }
232
258
 
233
259
  export function AsyncWithCatch() {
234
260
  return _$_.tsrx_element((__anchor, __block) => {
235
- var fragment_5 = root_15();
236
- var node_5 = _$_.first_child_frag(fragment_5);
261
+ var fragment_7 = root_17();
262
+ var node_7 = _$_.first_child_frag(fragment_7);
237
263
 
238
264
  _$_.try(
239
- node_5,
265
+ node_7,
240
266
  (__anchor) => {
241
267
  let lazy_7 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.reject(new Error('fetch failed'))), __block, '99982de5');
242
- var p_5 = root_16();
268
+ var p_5 = root_18();
243
269
 
244
270
  {
245
271
  var expression_7 = _$_.child(p_5);
@@ -251,7 +277,7 @@ export function AsyncWithCatch() {
251
277
  _$_.append(__anchor, p_5);
252
278
  },
253
279
  (__anchor, e) => {
254
- var p_6 = root_17();
280
+ var p_6 = root_19();
255
281
 
256
282
  {
257
283
  var expression_8 = _$_.child(p_6);
@@ -263,26 +289,26 @@ export function AsyncWithCatch() {
263
289
  _$_.append(__anchor, p_6);
264
290
  },
265
291
  (__anchor) => {
266
- var p_7 = root_18();
292
+ var p_7 = root_20();
267
293
 
268
294
  _$_.append(__anchor, p_7);
269
295
  }
270
296
  );
271
297
 
272
- _$_.append(__anchor, fragment_5);
298
+ _$_.append(__anchor, fragment_7);
273
299
  });
274
300
  }
275
301
 
276
302
  export function ChildWithError() {
277
303
  return _$_.tsrx_element((__anchor, __block) => {
278
- var fragment_6 = root_19();
279
- var node_6 = _$_.first_child_frag(fragment_6);
304
+ var fragment_8 = root_21();
305
+ var node_8 = _$_.first_child_frag(fragment_8);
280
306
 
281
307
  _$_.try(
282
- node_6,
308
+ node_8,
283
309
  (__anchor) => {
284
310
  let lazy_8 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.reject(new Error('child error'))), __block, '1dea4c85');
285
- var p_8 = root_20();
311
+ var p_8 = root_22();
286
312
 
287
313
  {
288
314
  var expression_9 = _$_.child(p_8);
@@ -295,32 +321,32 @@ export function ChildWithError() {
295
321
  },
296
322
  null,
297
323
  (__anchor) => {
298
- var p_9 = root_21();
324
+ var p_9 = root_23();
299
325
 
300
326
  _$_.append(__anchor, p_9);
301
327
  }
302
328
  );
303
329
 
304
- _$_.append(__anchor, fragment_6);
330
+ _$_.append(__anchor, fragment_8);
305
331
  });
306
332
  }
307
333
 
308
334
  export function ParentWithCatch() {
309
335
  return _$_.tsrx_element((__anchor, __block) => {
310
- var fragment_7 = root_22();
311
- var node_7 = _$_.first_child_frag(fragment_7);
336
+ var fragment_9 = root_24();
337
+ var node_9 = _$_.first_child_frag(fragment_9);
312
338
 
313
339
  _$_.try(
314
- node_7,
340
+ node_9,
315
341
  (__anchor) => {
316
- var fragment_8 = root_23();
317
- var node_8 = _$_.first_child_frag(fragment_8);
342
+ var fragment_10 = root_25();
343
+ var node_10 = _$_.first_child_frag(fragment_10);
318
344
 
319
- _$_.render_component(ChildWithError, node_8, {});
320
- _$_.append(__anchor, fragment_8);
345
+ _$_.render_component(ChildWithError, node_10, {});
346
+ _$_.append(__anchor, fragment_10);
321
347
  },
322
348
  (__anchor, e) => {
323
- var p_10 = root_24();
349
+ var p_10 = root_26();
324
350
 
325
351
  {
326
352
  var expression_10 = _$_.child(p_10);
@@ -333,46 +359,68 @@ export function ParentWithCatch() {
333
359
  }
334
360
  );
335
361
 
336
- _$_.append(__anchor, fragment_7);
362
+ _$_.append(__anchor, fragment_9);
337
363
  });
338
364
  }
339
365
 
340
- export function AsyncWithReactiveDependency() {
366
+ function ReactiveDependencyResult({ count }) {
341
367
  return _$_.tsrx_element((__anchor, __block) => {
342
- let lazy_9 = _$_.track(0, __block, 'c9d12acf');
343
- var fragment_9 = root_25();
344
- var button_2 = _$_.first_child_frag(fragment_9);
368
+ let lazy_9 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(`count-${count.value}`)), __block, 'c9d12acf');
369
+ var p_11 = root_27();
345
370
 
346
- button_2.__click = () => {
347
- _$_.update(lazy_9);
348
- };
371
+ {
372
+ var expression_11 = _$_.child(p_11);
349
373
 
350
- var node_9 = _$_.sibling(button_2);
374
+ _$_.expression(expression_11, () => lazy_9.value);
375
+ _$_.pop(p_11);
376
+ }
351
377
 
352
- _$_.try(
353
- node_9,
354
- (__anchor) => {
355
- let lazy_10 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(`count-${lazy_9.value}`)), __block, 'cdd1adb8');
356
- var p_11 = root_26();
357
-
358
- {
359
- var expression_11 = _$_.child(p_11);
378
+ _$_.append(__anchor, p_11);
379
+ });
380
+ }
360
381
 
361
- _$_.expression(expression_11, () => lazy_10.value);
362
- _$_.pop(p_11);
382
+ export function AsyncWithReactiveDependency() {
383
+ return _$_.tsrx_element((__anchor, __block) => {
384
+ let lazy_10 = _$_.track(0, __block, 'cdd1adb8');
385
+ var fragment_11 = root_28();
386
+ var node_13 = _$_.first_child_frag(fragment_11);
387
+
388
+ _$_.expression(node_13, () => _$_.tsrx_element((__anchor, __block) => {
389
+ var fragment_12 = root_29();
390
+ var button_2 = _$_.first_child_frag(fragment_12);
391
+
392
+ button_2.__click = () => {
393
+ _$_.update(lazy_10);
394
+ };
395
+
396
+ var node_11 = _$_.sibling(button_2);
397
+
398
+ _$_.try(
399
+ node_11,
400
+ (__anchor) => {
401
+ var fragment_13 = root_30();
402
+ var node_12 = _$_.first_child_frag(fragment_13);
403
+
404
+ _$_.render_component(ReactiveDependencyResult, node_12, {
405
+ get count() {
406
+ return lazy_10;
407
+ }
408
+ });
409
+
410
+ _$_.append(__anchor, fragment_13);
411
+ },
412
+ null,
413
+ (__anchor) => {
414
+ var p_12 = root_31();
415
+
416
+ _$_.append(__anchor, p_12);
363
417
  }
418
+ );
364
419
 
365
- _$_.append(__anchor, p_11);
366
- },
367
- null,
368
- (__anchor) => {
369
- var p_12 = root_27();
370
-
371
- _$_.append(__anchor, p_12);
372
- }
373
- );
420
+ _$_.append(__anchor, fragment_12);
421
+ }));
374
422
 
375
- _$_.append(__anchor, fragment_9);
423
+ _$_.append(__anchor, fragment_11);
376
424
  });
377
425
  }
378
426
 
@@ -11,10 +11,11 @@ var root_7 = _$_.template(`<p class="loading">loading...</p>`, 0);
11
11
  var root_5 = _$_.template(`<!>`, 1, 1);
12
12
  var root_9 = _$_.template(`<li> </li>`, 0);
13
13
  var root_8 = _$_.template(`<ul class="items"></ul>`, 0);
14
- var root_11 = _$_.template(`<!>`, 1, 1);
15
- var root_12 = _$_.template(`<div class="loading">loading async content</div>`, 0);
16
- var root_10 = _$_.template(`<div class="before">before</div><!>`, 1, 2);
17
- var root_13 = _$_.template(`<div class="resolved"> </div>`, 0);
14
+ var root_12 = _$_.template(`<!>`, 1, 1);
15
+ var root_13 = _$_.template(`<div class="loading">loading async content</div>`, 0);
16
+ var root_11 = _$_.template(`<div class="before">before</div><!>`, 1, 2);
17
+ var root_10 = _$_.template(`<!>`, 1, 1);
18
+ var root_14 = _$_.template(`<div class="resolved"> </div>`, 0);
18
19
 
19
20
  import { trackAsync } from 'ripple';
20
21
 
@@ -151,25 +152,32 @@ function AsyncList() {
151
152
  export function AsyncTryWithLeadingSibling() {
152
153
  return _$_.tsrx_element((__anchor, __block) => {
153
154
  var fragment_3 = root_10();
154
- var div_1 = _$_.first_child_frag(fragment_3);
155
- var node_2 = _$_.sibling(div_1);
155
+ var node_4 = _$_.first_child_frag(fragment_3);
156
156
 
157
- _$_.try(
158
- node_2,
159
- (__anchor) => {
160
- var fragment_4 = root_11();
161
- var node_3 = _$_.first_child_frag(fragment_4);
157
+ _$_.expression(node_4, () => _$_.tsrx_element((__anchor, __block) => {
158
+ var fragment_4 = root_11();
159
+ var div_1 = _$_.first_child_frag(fragment_4);
160
+ var node_2 = _$_.sibling(div_1);
162
161
 
163
- _$_.render_component(AsyncContent, node_3, {});
164
- _$_.append(__anchor, fragment_4);
165
- },
166
- null,
167
- (__anchor) => {
168
- var div_2 = root_12();
162
+ _$_.try(
163
+ node_2,
164
+ (__anchor) => {
165
+ var fragment_5 = root_12();
166
+ var node_3 = _$_.first_child_frag(fragment_5);
169
167
 
170
- _$_.append(__anchor, div_2);
171
- }
172
- );
168
+ _$_.render_component(AsyncContent, node_3, {});
169
+ _$_.append(__anchor, fragment_5);
170
+ },
171
+ null,
172
+ (__anchor) => {
173
+ var div_2 = root_13();
174
+
175
+ _$_.append(__anchor, div_2);
176
+ }
177
+ );
178
+
179
+ _$_.append(__anchor, fragment_4);
180
+ }));
173
181
 
174
182
  _$_.append(__anchor, fragment_3);
175
183
  });
@@ -178,7 +186,7 @@ export function AsyncTryWithLeadingSibling() {
178
186
  function AsyncContent() {
179
187
  return _$_.tsrx_element((__anchor, __block) => {
180
188
  let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve('ready')), __block, '15ea8758');
181
- var div_3 = root_13();
189
+ var div_3 = root_14();
182
190
 
183
191
  {
184
192
  var expression_4 = _$_.child(div_3);