@@ -142,7 +142,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
142142 var boundary = find_boundary ( active_effect ) ;
143143
144144 /** @type {Map<any, EachItem> } */
145- var pending_items = new Map ( ) ;
145+ var offscreen_items = new Map ( ) ;
146146
147147 // TODO: ideally we could use derived for runes mode but because of the ability
148148 // to use a store which can be mutated, we can't do that here as mutating a store
@@ -164,7 +164,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
164164 each_effect ,
165165 array ,
166166 state ,
167- pending_items ,
167+ offscreen_items ,
168168 anchor ,
169169 render_fn ,
170170 flags ,
@@ -275,7 +275,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
275275 value = array [ i ] ;
276276 key = get_key ( value , i ) ;
277277
278- var existing = state . items . get ( key ) ?? pending_items . get ( key ) ;
278+ var existing = state . items . get ( key ) ?? offscreen_items . get ( key ) ;
279279
280280 if ( existing ) {
281281 // update before reconciliation, to trigger any async updates
@@ -297,7 +297,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
297297 true
298298 ) ;
299299
300- pending_items . set ( key , item ) ;
300+ offscreen_items . set ( key , item ) ;
301301 }
302302 }
303303
@@ -332,7 +332,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
332332 * @param {Effect } each_effect
333333 * @param {Array<V> } array
334334 * @param {EachState } state
335- * @param {Map<any, EachItem> } pending_items
335+ * @param {Map<any, EachItem> } offscreen_items
336336 * @param {Element | Comment | Text } anchor
337337 * @param {(anchor: Node, item: MaybeSource<V>, index: number | Source<number>, collection: () => V[]) => void } render_fn
338338 * @param {number } flags
@@ -344,7 +344,7 @@ function reconcile(
344344 each_effect ,
345345 array ,
346346 state ,
347- pending_items ,
347+ offscreen_items ,
348348 anchor ,
349349 render_fn ,
350350 flags ,
@@ -406,10 +406,10 @@ function reconcile(
406406 item = items . get ( key ) ;
407407
408408 if ( item === undefined ) {
409- var pending = pending_items . get ( key ) ;
409+ var pending = offscreen_items . get ( key ) ;
410410
411411 if ( pending !== undefined ) {
412- pending_items . delete ( key ) ;
412+ offscreen_items . delete ( key ) ;
413413 items . set ( key , pending ) ;
414414
415415 var next = prev && prev . next ;
@@ -566,18 +566,14 @@ function reconcile(
566566 } ) ;
567567 }
568568
569- // TODO this seems super weird... should be `each_effect`, but that doesn't seem to work?
570- // if (active_effect !== null) {
571- // active_effect.first = state.first && state.first.e;
572- // active_effect.last = prev && prev.e;
573- // }
574-
575569 each_effect . first = state . first && state . first . e ;
576570 each_effect . last = prev && prev . e ;
577571
578- for ( var unused of pending_items . values ( ) ) {
572+ for ( var unused of offscreen_items . values ( ) ) {
579573 destroy_effect ( unused . e ) ;
580574 }
575+
576+ offscreen_items . clear ( ) ;
581577}
582578
583579/**
0 commit comments