UNPKG

redis-smq-common

Version:

RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.

78 lines 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventBus = void 0; const index_js_1 = require("../event/index.js"); const index_js_2 = require("./errors/index.js"); class EventBus extends index_js_1.EventEmitter { constructor() { super(); this.connected = false; this.connected = true; } emit(event, ...args) { if (!this.connected) { this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError()); return false; } return super.emit(event, ...args); } on(event, listener) { if (event === 'error') { super.on('error', listener); return this; } if (!this.connected) { this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError()); return this; } super.on(event, listener); return this; } once(event, listener) { if (event === 'error') { super.once('error', listener); return this; } if (!this.connected) { this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError()); return this; } super.once(event, listener); return this; } removeAllListeners(event) { if (event === 'error') { super.removeAllListeners('error'); return this; } if (!this.connected) { this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError()); return this; } super.removeAllListeners(event); return this; } removeListener(event, listener) { if (event === 'error') { super.removeListener('error', listener); return this; } if (!this.connected) { this.eventEmitter.emit('error', new index_js_2.EventBusNotConnectedError()); return this; } super.removeListener(event, listener); return this; } shutdown(cb) { if (this.connected) this.connected = false; cb(); } static createInstance(cb) { const instance = new EventBus(); cb(null, instance); } } exports.EventBus = EventBus; //# sourceMappingURL=event-bus.js.map