UNPKG

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