Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mrzmmr/unist-util-find-all-between

Open more actions menu

Repository files navigation

unist-util-find-all-between

Travis Coverage Status

unist utility to find nodes between two nodes.

Install

npm i -S unist-util-find-all-between

Usage

const between = require('unist-util-find-all-between')
const u = require('unist-builder')

const parent = u('tree', [
  u('leaf', 'leaf 1'),
  u('node', [u('leaf', 'leaf 2'), u('leaf', 'leaf 3')]),
  u('leaf', 'leaf 4'),
  u('node', [u('leaf', 'leaf 5')]),
  u('leaf', 'leaf 6'),
  u('void'),
  u('leaf', 'leaf 7')
])

const result = between(parent, 0, 4, 'leaf')

console.log(result)

Yields:

[ { type: 'leaf', value: 'leaf 4' } ]

You can also pass a node in as start and/or end. For example given the tree above,

// ...

const start = {
  type: 'leaf',
  value: 'leaf 4'
}

const end = {
  type: 'leaf',
  value: 'leaf 6'
}

const result = between(parent, start, end, 'node')

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

Yields:

[ { type: 'node',
    children: [ { type: 'leaf', value: 'leaf 5' } ] } ]

API

between(parent, start, end[, test])

Find all child nodes of parent, that pass test between but not including start and end.

parent

Type: Node

Parent node to search through.

start

Type: Node | index

Child of parent node. Can be an actual node or the index of a child node. If a node is given, unist-util-find is used to find the node.

end

Type: Node | index

Child of parent node. Can be an actual node or the index of a child node. If a node is given, unist-util-find is used to find the node.

test?

Type: Function | String | Object | Array

Test to find nodes. Uses unist-util-is to check.

Related

Contribute

PRs accepted and greatly appreciated.

License

MIT © Paul Zimmer

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Morty Proxy This is a proxified and sanitized view of the page, visit original site.