linq-extensions
Version:
Linq-like extension methods for JavaScript and TypeScript builtin collections
30 lines • 944 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchIterable = void 0;
const iterable_1 = require("../iterable");
class BatchIterable extends iterable_1.Iterable {
constructor(originalIterable, batchSize) {
super();
this.originalIterable = originalIterable;
this.batchSize = batchSize;
}
*[Symbol.iterator]() {
const iterator = this.originalIterable[Symbol.iterator]();
while (true) {
let i = 0;
let current = iterator.next();
const batch = [];
while (i < this.batchSize && !current.done) {
batch.push(current.value);
i++;
current = iterator.next();
}
yield batch;
if (current.done) {
return;
}
}
}
}
exports.BatchIterable = BatchIterable;
//# sourceMappingURL=batch-iterable.js.map