tiny-directed-graph

0.0.6 • Public • Published

tiny-directed-graph

Little directed graph with backlink support.

Installation

npm install tiny-directed-graph

Example

graph.put('a', 53)
graph.put('b')
graph.put('c')
graph.put('d', 2)

graph.link('a', 'b')
graph.link('b', 'c')
graph.link('b', 'd')
graph.link('d', 'e')
graph.link('a', 'e')

graph.up('e', 1, function(k) {
  console.log('up', k);
});

API

graph = Graph()

Initialize a new Graph.

graph.put(key, value)

Add a node to the graph with a key and value

graph.link(key1, key2)

Link a key1 => key2

graph.unlink(key1, key2)

Unlink key1 from key2. You can also pass an array of keys to unlink, or if you don't specify key2, it will unlink all edges.

graph.del(key)

Delete a key and remove linked

graph.get(key)

get the value for a given key

graph.exists(key)

Check if the node exists

graph.up(key, [depth], fn)

Walk up the graph calling fn(parents), starting at key. Optionally supply a depth. If no depth is specified, it will walk up the entire graph.

parents is an object containing key value pairs of all the parents.

graph.down(key, [depth], fn)

Walk down the graph calling fn(children), starting at key. Optionally supply a depth. If no depth is specified, it will walk down the entire graph.

children is an object containing key value pairs of all the children.

graph.toString()

Print out the entire graph as JSON.

Readme

Keywords

none

Package Sidebar

Install

npm i tiny-directed-graph

Weekly Downloads

0

Version

0.0.6

License

MIT

Last publish

Collaborators

  • bdentino
  • mattmueller