Skip to content

Commit 749a056

Browse files
committed
use set for less costly parent lookup
1 parent c67e58b commit 749a056

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

packages/svelte/src/internal/client/reactivity/batch.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ function infinite_loop_guard() {
560560
}
561561
}
562562

563-
/** @type {Effect[] | null} */
563+
/** @type {Set<Effect> | null} */
564564
export let eager_block_effects = null;
565565

566566
/**
@@ -577,7 +577,7 @@ function flush_queued_effects(effects) {
577577
var effect = effects[i++];
578578

579579
if ((effect.f & (DESTROYED | INERT)) === 0 && is_dirty(effect)) {
580-
eager_block_effects = [];
580+
eager_block_effects = new Set();
581581

582582
update_effect(effect);
583583

@@ -600,7 +600,7 @@ function flush_queued_effects(effects) {
600600

601601
// If update_effect() has a flushSync() in it, we may have flushed another flush_queued_effects(),
602602
// which already handled this logic and did set eager_block_effects to null.
603-
if (eager_block_effects?.length > 0) {
603+
if (eager_block_effects?.size > 0) {
604604
old_values.clear();
605605

606606
/** @type {Effect[]} */
@@ -615,7 +615,7 @@ function flush_queued_effects(effects) {
615615
let skip = false;
616616
let ancestor = e.parent;
617617
while (!skip && ancestor !== null) {
618-
if (eager_block_effects.includes(ancestor)) {
618+
if (eager_block_effects.has(ancestor)) {
619619
skip = true;
620620
break;
621621
}
@@ -632,7 +632,7 @@ function flush_queued_effects(effects) {
632632
update_effect(e);
633633
}
634634

635-
eager_block_effects = [];
635+
eager_block_effects.clear();
636636
}
637637
}
638638
}

packages/svelte/src/internal/client/reactivity/sources.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ function mark_reactions(signal, status) {
336336
} else if (not_dirty) {
337337
if ((flags & BLOCK_EFFECT) !== 0) {
338338
if (eager_block_effects !== null) {
339-
eager_block_effects.push(/** @type {Effect} */ (reaction));
339+
eager_block_effects.add(/** @type {Effect} */ (reaction));
340340
}
341341
}
342342

0 commit comments

Comments
 (0)