UNPKG

719 BJavaScriptView Raw
1import { AsyncIterableX } from './asynciterablex';
2export class SkipWhileAsyncIterable extends AsyncIterableX {
3 constructor(source, predicate) {
4 super();
5 this._source = source;
6 this._predicate = predicate;
7 }
8 async *[Symbol.asyncIterator]() {
9 let yielding = false, i = 0;
10 for await (let element of this._source) {
11 if (!yielding && !await this._predicate(element, i++)) {
12 yielding = true;
13 }
14 if (yielding) {
15 yield element;
16 }
17 }
18 }
19}
20export function skipWhile(source, predicate) {
21 return new SkipWhileAsyncIterable(source, predicate);
22}
23
24//# sourceMappingURL=skipwhile.mjs.map