svelte 5.40.1 → 5.41.0
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/compiler/index.js +1 -1
- package/package.json +1 -1
- package/src/compiler/errors.js +11 -2
- package/src/compiler/phases/2-analyze/visitors/CallExpression.js +7 -0
- package/src/compiler/phases/2-analyze/visitors/EachBlock.js +4 -0
- package/src/compiler/phases/3-transform/client/visitors/CallExpression.js +6 -0
- package/src/compiler/phases/3-transform/server/visitors/CallExpression.js +4 -0
- package/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js +1 -1
- package/src/internal/client/dom/elements/bindings/select.js +21 -0
- package/src/internal/client/index.js +1 -1
- package/src/internal/client/reactivity/batch.js +66 -24
- package/src/utils.js +1 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
package/src/compiler/errors.js
CHANGED
|
@@ -986,13 +986,13 @@ export function const_tag_invalid_placement(node) {
|
|
|
986
986
|
}
|
|
987
987
|
|
|
988
988
|
/**
|
|
989
|
-
* The `{@const %name% = ...}` declaration is not available in this snippet
|
|
989
|
+
* The `{@const %name% = ...}` declaration is not available in this snippet
|
|
990
990
|
* @param {null | number | NodeLike} node
|
|
991
991
|
* @param {string} name
|
|
992
992
|
* @returns {never}
|
|
993
993
|
*/
|
|
994
994
|
export function const_tag_invalid_reference(node, name) {
|
|
995
|
-
e(node, 'const_tag_invalid_reference', `The \`{@const ${name} = ...}\` declaration is not available in this snippet
|
|
995
|
+
e(node, 'const_tag_invalid_reference', `The \`{@const ${name} = ...}\` declaration is not available in this snippet\nhttps://svelte.dev/e/const_tag_invalid_reference`);
|
|
996
996
|
}
|
|
997
997
|
|
|
998
998
|
/**
|
|
@@ -1023,6 +1023,15 @@ export function directive_missing_name(node, type) {
|
|
|
1023
1023
|
e(node, 'directive_missing_name', `\`${type}\` name cannot be empty\nhttps://svelte.dev/e/directive_missing_name`);
|
|
1024
1024
|
}
|
|
1025
1025
|
|
|
1026
|
+
/**
|
|
1027
|
+
* An `{#each ...}` block without an `as` clause cannot have a key
|
|
1028
|
+
* @param {null | number | NodeLike} node
|
|
1029
|
+
* @returns {never}
|
|
1030
|
+
*/
|
|
1031
|
+
export function each_key_without_as(node) {
|
|
1032
|
+
e(node, 'each_key_without_as', `An \`{#each ...}\` block without an \`as\` clause cannot have a key\nhttps://svelte.dev/e/each_key_without_as`);
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1026
1035
|
/**
|
|
1027
1036
|
* `</%name%>` attempted to close an element that was not open
|
|
1028
1037
|
* @param {null | number | NodeLike} node
|
|
@@ -226,6 +226,13 @@ export function CallExpression(node, context) {
|
|
|
226
226
|
break;
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
+
case '$state.eager':
|
|
230
|
+
if (node.arguments.length !== 1) {
|
|
231
|
+
e.rune_invalid_arguments_length(node, rune, 'exactly one argument');
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
break;
|
|
235
|
+
|
|
229
236
|
case '$state.snapshot':
|
|
230
237
|
if (node.arguments.length !== 1) {
|
|
231
238
|
e.rune_invalid_arguments_length(node, rune, 'exactly one argument');
|
|
@@ -28,6 +28,10 @@ export function EachBlock(node, context) {
|
|
|
28
28
|
node.key.type !== 'Identifier' || !node.index || node.key.name !== node.index;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
if (node.metadata.keyed && !node.context) {
|
|
32
|
+
e.each_key_without_as(node);
|
|
33
|
+
}
|
|
34
|
+
|
|
31
35
|
// evaluate expression in parent scope
|
|
32
36
|
context.visit(node.expression, {
|
|
33
37
|
...context.state,
|
|
@@ -49,6 +49,12 @@ export function CallExpression(node, context) {
|
|
|
49
49
|
return b.call('$.derived', rune === '$derived' ? b.thunk(fn) : fn);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
case '$state.eager':
|
|
53
|
+
return b.call(
|
|
54
|
+
'$.eager',
|
|
55
|
+
b.thunk(/** @type {Expression} */ (context.visit(node.arguments[0])))
|
|
56
|
+
);
|
|
57
|
+
|
|
52
58
|
case '$state.snapshot':
|
|
53
59
|
return b.call(
|
|
54
60
|
'$.snapshot',
|
|
@@ -38,6 +38,10 @@ export function CallExpression(node, context) {
|
|
|
38
38
|
return b.call('$.derived', rune === '$derived' ? b.thunk(fn) : fn);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
if (rune === '$state.eager') {
|
|
42
|
+
return node.arguments[0];
|
|
43
|
+
}
|
|
44
|
+
|
|
41
45
|
if (rune === '$state.snapshot') {
|
|
42
46
|
return b.call(
|
|
43
47
|
'$.snapshot',
|
|
@@ -49,7 +49,7 @@ export function SvelteBoundary(node, context) {
|
|
|
49
49
|
context.state.template.push(
|
|
50
50
|
b.if(
|
|
51
51
|
callee,
|
|
52
|
-
b.block([b.stmt(pending)]),
|
|
52
|
+
b.block(build_template([block_open_else, b.stmt(pending), block_close])),
|
|
53
53
|
b.block(build_template([block_open, statement, block_close]))
|
|
54
54
|
)
|
|
55
55
|
);
|
|
@@ -3,6 +3,7 @@ import { listen_to_event_and_reset_event } from './shared.js';
|
|
|
3
3
|
import { is } from '../../../proxy.js';
|
|
4
4
|
import { is_array } from '../../../../shared/utils.js';
|
|
5
5
|
import * as w from '../../../warnings.js';
|
|
6
|
+
import { Batch, current_batch, previous_batch } from '../../../reactivity/batch.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Selects the correct option(s) (depending on whether this is a multiple select)
|
|
@@ -83,6 +84,7 @@ export function init_select(select) {
|
|
|
83
84
|
* @returns {void}
|
|
84
85
|
*/
|
|
85
86
|
export function bind_select_value(select, get, set = get) {
|
|
87
|
+
var batches = new WeakSet();
|
|
86
88
|
var mounting = true;
|
|
87
89
|
|
|
88
90
|
listen_to_event_and_reset_event(select, 'change', (is_reset) => {
|
|
@@ -102,11 +104,30 @@ export function bind_select_value(select, get, set = get) {
|
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
set(value);
|
|
107
|
+
|
|
108
|
+
if (current_batch !== null) {
|
|
109
|
+
batches.add(current_batch);
|
|
110
|
+
}
|
|
105
111
|
});
|
|
106
112
|
|
|
107
113
|
// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated
|
|
108
114
|
effect(() => {
|
|
109
115
|
var value = get();
|
|
116
|
+
|
|
117
|
+
if (select === document.activeElement) {
|
|
118
|
+
// we need both, because in non-async mode, render effects run before previous_batch is set
|
|
119
|
+
var batch = /** @type {Batch} */ (previous_batch ?? current_batch);
|
|
120
|
+
|
|
121
|
+
// Don't update the <select> if it is focused. We can get here if, for example,
|
|
122
|
+
// an update is deferred because of async work depending on the select:
|
|
123
|
+
//
|
|
124
|
+
// <select bind:value={selected}>...</select>
|
|
125
|
+
// <p>{await find(selected)}</p>
|
|
126
|
+
if (batches.has(batch)) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
110
131
|
select_option(select, value, mounting);
|
|
111
132
|
|
|
112
133
|
// Mounting and value undefined -> take selection from dom
|
|
@@ -103,7 +103,7 @@ export {
|
|
|
103
103
|
save,
|
|
104
104
|
track_reactivity_loss
|
|
105
105
|
} from './reactivity/async.js';
|
|
106
|
-
export { flushSync as flush } from './reactivity/batch.js';
|
|
106
|
+
export { eager, flushSync as flush } from './reactivity/batch.js';
|
|
107
107
|
export {
|
|
108
108
|
async_derived,
|
|
109
109
|
user_derived as derived,
|
|
@@ -17,6 +17,7 @@ import { async_mode_flag } from '../../flags/index.js';
|
|
|
17
17
|
import { deferred, define_property } from '../../shared/utils.js';
|
|
18
18
|
import {
|
|
19
19
|
active_effect,
|
|
20
|
+
get,
|
|
20
21
|
is_dirty,
|
|
21
22
|
is_updating_effect,
|
|
22
23
|
set_is_updating_effect,
|
|
@@ -27,8 +28,8 @@ import * as e from '../errors.js';
|
|
|
27
28
|
import { flush_tasks, queue_micro_task } from '../dom/task.js';
|
|
28
29
|
import { DEV } from 'esm-env';
|
|
29
30
|
import { invoke_error_boundary } from '../error-handling.js';
|
|
30
|
-
import { old_values } from './sources.js';
|
|
31
|
-
import { unlink_effect } from './effects.js';
|
|
31
|
+
import { old_values, source, update } from './sources.js';
|
|
32
|
+
import { inspect_effect, unlink_effect } from './effects.js';
|
|
32
33
|
|
|
33
34
|
/** @type {Set<Batch>} */
|
|
34
35
|
const batches = new Set();
|
|
@@ -97,13 +98,6 @@ export class Batch {
|
|
|
97
98
|
*/
|
|
98
99
|
#deferred = null;
|
|
99
100
|
|
|
100
|
-
/**
|
|
101
|
-
* Async effects inside a newly-created `<svelte:boundary>`
|
|
102
|
-
* — these do not prevent the batch from committing
|
|
103
|
-
* @type {Effect[]}
|
|
104
|
-
*/
|
|
105
|
-
#boundary_async_effects = [];
|
|
106
|
-
|
|
107
101
|
/**
|
|
108
102
|
* Template effects and `$effect.pre` effects, which run when
|
|
109
103
|
* a batch is committed
|
|
@@ -158,8 +152,7 @@ export class Batch {
|
|
|
158
152
|
this.#traverse_effect_tree(root);
|
|
159
153
|
}
|
|
160
154
|
|
|
161
|
-
// if
|
|
162
|
-
// is outstanding from a previous flush, commit
|
|
155
|
+
// if there is no outstanding async work, commit
|
|
163
156
|
if (this.#pending === 0) {
|
|
164
157
|
// TODO we need this because we commit _then_ flush effects...
|
|
165
158
|
// maybe there's a way we can reverse the order?
|
|
@@ -193,12 +186,6 @@ export class Batch {
|
|
|
193
186
|
}
|
|
194
187
|
|
|
195
188
|
batch_values = null;
|
|
196
|
-
|
|
197
|
-
for (const effect of this.#boundary_async_effects) {
|
|
198
|
-
update_effect(effect);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
this.#boundary_async_effects = [];
|
|
202
189
|
}
|
|
203
190
|
|
|
204
191
|
/**
|
|
@@ -225,13 +212,9 @@ export class Batch {
|
|
|
225
212
|
this.#effects.push(effect);
|
|
226
213
|
} else if (async_mode_flag && (flags & RENDER_EFFECT) !== 0) {
|
|
227
214
|
this.#render_effects.push(effect);
|
|
228
|
-
} else if ((
|
|
229
|
-
if ((
|
|
230
|
-
|
|
231
|
-
} else if (is_dirty(effect)) {
|
|
232
|
-
if ((effect.f & BLOCK_EFFECT) !== 0) this.#block_effects.push(effect);
|
|
233
|
-
update_effect(effect);
|
|
234
|
-
}
|
|
215
|
+
} else if (is_dirty(effect)) {
|
|
216
|
+
if ((effect.f & BLOCK_EFFECT) !== 0) this.#block_effects.push(effect);
|
|
217
|
+
update_effect(effect);
|
|
235
218
|
}
|
|
236
219
|
|
|
237
220
|
var child = effect.first;
|
|
@@ -702,6 +685,65 @@ export function schedule_effect(signal) {
|
|
|
702
685
|
queued_root_effects.push(effect);
|
|
703
686
|
}
|
|
704
687
|
|
|
688
|
+
/** @type {Source<number>[]} */
|
|
689
|
+
let eager_versions = [];
|
|
690
|
+
|
|
691
|
+
function eager_flush() {
|
|
692
|
+
try {
|
|
693
|
+
flushSync(() => {
|
|
694
|
+
for (const version of eager_versions) {
|
|
695
|
+
update(version);
|
|
696
|
+
}
|
|
697
|
+
});
|
|
698
|
+
} finally {
|
|
699
|
+
eager_versions = [];
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* Implementation of `$state.eager(fn())`
|
|
705
|
+
* @template T
|
|
706
|
+
* @param {() => T} fn
|
|
707
|
+
* @returns {T}
|
|
708
|
+
*/
|
|
709
|
+
export function eager(fn) {
|
|
710
|
+
var version = source(0);
|
|
711
|
+
var initial = true;
|
|
712
|
+
var value = /** @type {T} */ (undefined);
|
|
713
|
+
|
|
714
|
+
get(version);
|
|
715
|
+
|
|
716
|
+
inspect_effect(() => {
|
|
717
|
+
if (initial) {
|
|
718
|
+
// the first time this runs, we create an inspect effect
|
|
719
|
+
// that will run eagerly whenever the expression changes
|
|
720
|
+
var previous_batch_values = batch_values;
|
|
721
|
+
|
|
722
|
+
try {
|
|
723
|
+
batch_values = null;
|
|
724
|
+
value = fn();
|
|
725
|
+
} finally {
|
|
726
|
+
batch_values = previous_batch_values;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// the second time this effect runs, it's to schedule a
|
|
733
|
+
// `version` update. since this will recreate the effect,
|
|
734
|
+
// we don't need to evaluate the expression here
|
|
735
|
+
if (eager_versions.length === 0) {
|
|
736
|
+
queue_micro_task(eager_flush);
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
eager_versions.push(version);
|
|
740
|
+
});
|
|
741
|
+
|
|
742
|
+
initial = false;
|
|
743
|
+
|
|
744
|
+
return value;
|
|
745
|
+
}
|
|
746
|
+
|
|
705
747
|
/**
|
|
706
748
|
* Forcibly remove all current batches, to prevent cross-talk between tests
|
|
707
749
|
*/
|
package/src/utils.js
CHANGED
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -3193,6 +3193,18 @@ declare namespace $state {
|
|
|
3193
3193
|
: never
|
|
3194
3194
|
: never;
|
|
3195
3195
|
|
|
3196
|
+
/**
|
|
3197
|
+
* Returns the latest `value`, even if the rest of the UI is suspending
|
|
3198
|
+
* while async work (such as data loading) completes.
|
|
3199
|
+
*
|
|
3200
|
+
* ```svelte
|
|
3201
|
+
* <nav>
|
|
3202
|
+
* <a href="/" aria-current={$state.eager(pathname) === '/' ? 'page' : null}>home</a>
|
|
3203
|
+
* <a href="/about" aria-current={$state.eager(pathname) === '/about' ? 'page' : null}>about</a>
|
|
3204
|
+
* </nav>
|
|
3205
|
+
* ```
|
|
3206
|
+
*/
|
|
3207
|
+
export function eager<T>(value: T): T;
|
|
3196
3208
|
/**
|
|
3197
3209
|
* Declares state that is _not_ made deeply reactive — instead of mutating it,
|
|
3198
3210
|
* you must reassign it.
|
package/types/index.d.ts.map
CHANGED
|
@@ -261,6 +261,6 @@
|
|
|
261
261
|
null,
|
|
262
262
|
null
|
|
263
263
|
],
|
|
264
|
-
"mappings": ";;;;;;;kBAUiBA,2BAA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkC/BC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwEhBC,kBAAkBA;;;;;;;;;;;;;;;;;;;;;;;;kBAwBbC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoCbC,oBAAoBA;;;;;;;;;;;;;;;;;;;;;;;;aAwBrBC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCfC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BdC,aAAaA;;;;;;;;;;;;;;;;;;;;;;;kBAuBRC,OAAOA;;;;;;;;;;;;;;;;kBAgBPC,eAAeA;;;;;;;;;;;;;;;;aAgBpBC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCzPRC,cAAcA;;;;;;;;;;;;iBAsBdC,OAAOA;;;;;;;;iBAwBPC,SAASA;;;;;;;;;;;;;;;;;;;;;;iBA0CTC,qBAAqBA;;;;;;;;;;iBA2CrBC,YAAYA;;;;;;;;;;iBAuBZC,WAAWA;;;;;
|
|
264
|
+
"mappings": "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",
|
|
265
265
|
"ignoreList": []
|
|
266
266
|
}
|