message-subscriber
Version:
Subscribe to messages at any Cloud Service. Receive messages only by registering a EventEmitter Listener. (AWS SQS, Azure ESQ, Google Tasks)
31 lines • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageEmitter = void 0;
const node_events_1 = require("node:events");
const eventEmitter = new node_events_1.EventEmitter();
const originalOn = eventEmitter.on;
class MessageEmitter extends node_events_1.EventEmitter {
constructor() {
super();
}
on(...args) {
if (args[0] === 'message') {
const oldFn = args[1];
args[1] = async function (...args) {
try {
var response = await oldFn.apply(this, args);
}
finally {
//@ts-ignore
this.emit(`finished ${args[0].id}`);
//@ts-ignore
this.emit('finished', args[0].id);
}
return response;
};
}
return originalOn.apply(this, args);
}
}
exports.MessageEmitter = MessageEmitter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZUVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWVzc2FnZUVtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTJDO0FBRTNDLE1BQU0sWUFBWSxHQUFHLElBQUksMEJBQVksRUFBRSxDQUFDO0FBQ3hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUM7QUFFbkMsTUFBYSxjQUFlLFNBQVEsMEJBQVk7SUFDOUM7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxFQUFFLENBQUMsR0FBRyxJQUFzRTtRQUNqRixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWhDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsR0FBRyxJQUFTO2dCQUNwQyxJQUFJO29CQUNGLElBQUksUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzlDO3dCQUFTO29CQUNSLFlBQVk7b0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNwQyxZQUFZO29CQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDbkM7Z0JBRUQsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQyxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQXpCRCx3Q0F5QkMifQ==