UNPKG

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
"use strict"; 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==