@thermopylae/lib.cache
Version:
28 lines (27 loc) • 695 B
TypeScript
/**
* @private
*/
declare const DEPENDENCIES_SYM: unique symbol;
/**
* @private
*/
declare const DEPENDENTS_SYM: unique symbol;
/**
* @private
*/
interface GraphEntry {
[DEPENDENCIES_SYM]?: Array<GraphEntry>;
[DEPENDENTS_SYM]?: Array<GraphEntry>;
}
/**
* @private
*/
declare class DependencyGraph<GraphNode extends GraphEntry> {
private static readonly NO_DEPENDENCIES;
removeNode(node: GraphNode): void;
addDependency(from: GraphNode, to: GraphNode): void;
directDependenciesOf(node: GraphNode): ReadonlyArray<GraphNode>;
private static dependencies;
private static dependents;
}
export { DependencyGraph, GraphEntry, DEPENDENCIES_SYM, DEPENDENTS_SYM };