A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/gorango/unist-util-ancestor below:

gorango/unist-util-ancestor: Unist util for finding the closest common ancestor for multiple nodes

Unist utility for finding the closest common ancestor for multiple nodes. Useful for working with remark, rehype and retext.

npm install unist-util-ancestor
import { u } from 'unist-builder'
import { inspect } from 'unist-util-inspect'
import findAncestor from 'unist-util-ancestor'

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

const nodesToFind = [{ value: 'leaf 1' }, { value: 'leaf 2' }]

console.log(inspect(findAncestor(tree, nodesToFind)))

Yields:

node[2]
├─0 node[1]
│   └─0 leaf "leaf 1"
└─1 node[2]
    ├─0 leaf "leaf 2"
    └─1 node[1]
        └─0 leaf "leaf 3"
findAncestor(tree, nodesToFind[, includeNodes])

Return the closest node that contains all nodesToFind along with data.depth containing the distance between the deepest node.

Run npm test to run tests.

Run npm run coverage to produce a test coverage report.

MIT © Goran Spasojevic


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4