UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

21 lines (19 loc) 763 B
import { AsyncIterableX } from './asynciterablex'; class GenerateAsyncIterable extends AsyncIterableX { constructor(initialState, condition, iterate, resultSelector) { super(); this._initialState = initialState; this._condition = condition; this._iterate = iterate; this._resultSelector = resultSelector; } async *[Symbol.asyncIterator]() { for (let i = this._initialState; await this._condition(i); i = await this._iterate(i)) { yield await this._resultSelector(i); } } } export function generate(initialState, condition, iterate, resultSelector) { return new GenerateAsyncIterable(initialState, condition, iterate, resultSelector); } //# sourceMappingURL=generate.mjs.map