events: getMaxListeners detects 0 listeners

PR-URL: https://github.com/nodejs/node/pull/56807
Refs: https://github.com/nodejs/undici/issues/4032
Refs: c1ccade02f
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
This commit is contained in:
Khafra
2025-01-30 14:55:18 -05:00
committed by GitHub
parent c2c7f08f83
commit 752c0b869a
2 changed files with 6 additions and 1 deletions

View File

@@ -939,7 +939,7 @@ function getEventListeners(emitterOrTarget, type) {
function getMaxListeners(emitterOrTarget) {
if (typeof emitterOrTarget?.getMaxListeners === 'function') {
return _getMaxListeners(emitterOrTarget);
} else if (emitterOrTarget?.[kMaxEventTargetListeners]) {
} else if (typeof emitterOrTarget?.[kMaxEventTargetListeners] === 'number') {
return emitterOrTarget[kMaxEventTargetListeners];
}

View File

@@ -17,3 +17,8 @@ const { getMaxListeners, EventEmitter, defaultMaxListeners, setMaxListeners } =
setMaxListeners(101, et);
assert.strictEqual(getMaxListeners(et), 101);
}
{
const ac = new AbortController();
assert.strictEqual(getMaxListeners(ac.signal), 0);
}