@@ -201,7 +201,6 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
201201 var keys = new Set ( ) ;
202202 var batch = /** @type {Batch } */ ( current_batch ) ;
203203 var prev = null ;
204- var defer = should_defer_append ( ) ;
205204
206205 for ( var i = 0 ; i < length ; i += 1 ) {
207206 if (
@@ -232,16 +231,13 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
232231 } else {
233232 item = create_item (
234233 first_run ? ( hydrating ? hydrate_node : anchor ) : null ,
235- state ,
236234 prev ,
237- null ,
238235 value ,
239236 key ,
240237 i ,
241238 render_fn ,
242239 flags ,
243- get_collection ,
244- defer
240+ get_collection
245241 ) ;
246242
247243 if ( first_run ) {
@@ -291,7 +287,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
291287 }
292288
293289 if ( ! first_run ) {
294- if ( defer ) {
290+ if ( should_defer_append ( ) ) {
295291 batch . oncommit ( commit ) ;
296292 } else {
297293 commit ( ) ;
@@ -574,31 +570,16 @@ function update_item(item, value, index, type) {
574570/**
575571 * @template V
576572 * @param {Node | null } anchor
577- * @param {EachState } state
578573 * @param {EachItem | null } prev
579- * @param {EachItem | null } next
580574 * @param {V } value
581575 * @param {unknown } key
582576 * @param {number } index
583577 * @param {(anchor: Node, item: V | Source<V>, index: number | Value<number>, collection: () => V[]) => void } render_fn
584578 * @param {number } flags
585579 * @param {() => V[] } get_collection
586- * @param {boolean } [deferred]
587580 * @returns {EachItem }
588581 */
589- function create_item (
590- anchor ,
591- state ,
592- prev ,
593- next ,
594- value ,
595- key ,
596- index ,
597- render_fn ,
598- flags ,
599- get_collection ,
600- deferred
601- ) {
582+ function create_item ( anchor , prev , value , key , index , render_fn , flags , get_collection ) {
602583 var previous_each_item = current_each_item ;
603584 var reactive = ( flags & EACH_ITEM_REACTIVE ) !== 0 ;
604585 var mutable = ( flags & EACH_ITEM_IMMUTABLE ) === 0 ;
@@ -625,7 +606,7 @@ function create_item(
625606 // @ts -expect-error
626607 e : null ,
627608 prev,
628- next
609+ next : null
629610 } ;
630611
631612 current_each_item = item ;
@@ -639,23 +620,12 @@ function create_item(
639620 item . e = branch ( ( ) => render_fn ( /** @type {Node } */ ( anchor ) , v , i , get_collection ) ) ;
640621
641622 item . e . prev = prev && prev . e ;
642- item . e . next = next && next . e ;
643623
644- if ( prev === null ) {
645- if ( ! deferred ) {
646- // TODO move this into block effect?
647- // state.first = item;
648- }
649- } else {
624+ if ( prev !== null ) {
650625 prev . next = item ;
651626 prev . e . next = item . e ;
652627 }
653628
654- if ( next !== null ) {
655- next . prev = item ;
656- next . e . prev = item . e ;
657- }
658-
659629 return item ;
660630 } finally {
661631 current_each_item = previous_each_item ;
0 commit comments