UNPKG

iterama

Version:

Composable functional (async) iterable helpers

31 lines (25 loc) 649 B
Object.defineProperty(exports, "__esModule", { value: true }); exports.zip = zip; function zip(...iterables) { return { *[Symbol.iterator]() { const iterators = iterables.map(i => i[Symbol.iterator]()); try { while (true) { const values = iterators.map(i => i.next()); if (values.some(v => v.done)) { break; } yield values.map(v => v.value); } } finally { iterators.forEach(i => { var _i$return; return (_i$return = i.return) === null || _i$return === void 0 ? void 0 : _i$return.call(i); }); } } }; }