unist-util-visit-children
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sizesize-badgesize
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatunist utility to visit direct children of a parent.
Contents
* [`visitChildren(visitor)`](#visitchildrenvisitor)
* [`Visitor`](#visitor)
* [`Visit`](#visit)
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! Useunist-util-visit
unist-util-visit.Install
This package is ESM onlyesm. In Node.js (version 14.14+ and 16.0+), install with npm:npm install unist-util-visit-children
In Deno with
esm.sh
esmsh:import {visitChildren} from 'https://esm.sh/unist-util-visit-children@2'
In browsers with
esm.sh
esmsh:<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 identifiervisitChildren
api-visitchildren.
There is no default export.visitChildren(visitor)
Wrap visitor
to be called for each child in the nodes later given to visit
.Parameters
visitor
(Visitor
api-visitor)
— callback called for each `child` in `parent` later given to `visit`
Returns
Function to call the boundvisitor
for each child in parent
(Visit
api-visit).Visitor
Callback called for each child
in parent
later given to visit
(TypeScript type).Parameters
— child of parent
index
(number
)
— position of `child` in parent
— parent node
Returns
Nothing (void
).Visit
Function to call the bound visitor
for each child in parent
(TypeScript type).Parameters
— parent node
Returns
Nothing (void
).Types
This package is fully typed with TypeScript. It exports the additional typesVisit
api-visit and
Visitor
api-visitor.Compatibility
Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed.Related
— walk the tree
— walk the tree 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 the given function
— find nodes after another node
— find nodes before another node
— find a node after another node
— find a node before another node
— find all nodes between two nodes
— remove nodes from a tree that pass a test
— select nodes with CSS-like selectors
Contribute
Seecontributing.md
contributing in syntax-tree/.github
health 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.