UNPKG

stream-chain

Version:

Chain functions, generators, Node streams, and Web streams into a pipeline with backpressure support.

25 lines (21 loc) 499 B
// @ts-self-types="./batch.d.ts" import {none, flushable} from '../defs.js'; const batch = (n = 100) => { let buffer = []; return flushable(value => { if (value === none) { // clean up buffer if (!buffer.length) return none; const result = buffer; buffer = null; return result; } buffer.push(value); if (buffer.length < n) return none; const result = buffer; buffer = []; return result; }); }; export default batch; export {batch};