Skip to content

lapwinglabs/tiny-directed-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Little directed graph with backlink support.

Resources

Stars

Watchers

Forks

Packages

No packages published