UNPKG

iterama

Version:

Composable functional (async) iterable helpers

42 lines (39 loc) 1.54 kB
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 distinctAsync = function distinctAsync(iterable) { return _defineProperty({}, Symbol.asyncIterator, function () { return _wrapAsyncGenerator(function* () { var isFirst = true; var last; 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 value = _value; if (isFirst || value !== last) { last = value; isFirst = false; yield value; } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return != null) { yield _awaitAsyncGenerator(_iterator.return()); } } finally { if (_didIteratorError) { throw _iteratorError; } } } })(); }); }; //# sourceMappingURL=distinct-async.js.map