Package Exports
- unist-util-find-all-between
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unist-util-find-all-between) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
unist-util-find-all-between
unist utility to find nodes between two nodes.
Install
npm i -S unist-util-find-all-betweenUsage
const between = require('unist-util-find-all-between')
const u = require('unist-builder')
const parent = u('tree', [
u('leaf', 'leaf 1'),
u('node', [u('leaf', 'leaf 2'), u('leaf', 'leaf 3')]),
u('leaf', 'leaf 4'),
u('node', [u('leaf', 'leaf 5')]),
u('leaf', 'leaf 6'),
u('void'),
u('leaf', 'leaf 7')
])
const result = between(parent, 0, 4, 'leaf')
console.log(result)Yields:
[ { type: 'leaf', value: 'leaf 4' } ]You can also pass a node in as start and/or end. For example given the tree above,
// ...
const start = {
type: 'leaf',
value: 'leaf 4'
}
const end = {
type: 'leaf',
value: 'leaf 6'
}
const result = between(parent, start, end, 'node')
console.dir(result, {depth: null})Yields:
[ { type: 'node',
children: [ { type: 'leaf', value: 'leaf 5' } ] } ]API
between(parent, start, end[, test])
Find all child nodes of parent, that pass test between but not including start and end.
parent
Type: Node
Parent node to search through.
start
Type: Node | index
Child of parent node. Can be an actual node or the index of a child node. If a node is given, unist-util-find is used to find the node.
end
Type: Node | index
Child of parent node. Can be an actual node or the index of a child node. If a node is given, unist-util-find is used to find the node.
test?
Type: Function | String | Object | Array
Test to find nodes. Uses unist-util-is to check.
Related
Contribute
PRs accepted and greatly appreciated.
License
MIT © Paul Zimmer