UNPKG

react-obsidian

Version:

Dependency injection framework for React and React Native applications

32 lines 931 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VisitedNodes = void 0; class VisitedNodes { constructor() { this.visitedNodes = new Set(); this.visitPath = []; } visit(graphName, dependencyName) { this.visitPath.push(dependencyName); if (this.canVisit(graphName, dependencyName)) { this.visitedNodes.add(`${graphName}.${dependencyName}`); return true; } return false; } canVisit(graphName, dependencyName) { return !this.visitedNodes.has(`${graphName}.${dependencyName}`); } isCircularPath() { return this.visitedNodes.size < this.visitPath.length; } getNodes() { return this.visitPath; } clear() { this.visitedNodes.clear(); this.visitPath.length = 0; } } exports.VisitedNodes = VisitedNodes; //# sourceMappingURL=VisitedNodes.js.map