@@ -234,24 +234,39 @@ function reconcile(array, state, anchor, render_fn, flags, get_key) {
234
234
/** @type {Set<import('#client').EachItem> } */
235
235
var seen = new Set ( ) ;
236
236
237
+ /** @type {import('#client').EachState | import('#client').EachItem } */
238
+ var prev = state ;
239
+
240
+ /** @type {import('#client').EachItem[] } */
241
+ var to_animate = [ ] ;
242
+
243
+ /** @type {import('#client').EachItem[] } */
244
+ var matched = [ ] ;
245
+
246
+ /** @type {import('#client').EachItem[] } */
247
+ var stashed = [ ] ;
248
+
249
+ /** @type {V } */
250
+ var value ;
251
+
252
+ /** @type {any } */
253
+ var key ;
254
+
255
+ /** @type {import('#client').EachItem | undefined } */
256
+ var item ;
257
+
237
258
while ( current ) {
238
259
lookup . set ( current . k , current ) ;
239
260
current = current . next ;
240
261
}
241
262
242
263
current = first ;
243
264
244
- /** @type {import('#client').EachState | import('#client').EachItem } */
245
- var prev = state ;
246
-
247
- /** @type {import('#client').EachItem[] } */
248
- var to_animate = [ ] ;
249
-
250
265
if ( is_animated ) {
251
266
for ( let i = 0 ; i < array . length ; i += 1 ) {
252
- var value = array [ i ] ;
253
- var key = get_key ( value , i ) ;
254
- var item = lookup . get ( key ) ;
267
+ value = array [ i ] ;
268
+ key = get_key ( value , i ) ;
269
+ item = lookup . get ( key ) ;
255
270
256
271
if ( item !== undefined ) {
257
272
item . a ?. measure ( ) ;
@@ -260,16 +275,10 @@ function reconcile(array, state, anchor, render_fn, flags, get_key) {
260
275
}
261
276
}
262
277
263
- /** @type {import('#client').EachItem[] } */
264
- var matched = [ ] ;
265
-
266
- /** @type {import('#client').EachItem[] } */
267
- var stashed = [ ] ;
268
-
269
278
for ( let i = 0 ; i < array . length ; i += 1 ) {
270
- var value = array [ i ] ;
271
- var key = get_key ( value , i ) ;
272
- var item = lookup . get ( key ) ;
279
+ value = array [ i ] ;
280
+ key = get_key ( value , i ) ;
281
+ item = lookup . get ( key ) ;
273
282
274
283
if ( item === undefined ) {
275
284
prev = create_item (
@@ -300,13 +309,13 @@ function reconcile(array, state, anchor, render_fn, flags, get_key) {
300
309
prev = stashed [ 0 ] . prev ;
301
310
const a = get_first_child ( stashed [ 0 ] ) ;
302
311
303
- for ( var thing of matched ) {
304
- move ( thing , prev , a ) ;
305
- prev = thing ;
312
+ for ( item of matched ) {
313
+ move ( item , prev , a ) ;
314
+ prev = item ;
306
315
}
307
316
308
- for ( var thing of stashed ) {
309
- seen . delete ( thing ) ;
317
+ for ( item of stashed ) {
318
+ seen . delete ( item ) ;
310
319
}
311
320
312
321
current = stashed [ 0 ] ;
0 commit comments