JSPM

unist-util-find-all-between

2.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 13118
  • Score
    100M100P100Q152237F
  • License MIT

Utility to find nodes between two nodes

Package Exports

  • unist-util-find-all-between

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unist-util-find-all-between) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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