iterama
Version:
Composable functional (async) iterable helpers
37 lines (32 loc) • 941 B
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
export function zip() {
for (var _len = arguments.length, iterables = new Array(_len), _key = 0; _key < _len; _key++) {
iterables[_key] = arguments[_key];
}
return _defineProperty({}, Symbol.iterator, function* () {
var iterators = iterables.map(function (i) {
return i[Symbol.iterator]();
});
try {
while (true) {
var values = iterators.map(function (i) {
return i.next();
});
if (values.some(function (v) {
return v.done;
})) {
break;
}
yield values.map(function (v) {
return v.value;
});
}
} finally {
iterators.forEach(function (i) {
var _i$return;
return (_i$return = i.return) === null || _i$return === void 0 ? void 0 : _i$return.call(i);
});
}
});
}
//# sourceMappingURL=zip.js.map