File tree Expand file tree Collapse file tree 2 files changed +9
-9
lines changed
packages/svelte/src/internal/client Expand file tree Collapse file tree 2 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ let stack = [];
112112 * @param {Derived } derived
113113 * @returns {Effect | null }
114114 */
115- export function get_derived_parent_effect ( derived ) {
115+ function get_derived_parent_effect ( derived ) {
116116 var parent = derived . parent ;
117117 while ( parent !== null ) {
118118 if ( ( parent . f & DERIVED ) === 0 ) {
Original file line number Diff line number Diff line change @@ -29,12 +29,7 @@ import {
2929import { flush_tasks } from './dom/task.js' ;
3030import { add_owner } from './dev/ownership.js' ;
3131import { mutate , set , source } from './reactivity/sources.js' ;
32- import {
33- destroy_derived ,
34- execute_derived ,
35- get_derived_parent_effect ,
36- update_derived
37- } from './reactivity/deriveds.js' ;
32+ import { destroy_derived , execute_derived , update_derived } from './reactivity/deriveds.js' ;
3833import * as e from './errors.js' ;
3934import { lifecycle_outside_component } from '../shared/errors.js' ;
4035import { FILENAME } from '../../constants.js' ;
@@ -771,9 +766,14 @@ export function get(signal) {
771766 }
772767 } else if ( is_derived && /** @type {Derived } */ ( signal ) . deps === null ) {
773768 var derived = /** @type {Derived } */ ( signal ) ;
774- var parent_effect = get_derived_parent_effect ( derived ) ;
769+ var parent = derived . parent ;
775770
776- if ( parent_effect !== null && ! parent_effect . deriveds ?. includes ( derived ) ) {
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 ) ;
777777 ( parent_effect . deriveds ??= [ ] ) . push ( derived ) ;
778778 }
779779 }
You can’t perform that action at this time.
0 commit comments