} from './dom/hydration'
import { ForFragment, VaporFragment, findLastChild } from './fragment'
import {
+ type ChildItem,
insertionAnchor,
insertionParent,
resetInsertionState,
if (!parentAnchor || (parentAnchor && !isComment(parentAnchor, ']'))) {
throw new Error(`v-for fragment anchor node was not found.`)
}
+
+ // $lastLogicalChild is the fragment start anchor; replacing it with end anchor
+ // can avoid the call to locateEndAnchor within locateChildByLogicalIndex
+ if (_insertionParent && _insertionParent!.$lastLogicalChild) {
+ ;(parentAnchor as any as ChildItem).$idx = (
+ _insertionParent!.$lastLogicalChild as ChildItem
+ ).$idx
+ _insertionParent.$lastLogicalChild = parentAnchor
+ }
}
} else {
parent = parent || parentAnchor!.parentNode