Comparing version 0.4.5 to 0.5.0
var EventEmitter = require('events').EventEmitter; | ||
var Scrubber = require('./scrubber'); | ||
var Lazy = require('lazy'); | ||
var Seq = require('seq'); | ||
var Hash = require('traverse/hash'); | ||
@@ -8,5 +10,4 @@ var clients = {}; | ||
module.exports = Conn; | ||
Conn.prototype = new EventEmitter; | ||
function Conn (stream, wrapper) { | ||
var self = this; | ||
var self = new EventEmitter; | ||
self.stream = stream; | ||
@@ -35,8 +36,2 @@ | ||
// share an object or a function that builds an object | ||
self.instance = typeof(wrapper) == 'function' | ||
? new wrapper(self.remote, self) | ||
: wrapper | ||
; | ||
Lazy(stream).lines.forEach(function (line) { | ||
@@ -53,2 +48,7 @@ var msg = null; | ||
self.instance = typeof(wrapper) == 'function' | ||
? new wrapper(self.remote, self) | ||
: wrapper | ||
; | ||
stream.on('connect', function () { | ||
@@ -151,2 +151,4 @@ self.emit('connect'); | ||
} | ||
return self; | ||
}; | ||
@@ -153,0 +155,0 @@ |
@@ -5,2 +5,3 @@ var net = require('net'); | ||
var Hash = require('traverse/hash'); | ||
var Seq = require('seq'); | ||
var recon = require('recon'); | ||
@@ -17,8 +18,11 @@ | ||
DNode.prototype = new EventEmitter; | ||
function DNode (wrapper) { | ||
if (!(this instanceof DNode)) return new DNode(wrapper); | ||
if (wrapper === undefined) wrapper = {}; | ||
var self = this; | ||
var self = new EventEmitter; | ||
self.stack = []; | ||
self.use = function (middleware) { | ||
self.stack.push(middleware); | ||
}; | ||
self.connect = function () { | ||
@@ -51,5 +55,4 @@ var params = parseArgs(arguments); | ||
}; | ||
var ready = false; | ||
var conns = []; | ||
@@ -62,8 +65,9 @@ | ||
var conn = new Conn(stream, wrapper); | ||
self.stack.forEach(function (middleware) { | ||
middleware.call(conn.instance, conn.remote, conn); | ||
}); | ||
conn.on('remote', function (remote) { | ||
if (block) { | ||
block.call(conn.instance, remote, conn); | ||
if (opts.ping) pingInterval(conn, opts.ping, opts.timeout); | ||
} | ||
if (opts.ping) pingInterval(conn, opts.ping, opts.timeout); | ||
if (block) block.call(conn.instance, remote, conn); | ||
}); | ||
@@ -70,0 +74,0 @@ |
{ | ||
"name" : "dnode", | ||
"version" : "0.4.5", | ||
"description" : "JSON-based asynchronous RMI between nodes and the browser. Throw callbacks around like nobody's business.", | ||
"version" : "0.5.0", | ||
"description" : "Call remote methods and callbacks with a JSON-based protocol. RMI for network sockets and the browser too!", | ||
"modules" : { | ||
@@ -6,0 +6,0 @@ "index" : "./lib/dnode", |
@@ -36,4 +36,5 @@ var dnode = require('dnode'); | ||
assert.eql(x, 0.5); | ||
client.end(); | ||
conn.end(); | ||
server2.close(); | ||
client.end(); | ||
}); | ||
@@ -40,0 +41,0 @@ }, 500); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
102195
61
2249
354