Generic graph structure with ascetic API.
var Graph = require('tolstoy');
//create from a set of nodes
var graph = new Graph([a, b, c]);
//create from a set of connected nodes
graph = new Graph([[a, b], [b, a], [a, c], ...]);
//create from the other graph (clone)
graph = new Graph(graph);
//add node
graph.add(a).add(b);
//delete and disconnect a node
graph.delete(b);
//remove all nodes with their connections
graph.clear();
//test whether node exists
graph.has(a);
//iterate over all nodes
graph.forEach(function (node) {});
//connect node a to b, b to c
graph.connect(a, b).connect(b, c);
//disconnect node b from a, or from all output nodes, if undefined
//if you need to disconnect all inputs, use `delete(a)` and then `add(a)`.
graph.disconnect(b, a?);
//check whether two nodes are connected
graph.isConnected(a, b);
//default serialization
graph.toJSON();
graph.fromJSON(obj);
//set of nodes
graph.nodes;
//map of node’s connected nodes, undirected
graph.edges;
//map of node's input nodes
graph.inputs;
//map of node's output nodes
graph.outputs;
Version | Tag | Published |
---|---|---|
1.2.4 | latest | 7yrs ago |