From e2c2580e81b32a137e0bec37c91708bfbdb88112 Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Tue, 21 Jan 2025 15:32:34 +0100 Subject: [PATCH] fix: move `onchange` call right before inspect effects --- .../src/internal/client/reactivity/sources.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/sources.js b/packages/svelte/src/internal/client/reactivity/sources.js index 32b93a2b0a..746d426aca 100644 --- a/packages/svelte/src/internal/client/reactivity/sources.js +++ b/packages/svelte/src/internal/client/reactivity/sources.js @@ -238,15 +238,6 @@ export function internal_set(source, value) { source.v = value; source.wv = increment_write_version(); - var onchange = source.o?.onchange; - if (onchange) { - if (onchange_batch) { - onchange_batch.add(onchange); - } else { - onchange(); - } - } - if (DEV && tracing_mode_flag) { source.updated = get_stack('UpdatedAt'); if (active_effect != null) { @@ -274,6 +265,15 @@ export function internal_set(source, value) { } } + var onchange = source.o?.onchange; + if (onchange) { + if (onchange_batch) { + onchange_batch.add(onchange); + } else { + onchange(); + } + } + if (DEV && inspect_effects.size > 0) { const inspects = Array.from(inspect_effects); var previously_flushing_effect = is_flushing_effect;