events
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -431,22 +431,26 @@ // Copyright Joyent, Inc. and other Node contributors. | ||
EventEmitter.prototype.listeners = function listeners(type) { | ||
var evlistener; | ||
var ret; | ||
var events = this._events; | ||
function _listeners(target, type, unwrap) { | ||
var events = target._events; | ||
if (!events) | ||
ret = []; | ||
else { | ||
evlistener = events[type]; | ||
if (!evlistener) | ||
ret = []; | ||
else if (typeof evlistener === 'function') | ||
ret = [evlistener.listener || evlistener]; | ||
else | ||
ret = unwrapListeners(evlistener); | ||
} | ||
return []; | ||
return ret; | ||
var evlistener = events[type]; | ||
if (!evlistener) | ||
return []; | ||
if (typeof evlistener === 'function') | ||
return unwrap ? [evlistener.listener || evlistener] : [evlistener]; | ||
return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); | ||
} | ||
EventEmitter.prototype.listeners = function listeners(type) { | ||
return _listeners(this, type, true); | ||
}; | ||
EventEmitter.prototype.rawListeners = function rawListeners(type) { | ||
return _listeners(this, type, false); | ||
}; | ||
EventEmitter.listenerCount = function(emitter, type) { | ||
@@ -453,0 +457,0 @@ if (typeof emitter.listenerCount === 'function') { |
@@ -0,1 +1,5 @@ | ||
# 2.1.0 (2018-05-25) | ||
- add Emitter#rawListeners from Node.js v9.4 | ||
# 2.0.0 (2018-02-02) | ||
@@ -2,0 +6,0 @@ |
{ | ||
"name": "events", | ||
"id": "events", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Node's event emitter for all engines.", | ||
@@ -32,5 +32,6 @@ "keywords": [ | ||
"scripts": { | ||
"test": "mocha --ui qunit -- tests/index.js && zuul -- tests/index.js" | ||
"test": "mocha --ui qunit -- tests/index.js", | ||
"test:browsers": "zuul -- tests/index.js" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -130,1 +130,21 @@ // Copyright Joyent, Inc. and other Node contributors. | ||
} | ||
{ | ||
var ee = new events.EventEmitter(); | ||
ee.on('foo', listener); | ||
var wrappedListener = ee.rawListeners('foo'); | ||
assert.strictEqual(wrappedListener.length, 1); | ||
assert.strictEqual(wrappedListener[0], listener); | ||
assert.notStrictEqual(wrappedListener, ee.rawListeners('foo')); | ||
ee.once('foo', listener); | ||
var wrappedListeners = ee.rawListeners('foo'); | ||
assert.strictEqual(wrappedListeners.length, 2); | ||
assert.strictEqual(wrappedListeners[0], listener); | ||
assert.notStrictEqual(wrappedListeners[1], listener); | ||
assert.strictEqual(wrappedListeners[1].listener, listener); | ||
assert.notStrictEqual(wrappedListeners, ee.rawListeners('foo')); | ||
ee.emit('foo'); | ||
assert.strictEqual(wrappedListeners.length, 2); | ||
assert.strictEqual(wrappedListeners[1].listener, listener); | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
64911
1601
0