summaryrefslogtreecommitdiff
path: root/lib/events.js
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2020-06-13 13:35:16 -0400
committerJames M Snell <jasnell@gmail.com>2020-06-17 12:12:49 -0700
commita4f3206b767bee8ef3e0e1dc8bdbd5e477c5bfa6 (patch)
treeb96e38c56b4a5c4b32904395229ea62dcd532627 /lib/events.js
parent272b46e04d73f72e918c4be4aea0fb7cb90254e2 (diff)
downloadnode-new-a4f3206b767bee8ef3e0e1dc8bdbd5e477c5bfa6.tar.gz
events: improve listeners() performance
PR-URL: https://github.com/nodejs/node/pull/33863 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Diffstat (limited to 'lib/events.js')
-rw-r--r--lib/events.js7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/events.js b/lib/events.js
index 06fed54c61..51259e6821 100644
--- a/lib/events.js
+++ b/lib/events.js
@@ -22,7 +22,6 @@
'use strict';
const {
- Array,
Boolean,
Error,
MathMin,
@@ -613,9 +612,11 @@ function arrayClone(arr) {
}
function unwrapListeners(arr) {
- const ret = new Array(arr.length);
+ const ret = arrayClone(arr);
for (let i = 0; i < ret.length; ++i) {
- ret[i] = arr[i].listener || arr[i];
+ const orig = ret[i].listener;
+ if (typeof orig === 'function')
+ ret[i] = orig;
}
return ret;
}