From 741823cce4f424dd0a16bf4bef6c68d3df809652 Mon Sep 17 00:00:00 2001 From: David Kebler Date: Thu, 5 Dec 2019 15:32:14 -0800 Subject: [PATCH] 0.1.32 change buble up events to 'connection:socket' and 'connection:consumer' --- package.json | 6 +++--- src/base.js | 14 ++++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 536747b..50db733 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uci/base", - "version": "0.1.31", + "version": "0.1.32", "description": "Multi type and transport JSON packet communication base class. Used in UCI extended classes", "main": "src/base", "scripts": { @@ -34,13 +34,13 @@ "chai": "^4.2.0", "esm": "^3.2.25", "mocha": "^6.2.2", - "nodemon": "^2.0.0" + "nodemon": "^2.0.1" }, "dependencies": { "@uci-utils/bind-funcs": "^0.2.4", "@uci-utils/logger": "^0.0.16", "@uci/mqtt": "^0.1.13", - "@uci/socket": "^0.2.22", + "@uci/socket": "^0.2.26", "@uci/websocket": "^0.3.10", "await-to-js": "^2.1.1", "p-reflect": "^2.1.0", diff --git a/src/base.js b/src/base.js index 8a5ff7b..78f1287 100644 --- a/src/base.js +++ b/src/base.js @@ -129,7 +129,7 @@ class Base extends EventEmitter { async init(sockets) { // Object.getPrototypeOf(Object.getPrototypeOf(this).init.call(this,sockets)) - this.socketsInit(sockets) + return this.socketsInit(sockets) // can do other init stuff here } @@ -168,7 +168,9 @@ class Base extends EventEmitter { if (typeof sockets ==='string') sockets = [sockets] // console.log('sockets to initialize',sockets) sockets.forEach(name => { - inits.push({name:name, init:this.getSocketInit(name)}) + if (this._socket[name]) { + inits.push({name:name, init:this.getSocketInit(name)}) + } else log.warn({msg:`no socket registered by name of ${name} to initialize`}) }) // console.log('starting promise',results,errors) let [err] = await to(Promise.all(inits.map(initialize))) @@ -182,7 +184,7 @@ class Base extends EventEmitter { // support old name for now async addSocket(name,type,transport,options) { - this.registerSocket(name,type,transport,options) + return this.registerSocket(name,type,transport,options) } @@ -230,7 +232,7 @@ class Base extends EventEmitter { this._socket[name]._packetProcess = this._packetProcess.bind(this, name) // bubble up events from sockets to instance - const EVENTS=['status','consumer-connection'] // that should emit up from socket to instance + const EVENTS=['log','connection','connection:consumer', 'connection:socket'] // that should emit up from each socket to instance EVENTS.forEach(event => { this._socket[name].on(event, obj => { if (Object.prototype.toString.call(obj) !== '[object Object]') { @@ -300,6 +302,10 @@ class Base extends EventEmitter { getSocketInit(name) { let socket = this._socket[name] + if(!socket) { + log.warn({msg:`can't fetch create/connect function, no socket registered by name of ${name}`}) + return null + } if (this._socket[name].type === 's' && this._socket[name].transport !== 'm') { return socket.create } else {