Little directed graph with backlink support.
npm install tiny-directed-graph
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);
});
Initialize a new Graph.
Add a node to the graph with a key
and value
Link a 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.
Delete a key
and remove linked
get the value
for a given key
Check if the node exists
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.
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.
Print out the entire graph as JSON.