live-tree
Fast tree with live iterator
Last updated 5 years ago by mantoni .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install live-tree 
SYNC missed versions from official npm registry.

live-tree.js

Build Status SemVer License

Fast tree with live iterator. The tree can be modified while iterating over the nodes.

Install with npm

npm install live-tree

Browser compatibility

To use this module in a browser, download the npm package and then use Browserify to create a standalone version.

Usage

var Node = require('live-tree').Node;

var n = new Node('root');
n.set('a', 2);
n.set('a.b', 3);
n.set('a.c', 7);

var c, i = n.iterator();
while ((c = i.next()) !== undefined) {
  console.log(c.value);
}

Node API

  • Node(name): Returns a new Node with the given name. The name must be of type string and not empty.
  • name: The name of the node
  • value: The value of the node
  • children: The list of children (see live-list)
  • set(name, value): Sets the value of the named node. If the node does not exist, it is created and added to the children by calling _add(node). The value is changed by calling _value(value).
  • get(name): Returns the value of the named node. If the node does not exist, undefined is returned.
  • remove(name): Removes the named node. If it has children, the value is deleted. Parent nodes in the path with no value and no remaining children will be removed as well.
  • removeAll(): Removes all child nodes
  • node(name): Return the named node or undefined if the node does not exist
  • _add(node): Called by set to add a node to the children. The default implementation does this.children.push(node);.
  • _value(value): Called by set to change the value. The default implementation does this.value = value;.
  • toObject(): Returns a plain object representation of the node and it's children
  • iterator(): Returns a new Iterator

Iterator API

The iterator is derived from min-iterator.

  • Iterator(node): Returns a new Iterator using the given root node
  • next(): Returns the next node in the tree. If there are no items left, undefined is returned.

License

MIT

Current Tags

  • 1.0.0                                ...           latest (5 years ago)

4 Versions

  • 1.0.0                                ...           5 years ago
  • 0.3.0                                ...           6 years ago
  • 0.2.0                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (3)
Dev Dependencies (3)

Copyright 2014 - 2016 © taobao.org |