UNPKG

709 BJavaScriptView Raw
1import { IterableX } from './iterablex';
2class GenerateIterable extends IterableX {
3 constructor(initialState, condition, iterate, resultSelector) {
4 super();
5 this._initialState = initialState;
6 this._condition = condition;
7 this._iterate = iterate;
8 this._resultSelector = resultSelector;
9 }
10 *[Symbol.iterator]() {
11 for (let i = this._initialState; this._condition(i); i = this._iterate(i)) {
12 yield this._resultSelector(i);
13 }
14 }
15}
16export function generate(initialState, condition, iterate, resultSelector) {
17 return new GenerateIterable(initialState, condition, iterate, resultSelector);
18}
19
20//# sourceMappingURL=generate.mjs.map