async-fork
Dominic Gannaway 7 months ago
parent ed2a1e3d43
commit 163c55cde0

@ -3,6 +3,7 @@
import { import {
BOUNDARY_EFFECT, BOUNDARY_EFFECT,
BOUNDARY_SUSPENDED, BOUNDARY_SUSPENDED,
DIRTY,
EFFECT_PRESERVED, EFFECT_PRESERVED,
EFFECT_RAN, EFFECT_RAN,
EFFECT_TRANSPARENT, EFFECT_TRANSPARENT,
@ -36,6 +37,7 @@ import { DEV } from 'esm-env';
import { from_async_derived, set_from_async_derived } from '../../reactivity/deriveds.js'; import { from_async_derived, set_from_async_derived } from '../../reactivity/deriveds.js';
import { raf } from '../../timing.js'; import { raf } from '../../timing.js';
import { loop } from '../../loop.js'; import { loop } from '../../loop.js';
import { mark_reactions } from '../../reactivity/sources.js';
const ASYNC_INCREMENT = Symbol(); const ASYNC_INCREMENT = Symbol();
const ASYNC_DECREMENT = Symbol(); const ASYNC_DECREMENT = Symbol();
@ -175,6 +177,11 @@ export function boundary(node, props, children) {
// @ts-ignore // @ts-ignore
var sources = boundary.fn.sources; var sources = boundary.fn.sources;
for (var [source, entry] of sources) {
if (source.v !== entry.v) {
mark_reactions(source, DIRTY);
}
}
sources.clear(); sources.clear();
for (const e of render_effects) { for (const e of render_effects) {

@ -261,7 +261,7 @@ export function update_pre(source, d = 1) {
* @param {Source} [source] * @param {Source} [source]
* @returns {void} * @returns {void}
*/ */
function mark_reactions(signal, status, source) { export function mark_reactions(signal, status, source) {
var reactions = signal.reactions; var reactions = signal.reactions;
if (reactions === null) return; if (reactions === null) return;

Loading…
Cancel
Save