@bazilio-san/af-stream
Version:
Data stream from database table
32 lines • 1.19 kB
JavaScript
import AbstractSender from './AbstractSender';
class CallbackSender extends AbstractSender {
constructor(options) {
super(options);
const { eventCallback } = options.senderConfig;
if (typeof eventCallback !== 'function') {
options.exitOnError(`Missing event callback function when instantiating CallbackSender class`);
}
this.eventCallback = eventCallback;
}
async connect() {
this.options.echo.info(`=================== Callback Sender is Ready ===================`);
return true;
}
async sendEvents(recordsComposite) {
const { eventsPacket } = recordsComposite;
if (!eventsPacket.length) {
return false;
}
const packet = eventsPacket.splice(0, eventsPacket.length);
const pl = packet.length;
recordsComposite.sentBufferLength = pl;
recordsComposite.sendCount = pl;
recordsComposite.last = packet[pl - 1];
packet.forEach((row) => {
this.eventCallback(row);
});
return true;
}
}
export default CallbackSender;
//# sourceMappingURL=CallbackSender.js.map