dag-iterator
Version:
utility tool to traverse DAG graphs in JavaScript
23 lines (22 loc) • 822 B
TypeScript
export declare type NodeName = string;
export declare type Tuple<T> = [T, T];
export interface INode<T> {
name: NodeName;
data: T;
}
export interface IEdge {
src: NodeName;
dst: NodeName;
}
export declare enum TraversalMode {
DFS = 0,
BFS = 1,
}
export interface IIteratorOptions {
untilNode?: NodeName;
traversalMode: TraversalMode;
}
export declare type IteratorFn<T> = (node: T, prev: T[], i: number, d: number) => void;
export declare function iterateDfs<T>(nodes: INode<T>[], edges: IEdge[], func: IteratorFn<T>, untilNode?: NodeName): void;
export declare function iterateBfs<T>(nodes: INode<T>[], edges: IEdge[], func: IteratorFn<T>, untilNode?: NodeName): void;
export declare function iterate<T>(nodes: INode<T>[], edges: IEdge[], func: IteratorFn<T>, untilNode?: NodeName): void;