@@ -0,0 +1,22 @@
+'use strict';
+
+const {none, flushable} = require('../defs');
+const batch = (n = 100) => {
+ let buffer = [];
+ return flushable(value => {
+ if (value === none) {
+ // clean up buffer
+ const result = buffer;
+ buffer = null;
+ return result;
+ }
+ buffer.push(value);
+ if (buffer.length < n) return none;
+ buffer = [];
+ });
+};
+module.exports = batch;