@@ -1622,39 +1622,66 @@ changes:
16221622
16231623See how to write a custom [ rejection handler] [ rejection ] .
16241624
1625- ## ` events.listenerCount(emitter , eventName) `
1625+ ## ` events.listenerCount(emitterOrTarget , eventName) `
16261626
16271627<!-- YAML
16281628added: v0.9.12
1629- deprecated: v3.2.0
1629+ changes:
1630+ - version: REPLACEME
1631+ pr-url: https://github.com/nodejs/node/pull/60214
1632+ description: Now accepts EventTarget arguments.
1633+ - version: REPLACEME
1634+ pr-url: https://github.com/nodejs/node/pull/60214
1635+ description: Deprecation revoked.
1636+ - version: v3.2.0
1637+ pr-url: https://github.com/nodejs/node/pull/2349
1638+ description: Documentation-only deprecation.
16301639-->
16311640
1632- > Stability: 0 - Deprecated: Use [ ` emitter.listenerCount() ` ] [ ] instead.
1641+ * ` emitterOrTarget ` {EventEmitter|EventTarget}
1642+ * ` eventName ` {string|symbol}
1643+ * Returns: {integer}
1644+
1645+ Returns the number of registered listeners for the event named ` eventName ` .
16331646
1634- * ` emitter ` {EventEmitter} The emitter to query
1635- * ` eventName ` {string|symbol} The event name
1647+ For ` EventEmitter ` s this behaves exactly the same as calling ` .listenerCount `
1648+ on the emitter.
16361649
1637- A class method that returns the number of listeners for the given ` eventName `
1638- registered on the given ` emitter ` .
1650+ For ` EventTarget ` s this is the only way to obtain the listener count. This can
1651+ be useful for debugging and diagnostic purposes .
16391652
16401653``` mjs
16411654import { EventEmitter , listenerCount } from ' node:events' ;
16421655
1643- const myEmitter = new EventEmitter ();
1644- myEmitter .on (' event' , () => {});
1645- myEmitter .on (' event' , () => {});
1646- console .log (listenerCount (myEmitter, ' event' ));
1647- // Prints: 2
1656+ {
1657+ const ee = new EventEmitter ();
1658+ ee .on (' event' , () => {});
1659+ ee .on (' event' , () => {});
1660+ console .log (listenerCount (ee, ' event' )); // 2
1661+ }
1662+ {
1663+ const et = new EventTarget ();
1664+ et .addEventListener (' event' , () => {});
1665+ et .addEventListener (' event' , () => {});
1666+ console .log (listenerCount (et, ' event' )); // 2
1667+ }
16481668```
16491669
16501670``` cjs
16511671const { EventEmitter , listenerCount } = require (' node:events' );
16521672
1653- const myEmitter = new EventEmitter ();
1654- myEmitter .on (' event' , () => {});
1655- myEmitter .on (' event' , () => {});
1656- console .log (listenerCount (myEmitter, ' event' ));
1657- // Prints: 2
1673+ {
1674+ const ee = new EventEmitter ();
1675+ ee .on (' event' , () => {});
1676+ ee .on (' event' , () => {});
1677+ console .log (listenerCount (ee, ' event' )); // 2
1678+ }
1679+ {
1680+ const et = new EventTarget ();
1681+ et .addEventListener (' event' , () => {});
1682+ et .addEventListener (' event' , () => {});
1683+ console .log (listenerCount (et, ' event' )); // 2
1684+ }
16581685```
16591686
16601687## ` events.on(emitter, eventName[, options]) `
@@ -2648,7 +2675,6 @@ to the `EventTarget`.
26482675[` Event ` Web API]: https://dom.spec.whatwg.org/#event
26492676[` domain` ]: domain.md
26502677[` e .stopImmediatePropagation ()` ]: #eventstopimmediatepropagation
2651- [` emitter .listenerCount ()` ]: #emitterlistenercounteventname-listener
26522678[` emitter .removeListener ()` ]: #emitterremovelistenereventname-listener
26532679[` emitter .setMaxListeners (n)` ]: #emittersetmaxlistenersn
26542680[` event .defaultPrevented ` ]: #eventdefaultprevented
0 commit comments