@factorialco/shadowdog
Version:
<img src="https://raw.githubusercontent.com/factorialco/shadowdog/refs/heads/main/logo.png" alt="drawing" width="100"/>
34 lines (33 loc) • 786 B
TypeScript
import { Command } from '.';
export interface DependencyObject {
files: string[];
outputs: string[];
}
interface GraphStructure<T extends DependencyObject> {
byLevel: {
[level: number]: Array<{
object: T;
dependencies: T[];
dependents: T[];
}>;
};
nodeConnections: {
[key: string]: {
dependencies: T[];
dependents: T[];
};
};
}
export declare class DependencyGraph<T extends DependencyObject> {
private nodes;
private levels;
constructor();
private addNode;
buildGraph(objects: T[]): DependencyGraph<T>;
private topologicalSort;
getStructure(): GraphStructure<T>;
}
declare const _default: {
command: Command;
};
export default _default;