unist-util-find-all-before
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sizesize-badgesize
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatunistunist utility to find nodes before another node.
Install
This package is ESM only: Node 12+ is needed to use it and it must beimport
ed instead of require
d.npm install unist-util-find-all-before
## Use
```js
import {u} from 'unist-builder'
import {findAllBefore} from 'unist-util-find-all-before'
var tree = 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')
])
var leaf6 = tree.children[4]
console.log(findAllBefore(tree, leaf6, 'leaf'))
Yields:
[
{ type: 'leaf', value: 'leaf 4' },
{ type: 'leaf', value: 'leaf 1' }
]
API
This package exports the following identifiers:findAllBefore
.
There is no default export.findAllBefore(parent, node|index[, test])
Find the first child before index
(or node
) in parent
, that passes test
(when given).Parameters
parent
(Node
node) — Parent nodenode
(Node
node) — Child ofparent
index
(number
, optional) — Index inparent
test
(Function
,string
,Object
,Array
, optional)
— See [`unist-util-is`][is]
Returns
Array.<Node>
node — Children of parent
passing test
.Related
— Find a node after another node
— Find a node before another node
— Find all nodes after another node
— Find all nodes between two nodes
— Recursively walk over nodes
— Like `visit`, but with a stack of parents
— Create a new tree with all nodes that pass a test
— Create a new tree with all nodes mapped by a given function
— Create a new tree by mapping (to an array) with a given function
— Remove nodes from a tree that pass a test
— Select nodes with CSS-like selectors
Contribute
Seecontributing.md
in syntax-tree/.github
contributing for ways to get
started.
See support.md
support for ways to get help.This project has a Code of Conductcoc. By interacting with this repository, organisation, or community you agree to abide by its terms.