From a120cfc494abb358ebf1e916268b345d057768ff Mon Sep 17 00:00:00 2001 From: Khafra <42794878+KhafraDev@users.noreply.github.com> Date: Fri, 10 Mar 2023 19:33:08 -0500 Subject: [PATCH 1/4] events: add getMaxListeners method --- doc/api/events.md | 51 ++++++++++++++++++++ lib/events.js | 18 +++++++ test/parallel/test-events-getmaxlisteners.js | 19 ++++++++ 3 files changed, 88 insertions(+) create mode 100644 test/parallel/test-events-getmaxlisteners.js diff --git a/doc/api/events.md b/doc/api/events.md index f1ee1de01121a1..cc72b4e35e8780 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -1266,6 +1266,57 @@ const { getEventListeners, EventEmitter } = require('node:events'); } ``` +## `events.getMaxListeners(emitterOrTarget)` + + + +* `emitterOrTarget` {EventEmitter|EventTarget} +* Returns: {number} + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. + +```mjs +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +```cjs +const { getMaxListeners, setMaxListeners, EventEmitter } = require('node:events'); + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + ## `events.once(emitter, name[, options])`