mirror of https://github.com/vuejs/core.git
perf(runtime-vapor): `children` helper (#263)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
This commit is contained in:
parent
0fde1e13a9
commit
be332dc5a8
|
@ -13,9 +13,14 @@ export function template(html: string) {
|
||||||
/*! #__NO_SIDE_EFFECTS__ */
|
/*! #__NO_SIDE_EFFECTS__ */
|
||||||
export function children(node: Node, ...paths: number[]): Node {
|
export function children(node: Node, ...paths: number[]): Node {
|
||||||
for (const idx of paths) {
|
for (const idx of paths) {
|
||||||
for (let i = 0; i <= idx; i++) {
|
// In various situations, select the quickest approach.
|
||||||
node = node[i === 0 ? 'firstChild' : 'nextSibling']!
|
// See https://github.com/vuejs/core-vapor/pull/263
|
||||||
}
|
node =
|
||||||
|
idx === 0
|
||||||
|
? node.firstChild!
|
||||||
|
: idx === 1
|
||||||
|
? node.firstChild!.nextSibling!
|
||||||
|
: node.childNodes[idx]
|
||||||
}
|
}
|
||||||
return node
|
return node
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue