From e106bbc5a8f3c0d8656293cd8b6f28fd061195d2 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 24 Feb 2024 15:42:18 -0500 Subject: [PATCH] reduce indirection --- .../svelte/src/internal/client/runtime.js | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 4ad9d10800..d81744fcc6 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -423,7 +423,18 @@ export function execute_effect(effect) { (effect.f & PRE_EFFECT) !== 0 && current_queued_pre_and_render_effects.length > 0 ) { - flush_local_pre_effects(component_context); + const effects = []; + + for (let i = 0; i < current_queued_pre_and_render_effects.length; i++) { + const effect = current_queued_pre_and_render_effects[i]; + if ((effect.f & PRE_EFFECT) !== 0 && effect.ctx === component_context) { + effects.push(effect); + current_queued_pre_and_render_effects.splice(i, 1); + i--; + } + } + + flush_queued_effects(effects); } } @@ -584,23 +595,6 @@ export function flush_local_render_effects() { flush_queued_effects(effects); } -/** - * @param {null | import('#client').ComponentContext} context - * @returns {void} - */ -export function flush_local_pre_effects(context) { - const effects = []; - for (let i = 0; i < current_queued_pre_and_render_effects.length; i++) { - const effect = current_queued_pre_and_render_effects[i]; - if ((effect.f & PRE_EFFECT) !== 0 && effect.ctx === context) { - effects.push(effect); - current_queued_pre_and_render_effects.splice(i, 1); - i--; - } - } - flush_queued_effects(effects); -} - /** * Synchronously flushes any pending state changes and those that result from it. * @param {() => void} [fn]