UNPKG

@loken/hierarchies

Version:

Library for working with hierarchies of identifiers and identifiable objects.

21 lines (20 loc) 822 B
import { SequenceSignal } from "./sequence-signal.js"; const flattenSequence = (options) => options.signal !== void 0 ? flattenSignalSequence(options) : flattenFullSequence(options), flattenSignalSequence = (options) => { const result = [], signal = new SequenceSignal(options), signalFn = options.signal; let res = signal.tryGetNext(); for (; res[1]; ) signalFn(res[0], signal), signal.shouldYield() && result.push(res[0]), signal.cleanup(), res = signal.tryGetNext(); return result; }, flattenFullSequence = (options) => { const result = []; let current = options.first; for (; current !== void 0; ) result.push(current), current = options.next(current); return result; }; export { flattenFullSequence, flattenSequence, flattenSignalSequence }; //# sourceMappingURL=sequence-flatten.js.map