This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/node_modules/unist-util-find-all-after/index.js
2020-11-01 22:46:04 +00:00

44 lines
953 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 === undefined || index === null) {
throw new Error('Expected positive finite index or child node')
} else if (index && typeof index !== 'number') {
index = children.indexOf(index)
if (index === -1) {
throw new Error('Expected child node')
}
}
if (typeof index !== 'number' || index < 0 || index === Infinity) {
throw new Error('Expected positive finite number as index')
}
while (++index < length) {
child = children[index]
if (is(child, index, parent)) {
results.push(child)
}
}
return results
}