@tsdotnet/linq
Version:
A familiar set of functions that operate on JavaScript iterables (ES2015+) in a similar way to .NET's LINQ does with enumerables.
25 lines (22 loc) • 617 B
JavaScript
import Queue from '@tsdotnet/queue';
import same from './same.js';
function buffer(size) {
if (size <= 0)
return same;
return function (sequence) {
return {
*[Symbol.iterator]() {
const q = new Queue();
for (const e of sequence) {
q.enqueue(e);
if (q.count > size)
yield q.dequeue(true);
}
while (!q.isEmpty)
yield q.dequeue(true);
}
};
};
}
export { buffer as default };
//# sourceMappingURL=buffer.js.map