unist-util-visit-children
unist utility to visit direct children of a parent.
Contents
What is this?
This is a tiny utility that you can use to create a reusable function that only visits direct children.
When should I use this?
Probably never! Use unist-util-visit
.
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-children
In Deno with esm.sh
:
import {visitChildren} from "https://esm.sh/unist-util-visit-children@2"
In browsers with esm.sh
:
<script type="module">
import {visitChildren} from "https://esm.sh/unist-util-visit-children@2?bundle"
</script>
Use
import u from 'unist-builder'
import {visitChildren} from 'unist-util-visit-children'
const visit = visitChildren(function (node) {
console.log(node)
})
const tree = u('tree', [
u('leaf', 'leaf 1'),
u('node', [u('leaf', 'leaf 2'), u('leaf', 'leaf 3')]),
u('leaf', 'leaf 4'),
u('void')
])
visit(tree)
Yields:
{type: 'leaf', value: 'leaf 1'}
{
type: 'node',
children: [
{type: 'leaf', value: 'leaf 2'},
{type: 'leaf', value: 'leaf 3'}
]
}
{type: 'leaf', value: 'leaf 4'}
{type: 'void'}
API
This package exports the identifier visitChildren
. There is no default export.
visitChildren(visitor)
Wrap visitor
to be called for each child in the nodes later given to visit
.
Returns
visitor(child, index, parent)
Callback called for each child
in parent
later given to visit
.
visit(parent)
Call the bound visitor
for each child in parent
(Parent
).
Types
This package is fully typed with TypeScript. It exports the additional types Visitor
and Visit
.
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
— walk the treeunist-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-find-all-after
— find nodes after another nodeunist-util-find-all-before
— find nodes before another nodeunist-util-find-after
— find a node after another nodeunist-util-find-before
— find a node before another nodeunist-util-find-all-between
— find all nodes between two nodesunist-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.