UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

26 lines (24 loc) 649 B
import { IterableX } from '../iterablex'; export class ExpandIterable extends IterableX { constructor(source, fn) { super(); this._source = source; this._fn = fn; } *[Symbol.iterator]() { const q = [this._source]; while (q.length > 0) { const src = q.shift(); for (const item of src) { q.push(this._fn(item)); yield item; } } } } export function expand(selector) { return function expandOperatorFunction(source) { return new ExpandIterable(source, selector); }; } //# sourceMappingURL=expand.mjs.map