UNPKG

react-obsidian

Version:

Dependency injection framework for React and React Native applications

28 lines (20 loc) 652 B
import { VisitedNodes } from './VisitedNodes'; export class CircularDependenciesDetector { private visitedNodes = new VisitedNodes(); constructor(public graphName: string) {} public visit(graphName: string, dependencyName: string): boolean { return this.visitedNodes.visit(graphName, dependencyName); } public hasCircularDependencies(): boolean { return this.visitedNodes.isCircularPath(); } public getDependencies(): string[] { return this.visitedNodes.getNodes(); } public get firstDependencyName(): string { return this.visitedNodes.getNodes()[0]; } public clear() { this.visitedNodes.clear(); } }