mirror of https://gitee.com/antv-l7/antv-l7
39 lines
732 B
JavaScript
39 lines
732 B
JavaScript
'use strict'
|
|
|
|
var convert = require('unist-util-is/convert')
|
|
|
|
module.exports = findAllAfter
|
|
|
|
function findAllAfter(parent, index, test) {
|
|
var is = convert(test)
|
|
var results = []
|
|
var children
|
|
var child
|
|
var length
|
|
|
|
if (!parent || !parent.type || !parent.children) {
|
|
throw new Error('Expected parent node')
|
|
}
|
|
|
|
children = parent.children
|
|
length = children.length
|
|
|
|
if (index && index.type) {
|
|
index = children.indexOf(index)
|
|
}
|
|
|
|
if (isNaN(index) || index < 0 || index === Infinity) {
|
|
throw new Error('Expected positive finite index or child node')
|
|
}
|
|
|
|
while (++index < length) {
|
|
child = children[index]
|
|
|
|
if (is(child, index, parent)) {
|
|
results.push(child)
|
|
}
|
|
}
|
|
|
|
return results
|
|
}
|