🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

unist-util-find-all-between

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

unist-util-find-all-between

Utility to find nodes between two nodes

2.1.0
latest
Source
npm
Version published
Maintainers
1
Created
Source

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.

Contribute

PRs accepted and greatly appreciated.

License

MIT © Paul Zimmer

Keywords

unist

FAQs

Package last updated on 30 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts