ripple 0.3.25 → 0.3.26
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.
- package/CHANGELOG.md +38 -0
- package/package.json +5 -5
- package/src/runtime/index-client.js +4 -0
- package/src/runtime/internal/client/hmr.js +1 -1
- package/src/runtime/internal/client/hydration.js +14 -0
- package/src/runtime/internal/client/runtime.js +127 -31
- package/src/runtime/internal/client/types.d.ts +3 -33
- package/src/runtime/internal/server/blocks.js +21 -1
- package/src/runtime/internal/server/index.js +299 -34
- package/src/runtime/internal/server/types.d.ts +3 -31
- package/src/runtime/reactive-value.js +1 -0
- package/src/utils/escaping.js +11 -0
- package/src/utils/track-async-serialization.js +9 -0
- package/tests/client/async-suspend.test.tsrx +11 -1
- package/tests/client/compiler/compiler.basic.test.tsrx +18 -3
- package/tests/client/track-async-hydration.test.tsrx +54 -0
- package/tests/hydration/compiled/client/basic.js +1 -1
- package/tests/hydration/compiled/client/events.js +8 -8
- package/tests/hydration/compiled/client/for.js +22 -24
- package/tests/hydration/compiled/client/head.js +6 -6
- package/tests/hydration/compiled/client/hmr.js +1 -1
- package/tests/hydration/compiled/client/html.js +1 -1
- package/tests/hydration/compiled/client/if-children.js +7 -7
- package/tests/hydration/compiled/client/if.js +5 -5
- package/tests/hydration/compiled/client/mixed-control-flow.js +4 -4
- package/tests/hydration/compiled/client/portal.js +1 -1
- package/tests/hydration/compiled/client/reactivity.js +9 -9
- package/tests/hydration/compiled/client/return.js +23 -23
- package/tests/hydration/compiled/client/switch.js +4 -4
- package/tests/hydration/compiled/client/track-async-serialization.js +390 -0
- package/tests/hydration/compiled/client/try.js +2 -2
- package/tests/hydration/compiled/server/basic.js +1 -1
- package/tests/hydration/compiled/server/events.js +8 -8
- package/tests/hydration/compiled/server/for.js +34 -28
- package/tests/hydration/compiled/server/head.js +6 -6
- package/tests/hydration/compiled/server/hmr.js +1 -1
- package/tests/hydration/compiled/server/html.js +1 -1
- package/tests/hydration/compiled/server/if-children.js +7 -7
- package/tests/hydration/compiled/server/if.js +5 -5
- package/tests/hydration/compiled/server/mixed-control-flow.js +4 -4
- package/tests/hydration/compiled/server/portal.js +1 -1
- package/tests/hydration/compiled/server/reactivity.js +9 -9
- package/tests/hydration/compiled/server/return.js +11 -11
- package/tests/hydration/compiled/server/switch.js +4 -4
- package/tests/hydration/compiled/server/track-async-serialization.js +502 -0
- package/tests/hydration/compiled/server/try.js +2 -2
- package/tests/hydration/components/track-async-serialization.tsrx +116 -0
- package/tests/hydration/track-async-serialization.test.js +127 -0
- package/tests/server/track-async-serialization.test.tsrx +185 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parse, compile, compile_to_volar_mappings } from '@tsrx/ripple';
|
|
2
|
-
import { obfuscateIdentifier } from '@tsrx/core';
|
|
3
2
|
import type * as AST from 'estree';
|
|
3
|
+
import type * as ESTreeJSX from 'estree-jsx';
|
|
4
4
|
|
|
5
5
|
function count_occurrences(string: string, subString: string): number {
|
|
6
6
|
let count = 0;
|
|
@@ -697,14 +697,14 @@ export component App() {
|
|
|
697
697
|
const ast = parse(source);
|
|
698
698
|
const comp = ast.body[0] as unknown as AST.Component;
|
|
699
699
|
const ul = comp.body.find((n) => n.type === 'Element') as AST.Element;
|
|
700
|
-
expect(ul.id.name).toBe('ul');
|
|
700
|
+
expect((ul.id as AST.Identifier).name).toBe('ul');
|
|
701
701
|
expect(ul.children).toHaveLength(1);
|
|
702
702
|
const decl = ul.children[0] as unknown as AST.VariableDeclaration;
|
|
703
703
|
expect(decl.type).toBe('VariableDeclaration');
|
|
704
704
|
expect(decl.kind).toBe('var');
|
|
705
705
|
expect((decl.declarations[0].id as AST.Identifier).name).toBe('a');
|
|
706
706
|
expect((decl.declarations[0].init as AST.Literal).value).toBe('123');
|
|
707
|
-
expect(ul.closingElement?.name?.name).toBe('ul');
|
|
707
|
+
expect((ul.closingElement?.name as ESTreeJSX.JSXIdentifier)?.name).toBe('ul');
|
|
708
708
|
},
|
|
709
709
|
);
|
|
710
710
|
|
|
@@ -725,4 +725,19 @@ export component App() {
|
|
|
725
725
|
|
|
726
726
|
expect(result).toContain('_$_.spread_props(');
|
|
727
727
|
});
|
|
728
|
+
|
|
729
|
+
it('parses less-than comparisons at line start in element children without whitespace', () => {
|
|
730
|
+
const source = `component TodoList({ items }: { items: { text: string }[] }) {
|
|
731
|
+
<ul>var a = 3
|
|
732
|
+
<4;</ul>
|
|
733
|
+
}`;
|
|
734
|
+
|
|
735
|
+
const ast = parse(source);
|
|
736
|
+
const comp = ast.body[0] as unknown as AST.Component;
|
|
737
|
+
const ul = comp.body.find((n) => n.type === 'Element') as AST.Element;
|
|
738
|
+
expect(ul.id.name).toBe('ul');
|
|
739
|
+
expect(ul.children.length).toBeGreaterThanOrEqual(1);
|
|
740
|
+
const decl = ul.children[0] as unknown as AST.VariableDeclaration;
|
|
741
|
+
expect(decl.type).toBe('VariableDeclaration');
|
|
742
|
+
});
|
|
728
743
|
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { trackAsync, flushSync, SUSPENSE_PENDING, peek } from 'ripple';
|
|
2
|
+
|
|
3
|
+
describe('trackAsync hydration from serialized data (client)', () => {
|
|
4
|
+
it('reads serialized data from script tag during hydration simulation', async () => {
|
|
5
|
+
// This test verifies the client runtime can parse the serialized script tags
|
|
6
|
+
// The full hydration round-trip is tested in hydration tests
|
|
7
|
+
|
|
8
|
+
component App() {
|
|
9
|
+
try {
|
|
10
|
+
let &[data] = trackAsync(() => Promise.resolve('fallback'));
|
|
11
|
+
<p class="result">{data}</p>
|
|
12
|
+
} pending {
|
|
13
|
+
<p class="loading">{'loading...'}</p>
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
render(App);
|
|
18
|
+
|
|
19
|
+
// Without hydration, this should go through normal async flow
|
|
20
|
+
// Need to wait for the pending state to render
|
|
21
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
22
|
+
flushSync();
|
|
23
|
+
|
|
24
|
+
// Promise resolves immediately so should show result
|
|
25
|
+
expect(container.querySelector('.result')?.textContent).toBe('fallback');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('trackAsync resolves normally when no script tag is present', async () => {
|
|
29
|
+
let resolve_fn: (value: number) => void;
|
|
30
|
+
const promise = new Promise<number>((r) => (resolve_fn = r));
|
|
31
|
+
|
|
32
|
+
component App() {
|
|
33
|
+
try {
|
|
34
|
+
let &[value] = trackAsync(() => promise);
|
|
35
|
+
<span class="value">{value}</span>
|
|
36
|
+
} pending {
|
|
37
|
+
<span class="pending">{'waiting'}</span>
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
render(App);
|
|
42
|
+
|
|
43
|
+
await new Promise((r) => setTimeout(r, 0));
|
|
44
|
+
flushSync();
|
|
45
|
+
|
|
46
|
+
expect(container.querySelector('.pending')?.textContent).toBe('waiting');
|
|
47
|
+
|
|
48
|
+
resolve_fn!(42);
|
|
49
|
+
await new Promise((r) => setTimeout(r, 0));
|
|
50
|
+
flushSync();
|
|
51
|
+
|
|
52
|
+
expect(container.querySelector('.value')?.textContent).toBe('42');
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -202,7 +202,7 @@ function TextProp(__anchor, __props, __block) {
|
|
|
202
202
|
export function TextPropWithToggle(__anchor, _, __block) {
|
|
203
203
|
_$_.push_component();
|
|
204
204
|
|
|
205
|
-
let lazy = _$_.track(false,
|
|
205
|
+
let lazy = _$_.track(false, __block, 'b5de6402');
|
|
206
206
|
var fragment_5 = root_13();
|
|
207
207
|
var node_4 = _$_.first_child_frag(fragment_5);
|
|
208
208
|
|
|
@@ -14,7 +14,7 @@ import { track } from 'ripple';
|
|
|
14
14
|
export function ClickCounter(__anchor, _, __block) {
|
|
15
15
|
_$_.push_component();
|
|
16
16
|
|
|
17
|
-
let lazy = _$_.track(0,
|
|
17
|
+
let lazy = _$_.track(0, __block, 'a070e3a7');
|
|
18
18
|
var div_1 = root();
|
|
19
19
|
|
|
20
20
|
{
|
|
@@ -41,7 +41,7 @@ export function ClickCounter(__anchor, _, __block) {
|
|
|
41
41
|
export function IncrementDecrement(__anchor, _, __block) {
|
|
42
42
|
_$_.push_component();
|
|
43
43
|
|
|
44
|
-
let lazy_1 = _$_.track(0,
|
|
44
|
+
let lazy_1 = _$_.track(0, __block, '87fcabdd');
|
|
45
45
|
var div_2 = root_1();
|
|
46
46
|
|
|
47
47
|
{
|
|
@@ -74,8 +74,8 @@ export function IncrementDecrement(__anchor, _, __block) {
|
|
|
74
74
|
export function MultipleEvents(__anchor, _, __block) {
|
|
75
75
|
_$_.push_component();
|
|
76
76
|
|
|
77
|
-
let lazy_2 = _$_.track(0,
|
|
78
|
-
let lazy_3 = _$_.track(0,
|
|
77
|
+
let lazy_2 = _$_.track(0, __block, '41b9f0b0');
|
|
78
|
+
let lazy_3 = _$_.track(0, __block, '72789f75');
|
|
79
79
|
var div_3 = root_2();
|
|
80
80
|
|
|
81
81
|
{
|
|
@@ -115,8 +115,8 @@ export function MultipleEvents(__anchor, _, __block) {
|
|
|
115
115
|
export function MultiStateUpdate(__anchor, _, __block) {
|
|
116
116
|
_$_.push_component();
|
|
117
117
|
|
|
118
|
-
let lazy_4 = _$_.track(0,
|
|
119
|
-
let lazy_5 = _$_.track('none',
|
|
118
|
+
let lazy_4 = _$_.track(0, __block, '5a375160');
|
|
119
|
+
let lazy_5 = _$_.track('none', __block, '3ceeb88c');
|
|
120
120
|
|
|
121
121
|
const handleClick = () => {
|
|
122
122
|
_$_.update(lazy_4);
|
|
@@ -156,7 +156,7 @@ export function MultiStateUpdate(__anchor, _, __block) {
|
|
|
156
156
|
export function ToggleButton(__anchor, _, __block) {
|
|
157
157
|
_$_.push_component();
|
|
158
158
|
|
|
159
|
-
let lazy_6 = _$_.track(false,
|
|
159
|
+
let lazy_6 = _$_.track(false, __block, 'be823ec7');
|
|
160
160
|
var div_5 = root_4();
|
|
161
161
|
|
|
162
162
|
{
|
|
@@ -199,7 +199,7 @@ export function ChildButton(__anchor, props, __block) {
|
|
|
199
199
|
export function ParentWithChildButton(__anchor, _, __block) {
|
|
200
200
|
_$_.push_component();
|
|
201
201
|
|
|
202
|
-
let lazy_7 = _$_.track(0,
|
|
202
|
+
let lazy_7 = _$_.track(0, __block, 'dcc2e0f9');
|
|
203
203
|
var div_6 = root_6();
|
|
204
204
|
|
|
205
205
|
{
|
|
@@ -171,7 +171,7 @@ export function KeyedForLoop(__anchor, _, __block) {
|
|
|
171
171
|
export function ReactiveForLoopAdd(__anchor, _, __block) {
|
|
172
172
|
_$_.push_component();
|
|
173
173
|
|
|
174
|
-
let lazy = _$_.track(['A', 'B'],
|
|
174
|
+
let lazy = _$_.track(['A', 'B'], __block, 'e145678a');
|
|
175
175
|
var fragment = root_6();
|
|
176
176
|
var button_1 = _$_.first_child_frag(fragment);
|
|
177
177
|
|
|
@@ -211,7 +211,7 @@ export function ReactiveForLoopAdd(__anchor, _, __block) {
|
|
|
211
211
|
export function ReactiveForLoopRemove(__anchor, _, __block) {
|
|
212
212
|
_$_.push_component();
|
|
213
213
|
|
|
214
|
-
let lazy_1 = _$_.track(['A', 'B', 'C'],
|
|
214
|
+
let lazy_1 = _$_.track(['A', 'B', 'C'], __block, 'b4e9bd54');
|
|
215
215
|
var fragment_1 = root_8();
|
|
216
216
|
var button_2 = _$_.first_child_frag(fragment_1);
|
|
217
217
|
|
|
@@ -251,7 +251,7 @@ export function ReactiveForLoopRemove(__anchor, _, __block) {
|
|
|
251
251
|
export function ForLoopInteractive(__anchor, _, __block) {
|
|
252
252
|
_$_.push_component();
|
|
253
253
|
|
|
254
|
-
let lazy_2 = _$_.track([0, 0, 0],
|
|
254
|
+
let lazy_2 = _$_.track([0, 0, 0], __block, '36f563df');
|
|
255
255
|
var div_1 = root_10();
|
|
256
256
|
|
|
257
257
|
{
|
|
@@ -447,9 +447,8 @@ export function KeyedForLoopReorder(__anchor, _, __block) {
|
|
|
447
447
|
{ id: 2, name: 'Second' },
|
|
448
448
|
{ id: 3, name: 'Third' }
|
|
449
449
|
],
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
__block
|
|
450
|
+
__block,
|
|
451
|
+
'e7abc6a3'
|
|
453
452
|
);
|
|
454
453
|
|
|
455
454
|
var fragment_2 = root_19();
|
|
@@ -496,7 +495,7 @@ export function KeyedForLoopReorder(__anchor, _, __block) {
|
|
|
496
495
|
export function KeyedForLoopUpdate(__anchor, _, __block) {
|
|
497
496
|
_$_.push_component();
|
|
498
497
|
|
|
499
|
-
let lazy_4 = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }],
|
|
498
|
+
let lazy_4 = _$_.track([{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }], __block, '7a2c2ada');
|
|
500
499
|
var fragment_3 = root_21();
|
|
501
500
|
var button_5 = _$_.first_child_frag(fragment_3);
|
|
502
501
|
|
|
@@ -541,7 +540,7 @@ export function KeyedForLoopUpdate(__anchor, _, __block) {
|
|
|
541
540
|
export function ForLoopMixedOperations(__anchor, _, __block) {
|
|
542
541
|
_$_.push_component();
|
|
543
542
|
|
|
544
|
-
let lazy_5 = _$_.track(['A', 'B', 'C', 'D'],
|
|
543
|
+
let lazy_5 = _$_.track(['A', 'B', 'C', 'D'], __block, '3dd7c7b6');
|
|
545
544
|
var fragment_4 = root_23();
|
|
546
545
|
var button_6 = _$_.first_child_frag(fragment_4);
|
|
547
546
|
|
|
@@ -583,8 +582,8 @@ export function ForLoopMixedOperations(__anchor, _, __block) {
|
|
|
583
582
|
export function ForLoopInsideIf(__anchor, _, __block) {
|
|
584
583
|
_$_.push_component();
|
|
585
584
|
|
|
586
|
-
let lazy_6 = _$_.track(true,
|
|
587
|
-
let lazy_7 = _$_.track(['X', 'Y', 'Z'],
|
|
585
|
+
let lazy_6 = _$_.track(true, __block, '0528df30');
|
|
586
|
+
let lazy_7 = _$_.track(['X', 'Y', 'Z'], __block, 'bf375103');
|
|
588
587
|
var fragment_5 = root_25();
|
|
589
588
|
var button_7 = _$_.first_child_frag(fragment_5);
|
|
590
589
|
|
|
@@ -641,7 +640,7 @@ export function ForLoopInsideIf(__anchor, _, __block) {
|
|
|
641
640
|
export function ForLoopEmptyToPopulated(__anchor, _, __block) {
|
|
642
641
|
_$_.push_component();
|
|
643
642
|
|
|
644
|
-
let lazy_8 = _$_.track([],
|
|
643
|
+
let lazy_8 = _$_.track([], __block, '525c5dbc');
|
|
645
644
|
var fragment_6 = root_28();
|
|
646
645
|
var button_9 = _$_.first_child_frag(fragment_6);
|
|
647
646
|
|
|
@@ -681,7 +680,7 @@ export function ForLoopEmptyToPopulated(__anchor, _, __block) {
|
|
|
681
680
|
export function ForLoopPopulatedToEmpty(__anchor, _, __block) {
|
|
682
681
|
_$_.push_component();
|
|
683
682
|
|
|
684
|
-
let lazy_9 = _$_.track(['One', 'Two', 'Three'],
|
|
683
|
+
let lazy_9 = _$_.track(['One', 'Two', 'Three'], __block, 'ee47f078');
|
|
685
684
|
var fragment_7 = root_30();
|
|
686
685
|
var button_10 = _$_.first_child_frag(fragment_7);
|
|
687
686
|
|
|
@@ -721,7 +720,7 @@ export function ForLoopPopulatedToEmpty(__anchor, _, __block) {
|
|
|
721
720
|
export function NestedForLoopReactive(__anchor, _, __block) {
|
|
722
721
|
_$_.push_component();
|
|
723
722
|
|
|
724
|
-
let lazy_10 = _$_.track([[1, 2], [3, 4]],
|
|
723
|
+
let lazy_10 = _$_.track([[1, 2], [3, 4]], __block, 'a2f41fb3');
|
|
725
724
|
var fragment_8 = root_32();
|
|
726
725
|
var button_11 = _$_.first_child_frag(fragment_8);
|
|
727
726
|
|
|
@@ -905,7 +904,7 @@ export function ForLoopDeeplyNested(__anchor, _, __block) {
|
|
|
905
904
|
export function ForLoopIndexUpdate(__anchor, _, __block) {
|
|
906
905
|
_$_.push_component();
|
|
907
906
|
|
|
908
|
-
let lazy_11 = _$_.track(['First', 'Second', 'Third'],
|
|
907
|
+
let lazy_11 = _$_.track(['First', 'Second', 'Third'], __block, 'f61e31e6');
|
|
909
908
|
var fragment_9 = root_39();
|
|
910
909
|
var button_13 = _$_.first_child_frag(fragment_9);
|
|
911
910
|
|
|
@@ -955,9 +954,8 @@ export function KeyedForLoopWithIndex(__anchor, _, __block) {
|
|
|
955
954
|
{ id: 'b', value: 'Beta' },
|
|
956
955
|
{ id: 'c', value: 'Gamma' }
|
|
957
956
|
],
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
__block
|
|
957
|
+
__block,
|
|
958
|
+
'3467975a'
|
|
961
959
|
);
|
|
962
960
|
|
|
963
961
|
var fragment_10 = root_41();
|
|
@@ -1021,7 +1019,7 @@ export function KeyedForLoopWithIndex(__anchor, _, __block) {
|
|
|
1021
1019
|
export function ForLoopWithSiblings(__anchor, _, __block) {
|
|
1022
1020
|
_$_.push_component();
|
|
1023
1021
|
|
|
1024
|
-
let lazy_13 = _$_.track(['A', 'B'],
|
|
1022
|
+
let lazy_13 = _$_.track(['A', 'B'], __block, '3c7e8152');
|
|
1025
1023
|
var fragment_11 = root_43();
|
|
1026
1024
|
var div_13 = _$_.first_child_frag(fragment_11);
|
|
1027
1025
|
|
|
@@ -1112,7 +1110,7 @@ export function ForLoopItemState(__anchor, _, __block) {
|
|
|
1112
1110
|
function TodoItem(__anchor, props, __block) {
|
|
1113
1111
|
_$_.push_component();
|
|
1114
1112
|
|
|
1115
|
-
let lazy_14 = _$_.track(false,
|
|
1113
|
+
let lazy_14 = _$_.track(false, __block, '4f2402a4');
|
|
1116
1114
|
var div_16 = root_47();
|
|
1117
1115
|
|
|
1118
1116
|
{
|
|
@@ -1194,7 +1192,7 @@ export function ForLoopSingleItem(__anchor, _, __block) {
|
|
|
1194
1192
|
export function ForLoopAddAtBeginning(__anchor, _, __block) {
|
|
1195
1193
|
_$_.push_component();
|
|
1196
1194
|
|
|
1197
|
-
let lazy_15 = _$_.track(['B', 'C'],
|
|
1195
|
+
let lazy_15 = _$_.track(['B', 'C'], __block, '1561403a');
|
|
1198
1196
|
var fragment_13 = root_50();
|
|
1199
1197
|
var button_16 = _$_.first_child_frag(fragment_13);
|
|
1200
1198
|
|
|
@@ -1236,7 +1234,7 @@ export function ForLoopAddAtBeginning(__anchor, _, __block) {
|
|
|
1236
1234
|
export function ForLoopAddInMiddle(__anchor, _, __block) {
|
|
1237
1235
|
_$_.push_component();
|
|
1238
1236
|
|
|
1239
|
-
let lazy_16 = _$_.track(['A', 'C'],
|
|
1237
|
+
let lazy_16 = _$_.track(['A', 'C'], __block, '1bc60b46');
|
|
1240
1238
|
var fragment_14 = root_52();
|
|
1241
1239
|
var button_17 = _$_.first_child_frag(fragment_14);
|
|
1242
1240
|
|
|
@@ -1281,7 +1279,7 @@ export function ForLoopAddInMiddle(__anchor, _, __block) {
|
|
|
1281
1279
|
export function ForLoopRemoveFromMiddle(__anchor, _, __block) {
|
|
1282
1280
|
_$_.push_component();
|
|
1283
1281
|
|
|
1284
|
-
let lazy_17 = _$_.track(['A', 'B', 'C'],
|
|
1282
|
+
let lazy_17 = _$_.track(['A', 'B', 'C'], __block, '1c87f95f');
|
|
1285
1283
|
var fragment_15 = root_54();
|
|
1286
1284
|
var button_18 = _$_.first_child_frag(fragment_15);
|
|
1287
1285
|
|
|
@@ -1359,7 +1357,7 @@ export function ForLoopLargeList(__anchor, _, __block) {
|
|
|
1359
1357
|
export function ForLoopSwap(__anchor, _, __block) {
|
|
1360
1358
|
_$_.push_component();
|
|
1361
1359
|
|
|
1362
|
-
let lazy_18 = _$_.track(['A', 'B', 'C', 'D'],
|
|
1360
|
+
let lazy_18 = _$_.track(['A', 'B', 'C', 'D'], __block, '5f8d152f');
|
|
1363
1361
|
var fragment_16 = root_58();
|
|
1364
1362
|
var button_19 = _$_.first_child_frag(fragment_16);
|
|
1365
1363
|
|
|
@@ -1404,7 +1402,7 @@ export function ForLoopSwap(__anchor, _, __block) {
|
|
|
1404
1402
|
export function ForLoopReverse(__anchor, _, __block) {
|
|
1405
1403
|
_$_.push_component();
|
|
1406
1404
|
|
|
1407
|
-
let lazy_19 = _$_.track(['A', 'B', 'C', 'D'],
|
|
1405
|
+
let lazy_19 = _$_.track(['A', 'B', 'C', 'D'], __block, '24602e64');
|
|
1408
1406
|
var fragment_17 = root_60();
|
|
1409
1407
|
var button_20 = _$_.first_child_frag(fragment_17);
|
|
1410
1408
|
|
|
@@ -33,7 +33,7 @@ export function StaticTitle(__anchor, _, __block) {
|
|
|
33
33
|
export function ReactiveTitle(__anchor, _, __block) {
|
|
34
34
|
_$_.push_component();
|
|
35
35
|
|
|
36
|
-
let lazy = _$_.track('Initial Title',
|
|
36
|
+
let lazy = _$_.track('Initial Title', __block, 'cbca63e3');
|
|
37
37
|
var div_2 = root_1();
|
|
38
38
|
|
|
39
39
|
{
|
|
@@ -77,7 +77,7 @@ export function MultipleHeadElements(__anchor, _, __block) {
|
|
|
77
77
|
export function ReactiveMetaTags(__anchor, _, __block) {
|
|
78
78
|
_$_.push_component();
|
|
79
79
|
|
|
80
|
-
let lazy_1 = _$_.track('Initial description',
|
|
80
|
+
let lazy_1 = _$_.track('Initial description', __block, '38bfa3b2');
|
|
81
81
|
var div_4 = root_4();
|
|
82
82
|
|
|
83
83
|
{
|
|
@@ -102,7 +102,7 @@ export function ReactiveMetaTags(__anchor, _, __block) {
|
|
|
102
102
|
export function TitleWithTemplate(__anchor, _, __block) {
|
|
103
103
|
_$_.push_component();
|
|
104
104
|
|
|
105
|
-
let lazy_2 = _$_.track('World',
|
|
105
|
+
let lazy_2 = _$_.track('World', __block, 'f3925cd5');
|
|
106
106
|
var div_5 = root_6();
|
|
107
107
|
|
|
108
108
|
{
|
|
@@ -138,8 +138,8 @@ export function EmptyTitle(__anchor, _, __block) {
|
|
|
138
138
|
export function ConditionalTitle(__anchor, _, __block) {
|
|
139
139
|
_$_.push_component();
|
|
140
140
|
|
|
141
|
-
let lazy_3 = _$_.track(true,
|
|
142
|
-
let lazy_4 = _$_.track('Main Page',
|
|
141
|
+
let lazy_3 = _$_.track(true, __block, 'ff71bf1f');
|
|
142
|
+
let lazy_4 = _$_.track('Main Page', __block, '7cd7d671');
|
|
143
143
|
var div_7 = root_8();
|
|
144
144
|
|
|
145
145
|
{
|
|
@@ -162,7 +162,7 @@ export function ConditionalTitle(__anchor, _, __block) {
|
|
|
162
162
|
export function ComputedTitle(__anchor, _, __block) {
|
|
163
163
|
_$_.push_component();
|
|
164
164
|
|
|
165
|
-
let lazy_5 = _$_.track(0,
|
|
165
|
+
let lazy_5 = _$_.track(0, __block, 'b6a48610');
|
|
166
166
|
let prefix = 'Count: ';
|
|
167
167
|
var div_8 = root_9();
|
|
168
168
|
|
|
@@ -33,7 +33,7 @@ export function Layout(__anchor, { children }, __block) {
|
|
|
33
33
|
export function Content(__anchor, _, __block) {
|
|
34
34
|
_$_.push_component();
|
|
35
35
|
|
|
36
|
-
let lazy = _$_.track(true,
|
|
36
|
+
let lazy = _$_.track(true, __block, '0bdb1500');
|
|
37
37
|
var div_2 = root_1();
|
|
38
38
|
|
|
39
39
|
{
|
|
@@ -862,7 +862,7 @@ function NavItem(__anchor, { href, text: label, active = false }, __block) {
|
|
|
862
862
|
function SidebarSection(__anchor, { title, children }, __block) {
|
|
863
863
|
_$_.push_component();
|
|
864
864
|
|
|
865
|
-
let lazy = _$_.track(true,
|
|
865
|
+
let lazy = _$_.track(true, __block, '6ac6906f');
|
|
866
866
|
var section_2 = root_38();
|
|
867
867
|
|
|
868
868
|
{
|
|
@@ -27,7 +27,7 @@ import { track } from 'ripple';
|
|
|
27
27
|
export function IfWithChildren(__anchor, { children }, __block) {
|
|
28
28
|
_$_.push_component();
|
|
29
29
|
|
|
30
|
-
let lazy = _$_.track(true,
|
|
30
|
+
let lazy = _$_.track(true, __block, 'c64714b1');
|
|
31
31
|
var div_1 = root();
|
|
32
32
|
|
|
33
33
|
{
|
|
@@ -110,7 +110,7 @@ export function TestIfWithChildren(__anchor, _, __block) {
|
|
|
110
110
|
export function IfWithStaticChildren(__anchor, _, __block) {
|
|
111
111
|
_$_.push_component();
|
|
112
112
|
|
|
113
|
-
let lazy_1 = _$_.track(true,
|
|
113
|
+
let lazy_1 = _$_.track(true, __block, '3bba8f77');
|
|
114
114
|
var div_5 = root_5();
|
|
115
115
|
|
|
116
116
|
{
|
|
@@ -142,7 +142,7 @@ export function IfWithStaticChildren(__anchor, _, __block) {
|
|
|
142
142
|
export function IfWithSiblingsAndChildren(__anchor, { children }, __block) {
|
|
143
143
|
_$_.push_component();
|
|
144
144
|
|
|
145
|
-
let lazy_2 = _$_.track(true,
|
|
145
|
+
let lazy_2 = _$_.track(true, __block, 'a1b8fb4c');
|
|
146
146
|
var section_1 = root_7();
|
|
147
147
|
|
|
148
148
|
{
|
|
@@ -210,7 +210,7 @@ export function TestIfWithSiblingsAndChildren(__anchor, _, __block) {
|
|
|
210
210
|
export function ElementWithChildrenThenIf(__anchor, _, __block) {
|
|
211
211
|
_$_.push_component();
|
|
212
212
|
|
|
213
|
-
let lazy_3 = _$_.track(true,
|
|
213
|
+
let lazy_3 = _$_.track(true, __block, '7cd4817b');
|
|
214
214
|
var fragment_4 = root_11();
|
|
215
215
|
var div_11 = _$_.first_child_frag(fragment_4);
|
|
216
216
|
|
|
@@ -247,7 +247,7 @@ export function ElementWithChildrenThenIf(__anchor, _, __block) {
|
|
|
247
247
|
export function DeepNestingThenIf(__anchor, _, __block) {
|
|
248
248
|
_$_.push_component();
|
|
249
249
|
|
|
250
|
-
let lazy_4 = _$_.track(true,
|
|
250
|
+
let lazy_4 = _$_.track(true, __block, '923116be');
|
|
251
251
|
var fragment_5 = root_13();
|
|
252
252
|
var section_2 = _$_.first_child_frag(fragment_5);
|
|
253
253
|
|
|
@@ -284,7 +284,7 @@ export function DeepNestingThenIf(__anchor, _, __block) {
|
|
|
284
284
|
export function DomElementChildrenThenSibling(__anchor, _, __block) {
|
|
285
285
|
_$_.push_component();
|
|
286
286
|
|
|
287
|
-
let lazy_5 = _$_.track('code',
|
|
287
|
+
let lazy_5 = _$_.track('code', __block, '33a1e97f');
|
|
288
288
|
var div_13 = root_15();
|
|
289
289
|
|
|
290
290
|
{
|
|
@@ -353,7 +353,7 @@ export function DomElementChildrenThenSibling(__anchor, _, __block) {
|
|
|
353
353
|
export function DomChildrenThenStaticSiblings(__anchor, _, __block) {
|
|
354
354
|
_$_.push_component();
|
|
355
355
|
|
|
356
|
-
let lazy_6 = _$_.track(0,
|
|
356
|
+
let lazy_6 = _$_.track(0, __block, '0ea64305');
|
|
357
357
|
var fragment_6 = root_18();
|
|
358
358
|
var div_17 = _$_.first_child_frag(fragment_6);
|
|
359
359
|
|
|
@@ -102,7 +102,7 @@ export function IfElse(__anchor, _, __block) {
|
|
|
102
102
|
export function ReactiveIf(__anchor, _, __block) {
|
|
103
103
|
_$_.push_component();
|
|
104
104
|
|
|
105
|
-
let lazy = _$_.track(true,
|
|
105
|
+
let lazy = _$_.track(true, __block, '19a16ff0');
|
|
106
106
|
var fragment_3 = root_7();
|
|
107
107
|
var button_1 = _$_.first_child_frag(fragment_3);
|
|
108
108
|
|
|
@@ -131,7 +131,7 @@ export function ReactiveIf(__anchor, _, __block) {
|
|
|
131
131
|
export function ReactiveIfElse(__anchor, _, __block) {
|
|
132
132
|
_$_.push_component();
|
|
133
133
|
|
|
134
|
-
let lazy_1 = _$_.track(false,
|
|
134
|
+
let lazy_1 = _$_.track(false, __block, '41177f39');
|
|
135
135
|
var fragment_4 = root_9();
|
|
136
136
|
var button_2 = _$_.first_child_frag(fragment_4);
|
|
137
137
|
|
|
@@ -166,8 +166,8 @@ export function ReactiveIfElse(__anchor, _, __block) {
|
|
|
166
166
|
export function NestedIf(__anchor, _, __block) {
|
|
167
167
|
_$_.push_component();
|
|
168
168
|
|
|
169
|
-
let lazy_2 = _$_.track(true,
|
|
170
|
-
let lazy_3 = _$_.track(true,
|
|
169
|
+
let lazy_2 = _$_.track(true, __block, '7894e1df');
|
|
170
|
+
let lazy_3 = _$_.track(true, __block, 'f21b8c26');
|
|
171
171
|
var fragment_5 = root_12();
|
|
172
172
|
var button_3 = _$_.first_child_frag(fragment_5);
|
|
173
173
|
|
|
@@ -221,7 +221,7 @@ export function NestedIf(__anchor, _, __block) {
|
|
|
221
221
|
export function IfElseIfChain(__anchor, _, __block) {
|
|
222
222
|
_$_.push_component();
|
|
223
223
|
|
|
224
|
-
let lazy_4 = _$_.track('loading',
|
|
224
|
+
let lazy_4 = _$_.track('loading', __block, '4c69c94a');
|
|
225
225
|
var div_9 = root_15();
|
|
226
226
|
|
|
227
227
|
{
|
|
@@ -168,9 +168,9 @@ export function MixedControlFlowStatic(__anchor, _, __block) {
|
|
|
168
168
|
export function MixedControlFlowReactive(__anchor, _, __block) {
|
|
169
169
|
_$_.push_component();
|
|
170
170
|
|
|
171
|
-
let lazy = _$_.track(true,
|
|
172
|
-
let lazy_1 = _$_.track('a',
|
|
173
|
-
let lazy_2 = _$_.track([{ id: 1, label: 'One' }, { id: 2, label: 'Two' }],
|
|
171
|
+
let lazy = _$_.track(true, __block, '5ae53d26');
|
|
172
|
+
let lazy_1 = _$_.track('a', __block, '5b53eda2');
|
|
173
|
+
let lazy_2 = _$_.track([{ id: 1, label: 'One' }, { id: 2, label: 'Two' }], __block, '7890dad6');
|
|
174
174
|
var fragment_4 = root_9();
|
|
175
175
|
var button_1 = _$_.first_child_frag(fragment_4);
|
|
176
176
|
|
|
@@ -403,7 +403,7 @@ export function MixedControlFlowAsyncPending(__anchor, _, __block) {
|
|
|
403
403
|
function AsyncRow(__anchor, { label }, __block) {
|
|
404
404
|
_$_.push_component();
|
|
405
405
|
|
|
406
|
-
let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(label)), __block);
|
|
406
|
+
let lazy_3 = _$_.track_async(() => _$_.with_scope(__block, () => Promise.resolve(label)), __block, '10cc79a0');
|
|
407
407
|
var div_9 = root_25();
|
|
408
408
|
|
|
409
409
|
{
|
|
@@ -48,7 +48,7 @@ export function SimplePortal(__anchor, _, __block) {
|
|
|
48
48
|
export function ConditionalPortal(__anchor, _, __block) {
|
|
49
49
|
_$_.push_component();
|
|
50
50
|
|
|
51
|
-
let lazy = _$_.track(true,
|
|
51
|
+
let lazy = _$_.track(true, __block, '4f6df174');
|
|
52
52
|
var div_3 = root_2();
|
|
53
53
|
|
|
54
54
|
{
|
|
@@ -13,7 +13,7 @@ import { track } from 'ripple';
|
|
|
13
13
|
export function TrackedState(__anchor, _, __block) {
|
|
14
14
|
_$_.push_component();
|
|
15
15
|
|
|
16
|
-
let lazy = _$_.track(0,
|
|
16
|
+
let lazy = _$_.track(0, __block, 'c1818584');
|
|
17
17
|
var div_1 = root();
|
|
18
18
|
|
|
19
19
|
{
|
|
@@ -30,7 +30,7 @@ export function TrackedState(__anchor, _, __block) {
|
|
|
30
30
|
export function CounterWithInitial(__anchor, props, __block) {
|
|
31
31
|
_$_.push_component();
|
|
32
32
|
|
|
33
|
-
let lazy_1 = _$_.track(props.initial,
|
|
33
|
+
let lazy_1 = _$_.track(props.initial, __block, '03ea4348');
|
|
34
34
|
var div_2 = root_1();
|
|
35
35
|
|
|
36
36
|
{
|
|
@@ -62,8 +62,8 @@ export function CounterWrapper(__anchor, _, __block) {
|
|
|
62
62
|
export function ComputedValues(__anchor, _, __block) {
|
|
63
63
|
_$_.push_component();
|
|
64
64
|
|
|
65
|
-
let lazy_2 = _$_.track(2,
|
|
66
|
-
let lazy_3 = _$_.track(3,
|
|
65
|
+
let lazy_2 = _$_.track(2, __block, 'b78281db');
|
|
66
|
+
let lazy_3 = _$_.track(3, __block, 'a0cf6c6d');
|
|
67
67
|
const sum = () => _$_.get(lazy_2) + _$_.get(lazy_3);
|
|
68
68
|
var div_3 = root_3();
|
|
69
69
|
|
|
@@ -81,9 +81,9 @@ export function ComputedValues(__anchor, _, __block) {
|
|
|
81
81
|
export function MultipleTracked(__anchor, _, __block) {
|
|
82
82
|
_$_.push_component();
|
|
83
83
|
|
|
84
|
-
let lazy_4 = _$_.track(10,
|
|
85
|
-
let lazy_5 = _$_.track(20,
|
|
86
|
-
let lazy_6 = _$_.track(30,
|
|
84
|
+
let lazy_4 = _$_.track(10, __block, '843522de');
|
|
85
|
+
let lazy_5 = _$_.track(20, __block, '1308996d');
|
|
86
|
+
let lazy_6 = _$_.track(30, __block, '048c3fd0');
|
|
87
87
|
var fragment_1 = root_4();
|
|
88
88
|
var div_4 = _$_.first_child_frag(fragment_1);
|
|
89
89
|
|
|
@@ -120,8 +120,8 @@ export function MultipleTracked(__anchor, _, __block) {
|
|
|
120
120
|
export function DerivedState(__anchor, _, __block) {
|
|
121
121
|
_$_.push_component();
|
|
122
122
|
|
|
123
|
-
let lazy_7 = _$_.track('John',
|
|
124
|
-
let lazy_8 = _$_.track('Doe',
|
|
123
|
+
let lazy_7 = _$_.track('John', __block, '6015eeca');
|
|
124
|
+
let lazy_8 = _$_.track('Doe', __block, '4fa9a20e');
|
|
125
125
|
const fullName = () => `${_$_.get(lazy_7)} ${_$_.get(lazy_8)}`;
|
|
126
126
|
var div_7 = root_5();
|
|
127
127
|
|