unist-util-visit-verse
v1.0.0
Published
unist utility to visit nodes
Downloads
5
Maintainers
Readme
unist-util-visit
unist utility to walk the tree.
Contents
What is this?
This is a very important utility for working with unist as it lets you walk the tree.
When should I use this?
You can use this utility when you want to walk the tree.
You can use unist-util-visit-parents
if you care about the entire stack
of parents.
Install
This package is ESM only. In Node.js (version 12.20+, 14.14+, 16.0+, 18.0+), install with npm:
npm install unist-util-visit
In Deno with esm.sh
:
import {visit} from "https://esm.sh/unist-util-visit@4"
In browsers with esm.sh
:
<script type="module">
import {visit} from "https://esm.sh/unist-util-visit@4?bundle"
</script>
Use
import {u} from 'unist-builder'
import {visit} from 'unist-util-visit'
const tree = u('tree', [
u('leaf', '1'),
u('node', [u('leaf', '2')]),
u('void'),
u('leaf', '3')
])
visit(tree, 'leaf', (node) => {
console.log(node)
})
Yields:
{type: 'leaf', value: '1'}
{type: 'leaf', value: '2'}
{type: 'leaf', value: '3'}
API
This package exports the identifiers visit
, CONTINUE
, SKIP
, and EXIT
.
There is no default export.
visit(tree[, test], visitor[, reverse])
This function works exactly the same as unist-util-visit-parents
,
but visitor
has a different signature.
next? = visitor(node, index, parent)
Instead of being passed an array of ancestors, visitor
is called with the
node
’s index
and its parent
.
Please see unist-util-visit-parents
.
Types
This package is fully typed with TypeScript.
It exports the additional types Test
, VisitorResult
, and Visitor
.
It also exports the types BuildVisitor<Tree extends Node = Node, Check extends
Test = string>
to properly type visitors from a tree and a test, from
unist-util-visit-parents/complex-types.d.ts
.
Compatibility
Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 12.20+, 14.14+, 16.0+, and 18.0+. Our projects sometimes work with older versions, but this is not guaranteed.
Related
unist-util-visit-parents
— walk the tree 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) with the 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, organization, or community you agree to abide by its terms.