UNPKG

715 BJavaScriptView Raw
1import { AsyncIterableX } from './asynciterablex';
2import { bindCallback } from '../internal/bindcallback';
3export class FlatMapAsyncIterable extends AsyncIterableX {
4 constructor(source, selector) {
5 super();
6 this._source = source;
7 this._selector = selector;
8 }
9 async *[Symbol.asyncIterator]() {
10 for await (let outer of this._source) {
11 const inners = await this._selector(outer);
12 for await (let inner of inners) {
13 yield inner;
14 }
15 }
16 }
17}
18export function flatMap(source, selector, thisArg) {
19 return new FlatMapAsyncIterable(source, bindCallback(selector, thisArg, 1));
20}
21
22//# sourceMappingURL=flatmap.mjs.map