Allow node emitted events to have multiple arguments

This is fixing a regression introduced in 1.0 where a custom
`Node.emit` function was added that could only handle a single
argument.
This commit is contained in:
Nick O'Leary 2019-10-10 16:35:12 +01:00
parent 053e3ba923
commit 547e7a1b21
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
1 changed files with 4 additions and 4 deletions

View File

@ -169,20 +169,20 @@ Node.prototype._emit = Node.prototype.emit;
/**
* Emit an event to all registered listeners.
*/
Node.prototype.emit = function(event,arg) {
Node.prototype.emit = function(event, ...args) {
var node = this;
if (event === "input") {
// When Pluggable Message Routing arrives, this will be called from
// that and will already be sync/async depending on the router.
if (this._asyncDelivery) {
setImmediate(function() {
node._emitInput(arg);
node._emitInput.apply(node,args);
});
} else {
this._emitInput(arg);
this._emitInput.apply(this,args);
}
} else {
this._emit(event,arg);
this._emit.apply(this,arguments);
}
}