UNPKG

data-forge

Version:

JavaScript data transformation and analysis toolkit inspired by Pandas and LINQ.

52 lines 2.06 kB
"use strict"; var __values = (this && this.__values) || function (o) { var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; if (m) return m.call(o); return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; }; Object.defineProperty(exports, "__esModule", { value: true }); // // An iterator that zips together each set of elements in child iterables. // var series_1 = require("../series"); var ZipIterator = /** @class */ (function () { function ZipIterator(iterables, zipper) { this.iterators = iterables.map(function (iterable) { return iterable[Symbol.iterator](); }); this.zipper = zipper; } ZipIterator.prototype.next = function () { var results = this.iterators.map(function (iterator) { return iterator.next(); }); try { for (var results_1 = __values(results), results_1_1 = results_1.next(); !results_1_1.done; results_1_1 = results_1.next()) { var result = results_1_1.value; if (result.done) { // If any are done we are all done. // https://github.com/Microsoft/TypeScript/issues/8938 return { done: true }; // <= explicit cast here!; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (results_1_1 && !results_1_1.done && (_a = results_1.return)) _a.call(results_1); } finally { if (e_1) throw e_1.error; } } var zippedValues = results.map(function (result) { return result.value; }); var zipperInput = new series_1.Series(zippedValues); return { done: false, value: this.zipper(zipperInput) }; var e_1, _a; }; return ZipIterator; }()); exports.ZipIterator = ZipIterator; //# sourceMappingURL=zip-iterator.js.map