UNPKG

mythtv-event-emitter

Version:
31 lines 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mythNotifier = exports.notifyEvent = void 0; const events_1 = require("events"); function notifyEvent(eventType, sender, eventMessage) { exports.mythNotifier.emit('MythEvent', sender, eventType, eventMessage); } exports.notifyEvent = notifyEvent; class MythEmitter extends events_1.EventEmitter { constructor() { super(); this.hosts = new Map(); this.on('MythEvent', this.handleNotification); } hostEmitter(host) { let ret = this.hosts.get(host); if (!ret) { ret = new events_1.EventEmitter(); this.hosts.set(host, ret); } return ret; } handleNotification(sender, eventType, message) { const eventEmitter = this.hostEmitter(sender); eventEmitter.emit('pre', eventType, message); eventEmitter.emit(eventType, message); eventEmitter.emit('post', eventType, message); } } exports.mythNotifier = new MythEmitter(); //# sourceMappingURL=events.js.map