iterama
Version:
Composable functional (async) iterable helpers
39 lines (37 loc) • 1.56 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _awaitAsyncGenerator from "@babel/runtime/helpers/esm/awaitAsyncGenerator";
import _wrapAsyncGenerator from "@babel/runtime/helpers/esm/wrapAsyncGenerator";
import _asyncIterator from "@babel/runtime/helpers/esm/asyncIterator";
export var forEachAsync = function forEachAsync(forEachFn) {
return function (iterable) {
return _defineProperty({}, Symbol.asyncIterator, function () {
return _wrapAsyncGenerator(function* () {
var i = 0;
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError;
try {
for (var _iterator = _asyncIterator(iterable), _step, _value; _step = yield _awaitAsyncGenerator(_iterator.next()), _iteratorNormalCompletion = _step.done, _value = yield _awaitAsyncGenerator(_step.value), !_iteratorNormalCompletion; _iteratorNormalCompletion = true) {
var _value2 = _value;
yield _awaitAsyncGenerator(forEachFn(_value2, i++));
yield _value2;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
yield _awaitAsyncGenerator(_iterator.return());
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
})();
});
};
};
//# sourceMappingURL=for-each-async.js.map