README
unist-util-find-before
unist utility to find a node before another node.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install unist-util-find-before
Use
import {u} from 'unist-builder'
import {findBefore} from 'unist-util-find-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 empty = tree.children[5]
console.log(findBefore(tree, empty, 'node'))
Yields:
{type: 'node', children: [{type: 'leaf', value: 'leaf 5'}]}
API
This package exports the following identifiers: findBefore
.
There is no default export.
findBefore(parent, node|index[, test])
Find the first child before index
(or node
) in parent
, that passes
test
.
Parameters
parent
(Node
) — Parent nodenode
(Node
) — Child ofparent
index
(number
, optional) — Index inparent
test
(Function
,string
,Object
,Array
, optional) — Seeunist-util-is
Returns
Node?
— Child of parent
passing test
.
Related
unist-util-find-after
— Find a node after another nodeunist-util-find-all-after
— Find all nodes after another nodeunist-util-find-all-before
— Find all nodes before another nodeunist-util-find-all-between
— Find all nodes between two nodesunist-util-visit
— Recursively walk over nodesunist-util-visit-parents
— Likevisit
, but with a stack of parentsunist-util-filter
— Create a new tree with all nodes that pass a testunist-util-map
— Create a new tree with all nodes mapped by a given functionunist-util-flatmap
— Create a new tree by mapping (to an array) by a given functionunist-util-remove
— Remove nodes from a tree that pass a testunist-util-select
— Select nodes with CSS-like selectors
Contribute
See contributing.md
in syntax-tree/.github
for ways to get
started.
See support.md
for ways to get help.
This project has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.