each-branch-manager
Rich Harris 2 days ago
parent 8fb43a9f02
commit 2b70f3f474

@ -389,35 +389,21 @@ function reconcile(each_effect, array, state, anchor, render_fn, flags, get_key,
item = onscreen.get(key); item = onscreen.get(key);
if (item === undefined) { if (item === undefined) {
var pending = offscreen.get(key); item = offscreen.get(key);
if (item === undefined) {
throw new Error('this should be impossible');
}
if (pending !== undefined) {
offscreen.delete(key); offscreen.delete(key);
onscreen.set(key, pending);
var next = prev ? prev.next : current; var next = prev ? prev.next : current;
link(state, prev, pending); link(state, prev, item);
link(state, pending, next); link(state, item, next);
move(pending, next, anchor);
prev = pending;
} else {
var child_anchor = current ? /** @type {TemplateNode} */ (current.e.nodes_start) : anchor;
prev = create_item( move(item, next, anchor);
child_anchor, prev = item;
state,
prev,
prev === null ? state.first : prev.next,
value,
key,
i,
render_fn,
flags,
get_collection
);
}
onscreen.set(key, prev); onscreen.set(key, prev);

Loading…
Cancel
Save