Skip to content

Commit 4f45033

Browse files
committed
move stuff
1 parent cb2f68e commit 4f45033

File tree

1 file changed

+29
-26
lines changed

1 file changed

+29
-26
lines changed

packages/svelte/src/internal/client/runtime.js

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,17 @@ function flush_queued_root_effects() {
693693
infinite_loop_guard();
694694
}
695695

696+
var revert = active_fork?.apply();
697+
698+
/** @type {Effect[]} */
699+
var async_effects = [];
700+
701+
/** @type {Effect[]} */
702+
var render_effects = [];
703+
704+
/** @type {Effect[]} */
705+
var effects = [];
706+
696707
var root_effects = queued_root_effects;
697708
var length = root_effects.length;
698709

@@ -705,8 +716,21 @@ function flush_queued_root_effects() {
705716
root.f ^= CLEAN;
706717
}
707718

708-
process_effects(root, active_fork);
719+
process_effects(root, async_effects, render_effects, effects);
720+
}
721+
722+
if (async_effects.length === 0 && (active_fork === null || active_fork.pending === 0)) {
723+
active_fork?.commit();
724+
flush_queued_effects(render_effects);
725+
flush_queued_effects(effects);
709726
}
727+
728+
revert?.();
729+
730+
for (const effect of async_effects) {
731+
update_effect(effect);
732+
}
733+
710734
old_values.clear();
711735
}
712736
} finally {
@@ -810,22 +834,13 @@ export function schedule_effect(signal) {
810834
* effects to be flushed.
811835
*
812836
* @param {Effect} root
813-
* @param {Fork | null} fork
837+
* @param {Effect[]} async_effects
838+
* @param {Effect[]} render_effects
839+
* @param {Effect[]} effects
814840
*/
815-
function process_effects(root, fork) {
816-
var revert = fork?.apply();
817-
841+
function process_effects(root, async_effects, render_effects, effects) {
818842
var effect = root.first;
819843

820-
/** @type {Effect[]} */
821-
var async_effects = [];
822-
823-
/** @type {Effect[]} */
824-
var render_effects = [];
825-
826-
/** @type {Effect[]} */
827-
var effects = [];
828-
829844
while (effect !== null) {
830845
var flags = effect.f;
831846
var is_branch = (flags & BRANCH_EFFECT) !== 0;
@@ -874,18 +889,6 @@ function process_effects(root, fork) {
874889
parent = parent.parent;
875890
}
876891
}
877-
878-
if (async_effects.length === 0 && (fork === null || fork.pending === 0)) {
879-
fork?.commit();
880-
flush_queued_effects(render_effects);
881-
flush_queued_effects(effects);
882-
}
883-
884-
revert?.();
885-
886-
for (const effect of async_effects) {
887-
update_effect(effect);
888-
}
889892
}
890893

891894
/**

0 commit comments

Comments
 (0)