@pipepack/graph
Version:
A graph data structure with pipepack related algorithm.
22 lines (21 loc) • 856 B
TypeScript
import { Serialized, NodeID, Adjacents, EdgeID, EdgeWeight, GraphEdge } from './Graph.interface';
declare class Graph {
private edges;
private edgeWeights;
static encodeEdge(u: NodeID, v: NodeID): EdgeID;
constructor(serialized?: Serialized);
adjacent(nid: NodeID): Adjacents;
nodes(): NodeID[];
addNode(nid: NodeID): Graph;
removeNode(nid: NodeID): Graph;
addEdge(u: NodeID, v: NodeID, weight?: EdgeWeight): Graph;
removeEdge(u: NodeID, v: NodeID): Graph;
getEdgeWeight(u: NodeID, v: NodeID): EdgeWeight | undefined;
setEdgeWeight(u: NodeID, v: NodeID, weight?: EdgeWeight): Graph;
wrapEdgeWeight(u: NodeID, v: NodeID): GraphEdge;
serialize(): Serialized;
deserialize(serialized: Serialized): Graph;
indegree(nid: NodeID): number;
outdegree(nid: NodeID): number;
}
export default Graph;