Skip to content

Commit d10ca43

Browse files
committed
DRY
1 parent cb47267 commit d10ca43

File tree

1 file changed

+14
-12
lines changed
  • packages/svelte/src/internal/client/dom/blocks

1 file changed

+14
-12
lines changed

packages/svelte/src/internal/client/dom/blocks/each.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,7 @@ function reconcile(array, state, anchor, render_fn, flags, get_key) {
320320
null,
321321
() => {
322322
for (const item of to_destroy) {
323-
if (item.prev) item.prev.next = item.next;
324-
if (item.next) item.next.prev = item.prev;
323+
link(item.prev, item.next);
325324
}
326325
}
327326
);
@@ -404,7 +403,7 @@ function create_item(anchor, prev, next, value, key, index, render_fn, flags) {
404403
next
405404
};
406405

407-
if (prev) prev.next = item;
406+
prev.next = item;
408407
if (next) next.prev = item;
409408

410409
current_each_item = item;
@@ -434,14 +433,17 @@ function move(item, prev, anchor) {
434433
}
435434
}
436435

437-
item.prev.next = item.next;
438-
if (item.next) item.next.prev = item.prev;
439-
440-
var next = prev.next;
441-
442-
item.prev = prev;
443-
item.next = next;
436+
link(item.prev, item.next);
437+
link(item, prev.next);
438+
link(prev, item);
439+
}
444440

445-
prev.next = item;
446-
if (next) next.prev = item;
441+
/**
442+
*
443+
* @param {import('#client').EachItem | import('#client').EachState} prev
444+
* @param {import('#client').EachItem | null} next
445+
*/
446+
function link(prev, next) {
447+
prev.next = next;
448+
if (next) next.prev = prev;
447449
}

0 commit comments

Comments
 (0)