From 6c94d40f0c1e175e22b68e4d36e45ca8881ea8c6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 5 Feb 2024 19:56:36 -0500 Subject: [PATCH] deriveds --- packages/svelte/src/internal/client/runtime.js | 7 ++++++- packages/svelte/src/main/main-client.js | 6 +----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 73b075a43d..9bb793462b 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -1280,7 +1280,12 @@ export function derived(init) { create_computation_signal(flags | CLEAN, UNINITIALIZED, current_block) ); signal.i = init; - signal.x = current_component_context; + + if (current_component_context) { + signal.x = current_component_context; + current_component_context.d.push(signal); + } + signal.e = default_equals; if (current_consumer !== null) { push_reference(current_consumer, signal); diff --git a/packages/svelte/src/main/main-client.js b/packages/svelte/src/main/main-client.js index 94593c0dc3..227568c497 100644 --- a/packages/svelte/src/main/main-client.js +++ b/packages/svelte/src/main/main-client.js @@ -200,11 +200,7 @@ export function afterUpdate(fn) { * @param {import('../internal/client/types.js').ComponentContext} context */ function init_update_callbacks(context) { - const callbacks = (context.u = { - a: [], - b: [], - m: [] - }); + const callbacks = (context.u = { a: [], b: [], m: [] }); if (is_ssr) return callbacks; // TODO this shouldn't be necessary but is, because of the tests