0.1.1 • Published 11 years ago

topograph v0.1.1

Weekly downloads
2
License
-
Repository
github
Last release
11 years ago

topograph

Stores a graph of nodes and provides topological sorting. Basically just an OO API for toposort so you can build your graph incrementally.

Installation

With packin or component

$ packin add jkroso/graph

then in your app:

var graph = require('graph')

API

Graph()

Graph class

Graph.addNode(node)

add node if not already in the graph

Graph.addEdge(from, to)

add two nodes with a relationship

Graph.addRelationship(from, to)

add a relationship between two existing nodes

Graph.toArray()

convert to a topologically sorted array

Graph.clone()

clone this Graph

Example

new Graph(['c', 'a', 'd', 'b'])
  .addRelationship('a', 'b')
  .addRelationship('b', 'c')
  .addRelationship('c', 'd')
  .toArray() // => ['a', 'b', 'c', 'd']

Running the tests

Just run make and navigate your browser to the test directory.