tiny-directed-graph v0.0.6
tiny-directed-graph
Little directed graph with backlink support.
Installation
npm install tiny-directed-graphExample
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.