connection-manager
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -16,3 +16,4 @@ /** | ||
var objectAssert = require('object-assert'), | ||
ArrayKeys = require('array-keys'); | ||
ArrayKeys = require('array-keys'), | ||
debug = require('debug')('connection-manager'); | ||
@@ -53,2 +54,3 @@ /** | ||
for (var i = 0, len = keys.length; i < len; i += 1) { | ||
debug('processing listener: ' + keys[i]); | ||
// wrapper for listener callbacks | ||
@@ -60,13 +62,14 @@ if (typeof client.indexedListeners[keys[i]] === 'undefined') { | ||
continue; | ||
} else { | ||
// new scope, register listeners for it | ||
client.indexedListeners[keys[i]][client.id + '__' + scope.id] = listenerWrapper(client.listeners[keys[i]]); | ||
} | ||
try { | ||
client.addListener.apply(buildScope(scope, client), [keys[i], client.indexedListeners[keys[i]][client.id + '__' + scope.id]]); | ||
} catch (e) { | ||
throw new Error(e); | ||
} | ||
// new scope, register listeners for it | ||
client.indexedListeners[keys[i]][client.id + '__' + scope.id] = listenerWrapper(client.listeners[keys[i]]); | ||
try { | ||
client.addListener.apply(buildScope(scope, client), [keys[i], client.indexedListeners[keys[i]][client.id + '__' + scope.id]]); | ||
} catch (e) { | ||
throw new Error(e); | ||
} | ||
} | ||
return client; | ||
@@ -236,9 +239,12 @@ } | ||
// error with client connection | ||
debug('connect call failed: ' + err); | ||
return cb(err); | ||
} | ||
debug('connect call completed without error'); | ||
client.connection = c; | ||
registerListeners(scope, client); | ||
client = registerListeners(scope, client); | ||
self.add(scope, client); | ||
debug('calling callback'); | ||
cb(null, client); | ||
@@ -269,2 +275,3 @@ }); | ||
if (! client) { | ||
debug('no record found with id: ' + id); | ||
return undefined; | ||
@@ -271,0 +278,0 @@ } |
{ | ||
"name": "connection-manager", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"description": "Store, checkout & keepalive active connections from multiple locations in your code-base.", | ||
@@ -8,2 +8,3 @@ "main": "./index.js", | ||
"array-keys": "^1.2.6", | ||
"debug": "^2.1.1", | ||
"object-assert": "^0.0.1" | ||
@@ -10,0 +11,0 @@ }, |
@@ -85,3 +85,4 @@ if (typeof define !== 'function') { | ||
listenersConnect: false, | ||
listenersDisconnect: false | ||
listenersDisconnect: false, | ||
listenersStar: false | ||
}; | ||
@@ -99,2 +100,7 @@ | ||
listeners: { | ||
'*': function (obj) { | ||
this.scope.star = true; | ||
checklist.listenersStar = true; | ||
test.assertAnd(this.connection.myConnectionObject, true); | ||
}, | ||
connect: function (obj) { | ||
@@ -113,17 +119,38 @@ this.scope.connected = true; | ||
connect: function (cb) { | ||
console.log('this: ', this); | ||
checklist.connect = true; | ||
test.assertAnd(this.scope.foo, 'bar cm1'); | ||
var events = require('events'); | ||
var connectObj = { | ||
myConnectionObject: true | ||
myConnectionObject: true, | ||
emitter: new events.EventEmitter() | ||
}; | ||
cb(null, connectObj); | ||
}, | ||
addListener: function () {}, | ||
removeListener: function () {}, | ||
addListener: function (name, func) { | ||
this.connection.emitter.on(name, func); | ||
}, | ||
removeListener: function (name, funcName) { | ||
this.connection.emitter.on(name, func); | ||
}, | ||
disconnect: function (cb) { cb(null); } | ||
}, function (err, client) { | ||
if (err) { test.result(false, err); } | ||
else { test.assertType(client.connection, 'object'); } | ||
if (err) { | ||
test.result(false, err); | ||
} else { | ||
test.assertTypeAnd(client.connection, 'object'); | ||
client.connection.emitter.emit('connect', {hello:'world'}); | ||
client.connection.emitter.emit('disconnect', {hello:'world'}); | ||
client.connection.emitter.emit('*', {hello:'world'}); | ||
test.assert(checklist, { | ||
connect: true, | ||
disconnect: false, | ||
listenersConnect: true, | ||
listenersDisconnect: true, | ||
listenersStar: true | ||
}); | ||
} | ||
}); | ||
@@ -158,3 +185,4 @@ } | ||
run: function (env, test) { | ||
test.assertType(env.cm4.get('test-client', env.credentials['test-client']), 'undefined'); | ||
var client = env.cm4.get('test-client', env.credentials['test-client']); | ||
test.assertType(client, 'undefined'); | ||
} | ||
@@ -180,3 +208,5 @@ }, | ||
run: function (env, test) { | ||
test.assertType(env.cm2.get('test-client', env.credentials['test-client']), 'object'); | ||
var client = env.cm2.get('test-client', env.credentials['test-client']); | ||
console.log('client: ', client); | ||
test.assertType(client, 'object'); | ||
} | ||
@@ -183,0 +213,0 @@ }, |
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
33748
876
3
+ Addeddebug@^2.1.1
+ Addeddebug@2.6.9(transitive)
+ Addedms@2.0.0(transitive)