in tools/src/cycleCheck.ts [63:82]
function findDependencyCycleRecursive(originalIdentifier: string, identifier: string, root: SchemaRefNode, visited: Set<string>): string[] | undefined {
const dependencies = root.children[identifier].children;
for (const dependency of Object.keys(dependencies)) {
if (visited.has(dependency)) {
continue;
}
if (dependency === originalIdentifier) {
return [originalIdentifier];
}
visited.add(dependency);
const result = findDependencyCycleRecursive(originalIdentifier, dependency, root, visited);
if (result) {
return [dependency, ...result];
}
}
return;
}