UNPKG

data-forge

Version:

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

42 lines 1.45 kB
"use strict"; // // Iterates an underlying iterable in the 'windows'. // Object.defineProperty(exports, "__esModule", { value: true }); var dataframe_1 = require("../dataframe"); var DataFrameWindowIterator = /** @class */ (function () { function DataFrameWindowIterator(columnNames, iterable, period) { this.columnNames = columnNames; this.iterable = iterable; this.period = period; } DataFrameWindowIterator.prototype.next = function () { if (!this.iterator) { this.iterator = this.iterable[Symbol.iterator](); } var curWindow = []; for (var i = 0; i < this.period; ++i) { var curPos = this.iterator.next(); if (curPos.done) { // Underlying iterator is finished. break; } curWindow.push(curPos.value); } if (curWindow.length === 0) { // Underlying iterator doesn't have required number of elements. return { done: true }; } var window = new dataframe_1.DataFrame({ columnNames: this.columnNames, pairs: curWindow }); return { value: window, done: false, }; }; return DataFrameWindowIterator; }()); exports.DataFrameWindowIterator = DataFrameWindowIterator; //# sourceMappingURL=dataframe-window-iterator.js.map