unist-util-flat-filter
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

unist-util-filter

unist utility to create a new tree with all nodes that pass the given test.

Install

npm:

npm install unist-util-flat-filter

Usage

import u from 'unist-builder';
import flatFilter from 'unist-util-flat-filter';

const tree = u('root', [
  u('leaf', '1'),
  u('node', [u('leaf', '2'), u('node', [u('leaf', '3')])]),
  u('leaf', '4')
])

const newTree = flatFilter(tree, node => node.type === 'leaf')

console.dir(newTree, {depth: null})

Yields:

{
  type: 'root',
  children: [
    { type: 'leaf', value: '1' },
    { type: 'leaf', value: '2' },
    { type: 'leaf', value: '3' },
    { type: 'leaf', value: '4' }
  ]
}

API

filter(tree[, test])

Create a new tree consisting of copies of all nodes that pass test. The tree is walked in inorder, visiting the parent, then the children nodes node itself, etc.

Parameters
  • tree (Node?) — Tree to filter
  • test (Test, optional) — is-compatible test (such as a type)
Returns

Node? — New filtered tree. null is returned if tree itself didn’t pass the test, or is cascaded away.

Package Sidebar

Install

npm i unist-util-flat-filter

Weekly Downloads

1,051

Version

2.0.0

License

MIT

Unpacked Size

4.79 kB

Total Files

4

Last publish

Collaborators

  • crutchcorn