From e791b534ea0a8300bb5d1fa7935ed83a6f0b8c35 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 25 Mar 2024 18:27:27 -0400 Subject: [PATCH] tidy up --- .../src/internal/client/reactivity/effects.js | 19 ++++++++++--------- .../svelte/src/internal/client/runtime.js | 7 ++----- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/effects.js b/packages/svelte/src/internal/client/reactivity/effects.js index 838a7a6d96..ac1255eaed 100644 --- a/packages/svelte/src/internal/client/reactivity/effects.js +++ b/packages/svelte/src/internal/client/reactivity/effects.js @@ -39,7 +39,7 @@ import { remove } from '../dom/reconciler.js'; */ function create_effect(type, fn, sync, init = true) { /** @type {import('#client').Effect} */ - const signal = { + const effect = { parent: current_effect, dom: null, deps: null, @@ -55,34 +55,35 @@ function create_effect(type, fn, sync, init = true) { }; if (current_effect !== null) { - signal.l = current_effect.l + 1; + effect.l = current_effect.l + 1; } if (current_reaction !== null) { if (current_reaction.effects === null) { - current_reaction.effects = [signal]; + current_reaction.effects = [effect]; } else { - current_reaction.effects.push(signal); + current_reaction.effects.push(effect); } } if (init) { if (sync) { const previously_flushing_effect = is_flushing_effect; + try { set_is_flushing_effect(true); - execute_effect(signal); - set_signal_status(signal, CLEAN); - signal.f |= EFFECT_RAN; + execute_effect(effect); + set_signal_status(effect, CLEAN); + effect.f |= EFFECT_RAN; } finally { set_is_flushing_effect(previously_flushing_effect); } } else { - schedule_effect(signal); + schedule_effect(effect); } } - return signal; + return effect; } /** diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 5f73fe6aeb..1af31622a6 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -216,9 +216,6 @@ export function check_dirtiness(reaction) { * @returns {V} */ export function execute_reaction_fn(signal) { - const fn = signal.fn; - const flags = signal.f; - const previous_dependencies = current_dependencies; const previous_dependencies_index = current_dependencies_index; const previous_untracked_writes = current_untracked_writes; @@ -230,11 +227,11 @@ export function execute_reaction_fn(signal) { current_dependencies_index = 0; current_untracked_writes = null; current_reaction = signal; - current_skip_reaction = !is_flushing_effect && (flags & UNOWNED) !== 0; + current_skip_reaction = !is_flushing_effect && (signal.f & UNOWNED) !== 0; current_untracking = false; try { - let res = fn(); + let res = signal.fn(); let dependencies = /** @type {import('./types.js').Value[]} **/ (signal.deps); if (current_dependencies !== null) { let i;