@theguild/federation-composition
Version:
Open Source Composition library for Apollo Federation
31 lines • 1.16 kB
text/typescript
export interface Options {
circular?: boolean;
}
export declare class DepGraph<T> {
private nodes;
private outgoingEdges;
private incomingEdges;
private circular;
constructor(opts?: Options);
size(): number;
addNode(name: string, data?: T): void;
removeNode(name: string): void;
hasNode(name: string): boolean;
getNodeData(name: string): string | T | undefined;
setNodeData(name: string, data?: T): void;
addDependency(from: string, to: string): boolean;
removeDependency(from: string, to: string): void;
directDependenciesOf(name: string): string[];
directDependantsOf(name: string): string[];
dependenciesOf(name: string, leavesOnly?: boolean): string[];
dependantsOf(name: string, leavesOnly?: boolean): string[];
overallOrder(leavesOnly?: boolean): string[];
entryNodes(): string[];
directDependentsOf: (name: string) => string[];
dependentsOf: (name: string, leavesOnly?: boolean) => string[];
}
export declare class DepGraphCycleError extends Error {
cyclePath: string[];
constructor(cyclePath: string[]);
}
//# sourceMappingURL=dependency-graph.d.ts.map