fish-lsp
Version:
LSP implementation for fish/fish-shell
26 lines (25 loc) • 695 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.flattenNested = flattenNested;
exports.iterateNested = iterateNested;
function flattenNested(...roots) {
const result = [];
let index = 0;
result.push(...roots);
while (index < result.length) {
const current = result[index++];
if (current?.children)
result.push(...current.children);
}
return result;
}
function* iterateNested(...roots) {
const queue = [...roots];
while (queue.length > 0) {
const current = queue.shift();
yield current;
if (current?.children) {
queue.push(...current.children);
}
}
}