|
|
|
@ -29,12 +29,7 @@ import {
|
|
|
|
import { flush_tasks } from './dom/task.js';
|
|
|
|
import { flush_tasks } from './dom/task.js';
|
|
|
|
import { add_owner } from './dev/ownership.js';
|
|
|
|
import { add_owner } from './dev/ownership.js';
|
|
|
|
import { mutate, set, source } from './reactivity/sources.js';
|
|
|
|
import { mutate, set, source } from './reactivity/sources.js';
|
|
|
|
import {
|
|
|
|
import { destroy_derived, execute_derived, update_derived } from './reactivity/deriveds.js';
|
|
|
|
destroy_derived,
|
|
|
|
|
|
|
|
execute_derived,
|
|
|
|
|
|
|
|
get_derived_parent_effect,
|
|
|
|
|
|
|
|
update_derived
|
|
|
|
|
|
|
|
} from './reactivity/deriveds.js';
|
|
|
|
|
|
|
|
import * as e from './errors.js';
|
|
|
|
import * as e from './errors.js';
|
|
|
|
import { lifecycle_outside_component } from '../shared/errors.js';
|
|
|
|
import { lifecycle_outside_component } from '../shared/errors.js';
|
|
|
|
import { FILENAME } from '../../constants.js';
|
|
|
|
import { FILENAME } from '../../constants.js';
|
|
|
|
@ -771,9 +766,14 @@ export function get(signal) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (is_derived && /** @type {Derived} */ (signal).deps === null) {
|
|
|
|
} else if (is_derived && /** @type {Derived} */ (signal).deps === null) {
|
|
|
|
var derived = /** @type {Derived} */ (signal);
|
|
|
|
var derived = /** @type {Derived} */ (signal);
|
|
|
|
var parent_effect = get_derived_parent_effect(derived);
|
|
|
|
var parent = derived.parent;
|
|
|
|
|
|
|
|
|
|
|
|
if (parent_effect !== null && !parent_effect.deriveds?.includes(derived)) {
|
|
|
|
if (
|
|
|
|
|
|
|
|
parent !== null &&
|
|
|
|
|
|
|
|
(parent.f & DERIVED) === 0 &&
|
|
|
|
|
|
|
|
!(/** @type {Effect} */ (parent).deriveds?.includes(derived))
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
var parent_effect = /** @type {Effect} */ (parent);
|
|
|
|
(parent_effect.deriveds ??= []).push(derived);
|
|
|
|
(parent_effect.deriveds ??= []).push(derived);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|