async-glob-events
Advanced tools
Comparing version 1.2.0 to 1.3.0
# Changes | ||
## 1.3.0 | ||
- Pass `opts` to super constructor | ||
- Treat internal events special and don't pass a callback | ||
## 1.2.0 | ||
@@ -4,0 +9,0 @@ |
@@ -14,8 +14,7 @@ /* | ||
var emit = events.Emitter.prototype.emit; | ||
var invoke = events.Emitter.prototype.invoke; | ||
var addListener = events.Emitter.prototype.addListener; | ||
function AsyncEmitter() { | ||
events.Emitter.call(this); | ||
function AsyncEmitter(opts) { | ||
events.Emitter.call(this, opts); | ||
} | ||
@@ -29,3 +28,3 @@ | ||
var i = this.iterator(event, scope); | ||
if (event === 'newListener' || event === 'removeListener') { | ||
if (this.isInternalEvent(event)) { | ||
invoke.call(this, i, scope); | ||
@@ -66,27 +65,20 @@ return; | ||
function createEvent(event, fn) { | ||
return { | ||
orig: fn, | ||
event: typeof event === 'string' ? event : event.event | ||
}; | ||
} | ||
AsyncEmitter.prototype.addListener = function (event, fn) { | ||
var o = { orig : fn }; | ||
var s; | ||
if (typeof event === 'string') { | ||
o.event = event; | ||
} else { | ||
o.event = event.event; | ||
s = event.scope; | ||
} | ||
addListener.call(this, o, createListener(fn, s)); | ||
var o = createEvent(event, fn); | ||
addListener.call(this, o, | ||
this.isInternalEvent(o.event) ? fn : createListener(fn, event.scope)); | ||
}; | ||
AsyncEmitter.prototype.once = function (event, fn) { | ||
var t = this; | ||
var o = { orig : fn }; | ||
var s; | ||
if (typeof event === 'string') { | ||
o.event = event; | ||
} else { | ||
o.event = event.event; | ||
s = event.scope; | ||
} | ||
var l = createListener(fn, s); | ||
var o = createEvent(event, fn); | ||
var l = this.isInternalEvent(o.event) ? fn : createListener(fn, event.scope); | ||
addListener.call(this, o, function () { | ||
t.removeListener(o.event, fn); | ||
this.emitter.removeListener(o.event, fn); | ||
l.apply(this, arguments); | ||
@@ -113,3 +105,3 @@ }); | ||
} else if (err) { | ||
emit.apply(self, ['error', err]); | ||
self.emit('error', err); | ||
} | ||
@@ -116,0 +108,0 @@ }); |
{ | ||
"name" : "async-glob-events", | ||
"version" : "1.2.0", | ||
"version" : "1.3.0", | ||
"description" : "Event emitter with glob support on event names and asynchronous listeners", | ||
@@ -17,3 +17,3 @@ "keywords" : ["event", "emitter", "glob", "listener", "async", "return values"], | ||
"pretest" : "npm run lint", | ||
"test" : "mocha && mochify --cover" | ||
"test" : "echo '# node:' && mocha -R dot && mochify --cover" | ||
}, | ||
@@ -27,3 +27,3 @@ "repository" : { | ||
"listen" : "^1.0", | ||
"glob-events" : "^1.3" | ||
"glob-events" : "^1.4" | ||
}, | ||
@@ -30,0 +30,0 @@ "devDependencies" : { |
7676
96
Updatedglob-events@^1.4