@akiroz/thalamus
Advanced tools
Comparing version 0.0.8 to 0.0.9
/// <reference types="node" /> | ||
import { EventEmitter } from "events"; | ||
import { MQEmitter } from "mqemitter"; | ||
import * as MQTT from "async-mqtt"; | ||
@@ -7,3 +8,6 @@ import * as RPC from "@akiroz/pubsub-rpc"; | ||
export default class Thalamus extends EventEmitter { | ||
ee: EventEmitter; | ||
handlers: { | ||
[topic: string]: Set<SubHandler>; | ||
}; | ||
emitter: MQEmitter; | ||
servers: MQTT.AsyncMqttClient[]; | ||
@@ -10,0 +14,0 @@ constructor(serverOptList?: MQTT.IClientOptions[]); |
@@ -86,2 +86,3 @@ "use strict"; | ||
var events_1 = require("events"); | ||
var mqemitter_1 = require("mqemitter"); | ||
var p_any_1 = __importDefault(require("p-any")); | ||
@@ -95,3 +96,4 @@ var MQTT = __importStar(require("async-mqtt")); | ||
var _this = _super.call(this) || this; | ||
_this.ee = new events_1.EventEmitter(); | ||
_this.handlers = {}; | ||
_this.emitter = mqemitter_1.MQEmitter(); | ||
if (serverOptList.length < 1) | ||
@@ -104,3 +106,4 @@ throw Error("No MQTT servers"); | ||
this_1.servers[i].on("error", function (err) { return _this.emit("error", err, i); }); | ||
this_1.servers[i].on("message", function (topic, message) { return _this.ee.emit(topic, message, topic); }); | ||
// @ts-ignore emitter wrong type declaration | ||
this_1.servers[i].on("message", function (topic, message) { return _this.emitter.emit({ topic: topic, message: message }); }); | ||
}; | ||
@@ -167,3 +170,4 @@ var this_1 = this; | ||
case 0: | ||
this.ee.addListener(topic, handler); | ||
// @ts-ignore emitter wrong type declaration | ||
this.emitter.on(topic, handler); | ||
return [4 /*yield*/, p_any_1["default"](this.servers.map(function (srv) { return srv.subscribe(topic); }))]; | ||
@@ -182,6 +186,4 @@ case 1: | ||
case 0: | ||
if (handler) | ||
this.ee.removeListener(topic, handler); | ||
else | ||
this.ee.removeAllListeners(topic); | ||
// @ts-ignore emitter wrong type declaration | ||
this.emitter.removeListener(topic, handler); | ||
return [4 /*yield*/, p_any_1["default"](this.servers.map(function (srv) { return srv.unsubscribe(topic); }))]; | ||
@@ -188,0 +190,0 @@ case 1: |
{ | ||
"name": "@akiroz/thalamus", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"repository": "github:akiroz/Thalamus", | ||
@@ -31,4 +31,5 @@ "main": "dist/thalamus.js", | ||
"events": "^3.1.0", | ||
"mqemitter": "^4.2.0", | ||
"p-any": "^3.0.0" | ||
} | ||
} |
14615
238
5
+ Addedmqemitter@^4.2.0
+ Addedfastparallel@2.4.1(transitive)
+ Addedmqemitter@4.5.0(transitive)
+ Addedqlobber@5.0.3(transitive)
+ Addedreusify@1.0.4(transitive)