option-tree-navigate

0.3.0 • Public • Published

option-tree-navigate build status

Navigate an option tree.

 
var NavTree = require('option-tree-navigate')
var assert = require('assert')
 
var tree = NavTree([{
  id: '1',
  options: [
    {id: 'a'},
    {id: 'b'}
  ]
}, {
  id: '2',
  options: [{
    id: 'c',
    options: [
      {id: 'd'}
    ]
  }]
}, {
  id: '3',
  options: [
    {id: 'e'},
    {id: 'f'}
  ]
}])
 
assert.equal(tree.readPath([1, 0, 0]).id, 'd')
assert.deepEqual(tree.nextNode([0, 1]), [1])

usage

tree = NavTree(data, options)

  • options.optionField = 'options': the field name to consider child nodes of a node.

traverse nodes

tree.nextNode(path)

returns the path of the node immediately after the node at path.

tree.prevNode(path)

returns the path of the node immediately before the node at path.

tree.lastNode(path)

returns the path of the last child node of path

traverse nodes by property

tree.nearestWith(prop, path)

returns the path of the nearest node with a truthy value at prop. checks next, then previous.

tree.prevWith(prop, path)

returns the path of the previous node with a truthy value at prop

tree.nextWith(prop, path)

returns the path of the next node with a truthy value at prop

return nodes

tree.read(path)

alias: readPath

reutrns the node at path

tree.children(path)

alias: childNodes

reutrns the child nodes of the node at path

query nodes

has(prop, path)

returns true if the node at path has a truthy value at prop.

Readme

Keywords

none

Package Sidebar

Install

npm i option-tree-navigate

Weekly Downloads

4

Version

0.3.0

License

none

Last publish

Collaborators

  • nrw