UNPKG

575 BJavaScriptView Raw
1import { IterableX } from './iterablex';
2export class TakeWhileIterable extends IterableX {
3 constructor(source, predicate) {
4 super();
5 this._source = source;
6 this._predicate = predicate;
7 }
8 *[Symbol.iterator]() {
9 let i = 0;
10 for (let item of this._source) {
11 if (!this._predicate(item, i++)) {
12 break;
13 }
14 yield item;
15 }
16 }
17}
18export function takeWhile(source, predicate) {
19 return new TakeWhileIterable(source, predicate);
20}
21
22//# sourceMappingURL=takewhile.mjs.map