@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
23 lines (21 loc) • 629 B
JavaScript
import { IterableX } from './iterablex';
class DeferIterable extends IterableX {
constructor(fn) {
super();
this._fn = fn;
}
*[Symbol.iterator]() {
for (const item of this._fn()) {
yield item;
}
}
}
/**
* Creates an enumerable sequence based on an iterable factory function.
* @param {function(): Iterable<T>} factory Iterable factory function.
* @return {Iterable<T>} Sequence that will invoke the iterable factory upon a call to [Symbol.iterator]().
*/
export function defer(factory) {
return new DeferIterable(factory);
}
//# sourceMappingURL=defer.mjs.map