Skip to content

Commit fd166a8

Browse files
committed
events: return values directly in listeners
Each conditional branch in EventEmitter.prototype.listeners assigns its return value to a variable ret which is returned at the end. Instead just return from within each branch. This is both clearer and more performant. events/ee-listeners.js n=5000000 3.65 % *** 3.359171e-10 PR-URL: #16212 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
1 parent c8d4ff1 commit fd166a8

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

lib/events.js

+10-14
Original file line numberDiff line numberDiff line change
@@ -481,23 +481,19 @@ EventEmitter.prototype.removeAllListeners =
481481
};
482482

483483
EventEmitter.prototype.listeners = function listeners(type) {
484-
var evlistener;
485-
var ret;
486-
var events = this._events;
484+
const events = this._events;
487485

488486
if (events === undefined)
489-
ret = [];
490-
else {
491-
evlistener = events[type];
492-
if (evlistener === undefined)
493-
ret = [];
494-
else if (typeof evlistener === 'function')
495-
ret = [evlistener.listener || evlistener];
496-
else
497-
ret = unwrapListeners(evlistener);
498-
}
487+
return [];
499488

500-
return ret;
489+
const evlistener = events[type];
490+
if (evlistener === undefined)
491+
return [];
492+
493+
if (typeof evlistener === 'function')
494+
return [evlistener.listener || evlistener];
495+
496+
return unwrapListeners(evlistener);
501497
};
502498

503499
EventEmitter.listenerCount = function(emitter, type) {

0 commit comments

Comments
 (0)