Skip to content

Commit ac98ee7

Browse files
committed
fix
1 parent af875b3 commit ac98ee7

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

packages/svelte/src/internal/client/runtime.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -767,14 +767,19 @@ export function get(signal) {
767767
} else if (is_derived && /** @type {Derived} */ (signal).deps === null) {
768768
var derived = /** @type {Derived} */ (signal);
769769
var parent = derived.parent;
770+
var target = derived;
770771

771-
if (
772-
parent !== null &&
773-
(parent.f & DERIVED) === 0 &&
774-
!(/** @type {Effect} */ (parent).deriveds?.includes(derived))
775-
) {
776-
var parent_effect = /** @type {Effect} */ (parent);
777-
(parent_effect.deriveds ??= []).push(derived);
772+
while (parent !== null) {
773+
if ((parent.f & DERIVED) !== 0) {
774+
target = /** @type {Derived} */ (parent);
775+
parent = /** @type {Derived} */ (parent.parent);
776+
} else {
777+
if (!(/** @type {Effect} */ (parent).deriveds?.includes(target))) {
778+
var parent_effect = /** @type {Effect} */ (parent);
779+
(parent_effect.deriveds ??= []).push(target);
780+
}
781+
break;
782+
}
778783
}
779784
}
780785

0 commit comments

Comments
 (0)