UNPKG

@zero-scripts/core

Version:

Framework for creating presets, configurations and extensions

19 lines 758 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolve = void 0; function resolve(rootNode, resolved = [], unresolved = []) { unresolved.push(rootNode); rootNode.edges.forEach(edgeNode => { if (resolved.findIndex(node => node.id === edgeNode.id) === -1) { if (unresolved.findIndex(node => node.id === edgeNode.id) !== -1) { throw new Error(`Circular reference detected: ${rootNode.id} => ${edgeNode.id}`); } resolve(edgeNode, resolved, unresolved); } }); resolved.push(rootNode); unresolved.splice(unresolved.indexOf(rootNode)); return resolved; } exports.resolve = resolve; //# sourceMappingURL=resolve.js.map