syndicate-js/packages/server/src/buffer.js

21 lines
451 B
JavaScript

"use strict";
import { List } from "@syndicate-lang/core";
export function buffer(fields, fieldName) {
field fields[fieldName] = List();
return {
push: function (item) {
fields[fieldName] = fields[fieldName].push(item);
},
drain: function (handler) {
dataflow {
if (!fields[fieldName].isEmpty()) {
fields[fieldName].forEach(handler);
fields[fieldName] = List();
}
}
}
};
}