UNPKG

dag-iterator

Version:

utility tool to traverse DAG graphs in JavaScript

23 lines (22 loc) 822 B
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;