UNPKG

@gfticket/common

Version:

An auth package to make micro-service authentication easy to integrate for other services

33 lines (32 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Listener = void 0; class Listener { constructor(client) { this.ackWait = 5 * 1000; this.client = client; } subscriptionOptions() { return this.client .subscriptionOptions() .setManualAckMode(true) .setAckWait(this.ackWait) .setDeliverAllAvailable() .setDurableName(this.queueGroupName); } listen() { const subscription = this.client.subscribe(this.subject, this.queueGroupName, this.subscriptionOptions()); subscription.on("message", (msg) => { console.log(`Message received ${msg.getData()} / $queueGroupName`); const parsedData = this.parseMessage(msg); this.onMessage(parsedData, msg); }); } parseMessage(msg) { const data = msg.getData(); return typeof data === "string" ? JSON.parse(data) : JSON.parse(data.toString("utf-8")); } } exports.Listener = Listener;