UNPKG

topological-sort-group

Version:

Topological sorting and cycle detection. Optional grouping for parallel processing

25 lines (24 loc) 797 B
import type { Cycle, DependencyGraph, GraphOptions, Key, SortModeEnum, SortResult } from './types.js'; export default class Graph<T> { protected size: number; static SortMode: { readonly Group: 1; readonly Flat: 2; }; private nodeMap; private duplicateMap; private path; constructor(options?: GraphOptions); static from<T>(input: DependencyGraph<T>, options?: GraphOptions): Graph<T>; toGraph(): DependencyGraph<T>; private key; keys(): Key[]; value(key: Key): T; edges(key: Key): Key[]; addNode(value: T): void; addNode(id: string, value: T): void; addDependency(dependent: string, dependency: string): void; degrees(): Record<Key, number>; cycles(): Cycle[]; sort(mode?: SortModeEnum): SortResult<T>; }