iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
32 lines • 1.22 kB
JavaScript
/* asyncify(AsyncMapIterator) */
/* ra(MapIterator, AsyncMapIterator) */
/* ra(IterableIterator, AsyncIterableIterator) */
/* ra(Symbol.iterator, Symbol.asyncIterator) */
/* ra('IteratorResult<R>', 'Promise<IteratorResult<R>>') */
/* ra(Iteratee, AsyncIteratee) */
/* ra(' Iterator', ' AsyncIterator') */
/** An iterator that takes an input Iterator<T> and maps it's values to the type `R`. */
var MapIterator = /** @class */ (function () {
function MapIterator(iterator, iteratee) {
this.iterator = iterator;
this.iteratee = iteratee;
}
MapIterator.prototype[Symbol.iterator] = function () {
return this;
};
/*i(async)*/ MapIterator.prototype.next = function () {
var _a;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var _b = (_a = this.iterator).next.apply(_a, args), value = _b.value, done = _b.done;
if (done)
return { done: true, value: undefined };
return { value: /*i(await)*/ this.iteratee(value), done: done };
};
return MapIterator;
}());
export { MapIterator };
export default MapIterator;
//# sourceMappingURL=MapIterator.js.map