unist-util-remove
[]build
[
]coverage
[
]downloads
[
]size
[
]collective
[
]collective
[
]chat
unist utility to modify the given tree by removing all nodes that pass the given test.
Install
npm:
npm install unist-util-remove
Use
var u = require('unist-builder')
var remove = require('unist-util-remove')
var tree = u('root', [
u('leaf', '1'),
u('node', [
u('leaf', '2'),
u('node', [u('leaf', '3'), u('other', '4')]),
u('node', [u('leaf', '5')])
]),
u('leaf', '6')
])
// Remove all nodes of type `leaf`.
remove(tree, 'leaf')
console.dir(tree, {depth: null})
Yields: (note the parent of 5
is also removed, due to options.cascade
)
{
type: 'root',
children: [
{
type: 'node',
children: [
{ type: 'node', children: [ { type: 'other', value: '4' } ] }
]
}
]
}
API
remove(tree[, options][, test])
Mutate the given tree by removing all nodes that pass test
.
The tree is walked in preorder (NLR), visiting the node itself, then its
head, etc.
Parameters
tree
(Node?
) — Tree to filteroptions.cascade
(boolean
, default:true
) — Whether to drop parent nodes if they had children, but all their children were filtered outtest
(Test
, optional) —is
-compatible test (such as a type)
Returns
Node?
— The given tree
with nodes for which test
passed removed.
null
is returned if tree
itself didn’t pass the test, or is cascaded away.
Related
unist-util-filter
— Create a new tree with all nodes that pass the given functionunist-util-flatmap
— Create a new tree by expanding a node into manyunist-util-map
— Create a new tree by mapping nodesunist-util-select
— Select nodes with CSS-like selectorsunist-util-visit
— Recursively walk over nodesunist-builder
— Creating trees
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.
License
MIT © Eugene Sharygin