@@ -20,64 +20,63 @@ export function if_block(
20
20
elseif = false
21
21
) {
22
22
/** @type {import('#client').Effect | null } */
23
- let consequent_effect = null ;
23
+ var consequent_effect = null ;
24
24
25
25
/** @type {import('#client').Effect | null } */
26
- let alternate_effect = null ;
26
+ var alternate_effect = null ;
27
27
28
28
/** @type {boolean | null } */
29
- let condition = null ;
29
+ var condition = null ;
30
30
31
- block (
32
- ( ) => {
33
- if ( condition === ( condition = ! ! get_condition ( ) ) ) return ;
31
+ var flags = elseif ? EFFECT_TRANSPARENT : 0 ;
34
32
35
- /** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */
36
- let mismatch = false ;
33
+ block ( ( ) => {
34
+ if ( condition === ( condition = ! ! get_condition ( ) ) ) return ;
37
35
38
- if ( hydrating ) {
39
- const is_else = anchor . data === HYDRATION_END_ELSE ;
36
+ /** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */
37
+ let mismatch = false ;
40
38
41
- if ( condition === is_else ) {
42
- // Hydration mismatch: remove everything inside the anchor and start fresh.
43
- // This could happen with `{#if browser}...{/if}`, for example
44
- remove ( hydrate_nodes ) ;
45
- set_hydrating ( false ) ;
46
- mismatch = true ;
47
- }
48
- }
39
+ if ( hydrating ) {
40
+ const is_else = anchor . data === HYDRATION_END_ELSE ;
49
41
50
- if ( condition ) {
51
- if ( consequent_effect ) {
52
- resume_effect ( consequent_effect ) ;
53
- } else {
54
- consequent_effect = branch ( ( ) => consequent_fn ( anchor ) ) ;
55
- }
42
+ if ( condition === is_else ) {
43
+ // Hydration mismatch: remove everything inside the anchor and start fresh.
44
+ // This could happen with `{#if browser}...{/if}`, for example
45
+ remove ( hydrate_nodes ) ;
46
+ set_hydrating ( false ) ;
47
+ mismatch = true ;
48
+ }
49
+ }
56
50
57
- if ( alternate_effect ) {
58
- pause_effect ( alternate_effect , ( ) => {
59
- alternate_effect = null ;
60
- } ) ;
61
- }
51
+ if ( condition ) {
52
+ if ( consequent_effect ) {
53
+ resume_effect ( consequent_effect ) ;
62
54
} else {
63
- if ( alternate_effect ) {
64
- resume_effect ( alternate_effect ) ;
65
- } else if ( alternate_fn ) {
66
- alternate_effect = branch ( ( ) => alternate_fn ( anchor ) ) ;
67
- }
55
+ consequent_effect = branch ( ( ) => consequent_fn ( anchor ) ) ;
56
+ }
68
57
69
- if ( consequent_effect ) {
70
- pause_effect ( consequent_effect , ( ) => {
71
- consequent_effect = null ;
72
- } ) ;
73
- }
58
+ if ( alternate_effect ) {
59
+ pause_effect ( alternate_effect , ( ) => {
60
+ alternate_effect = null ;
61
+ } ) ;
62
+ }
63
+ } else {
64
+ if ( alternate_effect ) {
65
+ resume_effect ( alternate_effect ) ;
66
+ } else if ( alternate_fn ) {
67
+ alternate_effect = branch ( ( ) => alternate_fn ( anchor ) ) ;
74
68
}
75
69
76
- if ( mismatch ) {
77
- // continue in hydration mode
78
- set_hydrating ( true ) ;
70
+ if ( consequent_effect ) {
71
+ pause_effect ( consequent_effect , ( ) => {
72
+ consequent_effect = null ;
73
+ } ) ;
79
74
}
80
- } ,
81
- elseif ? EFFECT_TRANSPARENT : 0
82
- ) ;
75
+ }
76
+
77
+ if ( mismatch ) {
78
+ // continue in hydration mode
79
+ set_hydrating ( true ) ;
80
+ }
81
+ } , flags ) ;
83
82
}
0 commit comments