async-changeset
Rich Harris 7 months ago
parent 06170f58fe
commit 5ddcc3e91c

@ -406,13 +406,6 @@ export class Fork {
* @param {Source} source
*/
get(source) {
// console.log(
// 'fork#get',
// [...this.changeset].map((s) => s.v),
// this.changeset.has(source),
// source.v
// );
if (this.changeset.has(source)) {
return source.v;
}

@ -139,8 +139,6 @@ export function async_derived(fn, location) {
internal_set(signal, v);
}
active_fork?.changeset.add(signal);
if (DEV && location !== undefined) {
recent_async_deriveds.add(signal);

@ -185,7 +185,9 @@ export function internal_set(source, value) {
}
}
if (!active_fork && !changeset.has(source)) {
if (active_fork !== null) {
active_fork.changeset.add(source);
} else {
changeset.add(source);
}

@ -1060,14 +1060,18 @@ export function get(signal) {
recent_async_deriveds.delete(signal);
}
if ((signal.f & DERIVED) === 0) {
if (active_fork) {
// console.log('get from fork', (signal.f & DERIVED) !== 0 ? 'derived' : 'source', signal.v);
return active_fork.get(signal);
}
var boundary = active_effect?.b;
if (boundary) {
// console.log('get from boundary', (signal.f & DERIVED) !== 0 ? 'derived' : 'source', signal.v);
return boundary.get(signal);
}
}
return signal.v;
}

Loading…
Cancel
Save