unist-util-visit-children

unist utility to visit direct children of a parent

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
unist-util-visit-children
802.0.27 days ago7 years agoMinified + gzip package size for unist-util-visit-children in KB

Readme

unist-util-visit-children
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
unist 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! Use unist-util-visitunist-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.shesmsh:
import {visitChildren} from 'https://esm.sh/unist-util-visit-children@2'

In browsers with esm.shesmsh:
<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 visitChildrenapi-visitchildren. There is no default export.

visitChildren(visitor)

Wrap visitor to be called for each child in the nodes later given to visit.
Parameters
— callback called for each `child` in `parent` later given to `visit`
Returns
Function to call the bound visitor for each child in parent (Visitapi-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 types Visitapi-visit and Visitorapi-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

See contributing.mdcontributing in syntax-tree/.githubhealth for ways to get started. See support.mdsupport 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.

License

MITlicense © Titus Wormerauthor