UNPKG

@udtickets/common

Version:

35 lines (34 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Listener = void 0; var Listener = /** @class */ (function () { function Listener(client) { this.ackWait = 5 * 1000; this.client = client; } Listener.prototype.subscriptionOptions = function () { return this.client .subscriptionOptions() .setDeliverAllAvailable() .setManualAckMode(true) .setAckWait(this.ackWait) .setDurableName(this.queueGroupName); }; Listener.prototype.listen = function () { var _this = this; var subscription = this.client.subscribe(this.subject, this.queueGroupName, this.subscriptionOptions()); subscription.on("message", function (msg) { console.log("Message received: " + _this.subject + " / " + _this.queueGroupName); var parsedData = _this.parseMessage(msg); _this.onMessage(parsedData, msg); }); }; Listener.prototype.parseMessage = function (msg) { var data = msg.getData(); return typeof data === "string" ? JSON.parse(data) : JSON.parse(data.toString("utf-8")); }; return Listener; }()); exports.Listener = Listener;