(
returnFiber,
currentFirstChild,
newChildren,
lanes
)
| 6675 | return resultingFirstChild; |
| 6676 | } |
| 6677 | function reconcileChildrenIterator( |
| 6678 | returnFiber, |
| 6679 | currentFirstChild, |
| 6680 | newChildren, |
| 6681 | lanes |
| 6682 | ) { |
| 6683 | if (null == newChildren) throw Error(formatProdErrorMessage(151)); |
| 6684 | for ( |
| 6685 | var resultingFirstChild = null, |
| 6686 | previousNewFiber = null, |
| 6687 | oldFiber = currentFirstChild, |
| 6688 | newIdx = (currentFirstChild = 0), |
| 6689 | nextOldFiber = null, |
| 6690 | step = newChildren.next(); |
| 6691 | null !== oldFiber && !step.done; |
| 6692 | newIdx++, step = newChildren.next() |
| 6693 | ) { |
| 6694 | oldFiber.index > newIdx |
| 6695 | ? ((nextOldFiber = oldFiber), (oldFiber = null)) |
| 6696 | : (nextOldFiber = oldFiber.sibling); |
| 6697 | var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); |
| 6698 | if (null === newFiber) { |
| 6699 | null === oldFiber && (oldFiber = nextOldFiber); |
| 6700 | break; |
| 6701 | } |
| 6702 | shouldTrackSideEffects && |
| 6703 | oldFiber && |
| 6704 | null === newFiber.alternate && |
| 6705 | deleteChild(returnFiber, oldFiber); |
| 6706 | currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); |
| 6707 | null === previousNewFiber |
| 6708 | ? (resultingFirstChild = newFiber) |
| 6709 | : (previousNewFiber.sibling = newFiber); |
| 6710 | previousNewFiber = newFiber; |
| 6711 | oldFiber = nextOldFiber; |
| 6712 | } |
| 6713 | if (step.done) |
| 6714 | return ( |
| 6715 | deleteRemainingChildren(returnFiber, oldFiber), |
| 6716 | isHydrating && pushTreeFork(returnFiber, newIdx), |
| 6717 | resultingFirstChild |
| 6718 | ); |
| 6719 | if (null === oldFiber) { |
| 6720 | for (; !step.done; newIdx++, step = newChildren.next()) |
| 6721 | (step = createChild(returnFiber, step.value, lanes)), |
| 6722 | null !== step && |
| 6723 | ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)), |
| 6724 | null === previousNewFiber |
| 6725 | ? (resultingFirstChild = step) |
| 6726 | : (previousNewFiber.sibling = step), |
| 6727 | (previousNewFiber = step)); |
| 6728 | isHydrating && pushTreeFork(returnFiber, newIdx); |
| 6729 | return resultingFirstChild; |
| 6730 | } |
| 6731 | for ( |
| 6732 | oldFiber = mapRemainingChildren(oldFiber); |
| 6733 | !step.done; |
| 6734 | newIdx++, step = newChildren.next() |
no test coverage detected
searching dependent graphs…