bottlebo / DAG

Directed acyclic graph

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Usage

let Dag = require('dag');

let dag = new Dag();
// ...

dag.V                               // return vertices
dag.E                               // return edges

dag.add(from, to)                   // add edge
dad.addVertex(v)                    // add vertex

dag.saveObj(v, obj)                 // Save object in vertex
dag.readObj(v)                      // Read object from vertex
dag.removeObj(v)                    // Remove object from vertex

dag.tips                            // Return tips

dag.edgesTo(to)                     // Edges go to a vertex
dag.edgesFrom(from)                 // Edges comes from a vertex

let p = dag.findPathsDown(v)        // Return array of down paths from v as p.paths
                                    // or iterator for(let s of p)
let p = dag.findPathsUp(v)          // Return array of up paths from v as p.paths
                                    // or iterator for(let s of p)

dag.removeVertex(vertex, callback)  // Remove vertex. callback(v, obj)
                                    // v = removed vertex, obj = object stored in vertex
dag.removeEdge(from, to)            // Remove edge

dag.order                           // Verticies length
dag.size                            // Edges length

About

Directed acyclic graph

License:MIT License


Languages

Language:JavaScript 100.0%