@@ -79,6 +79,11 @@ const lazyDOMException = hideStackFrames((message, name) => {
7979} ) ; 
8080
8181
82+ /** 
83+  * Creates a new `EventEmitter` instance. 
84+  * @param  {{ captureRejections?: boolean; } } [opts] 
85+  * @returns  {EventEmitter } 
86+  */ 
8287function  EventEmitter ( opts )  { 
8388  EventEmitter . init . call ( this ,  opts ) ; 
8489} 
@@ -161,6 +166,12 @@ ObjectDefineProperties(EventEmitter, {
161166  } 
162167} ) ; 
163168
169+ /** 
170+  * Sets the max listeners. 
171+  * @param  {number } n 
172+  * @param  {EventTarget[] | EventEmitter[] } [eventTargets] 
173+  * @returns  {void } 
174+  */ 
164175EventEmitter . setMaxListeners  = 
165176  function ( n  =  defaultMaxListeners ,  ...eventTargets )  { 
166177    if  ( typeof  n  !==  'number'  ||  n  <  0  ||  NumberIsNaN ( n ) ) 
@@ -255,8 +266,11 @@ function emitUnhandledRejectionOrErr(ee, err, type, args) {
255266  } 
256267} 
257268
258- // Obviously not all Emitters should be limited to 10. This function allows 
259- // that to be increased. Set to zero for unlimited. 
269+ /** 
270+  * Increases the max listeners of the event emitter. 
271+  * @param  {number } n 
272+  * @returns  {EventEmitter } 
273+  */ 
260274EventEmitter . prototype . setMaxListeners  =  function  setMaxListeners ( n )  { 
261275  if  ( typeof  n  !==  'number'  ||  n  <  0  ||  NumberIsNaN ( n ) )  { 
262276    throw  new  ERR_OUT_OF_RANGE ( 'n' ,  'a non-negative number' ,  n ) ; 
@@ -271,6 +285,10 @@ function _getMaxListeners(that) {
271285  return  that . _maxListeners ; 
272286} 
273287
288+ /** 
289+  * Returns the current max listener value for the event emitter. 
290+  * @returns  {number } 
291+  */ 
274292EventEmitter . prototype . getMaxListeners  =  function  getMaxListeners ( )  { 
275293  return  _getMaxListeners ( this ) ; 
276294} ; 
@@ -321,6 +339,13 @@ function enhanceStackTrace(err, own) {
321339  return  err . stack  +  sep  +  ownStack . join ( '\n' ) ; 
322340} 
323341
342+ /** 
343+  * Synchronously calls each of the listeners registered 
344+  * for the event. 
345+  * @param  {string | symbol } type 
346+  * @param  {...any } [args] 
347+  * @returns  {boolean } 
348+  */ 
324349EventEmitter . prototype . emit  =  function  emit ( type ,  ...args )  { 
325350  let  doError  =  ( type  ===  'error' ) ; 
326351
@@ -462,12 +487,25 @@ function _addListener(target, type, listener, prepend) {
462487  return  target ; 
463488} 
464489
490+ /** 
491+  * Adds a listener to the event emitter. 
492+  * @param  {string | symbol } type 
493+  * @param  {Function } listener 
494+  * @returns  {EventEmitter } 
495+  */ 
465496EventEmitter . prototype . addListener  =  function  addListener ( type ,  listener )  { 
466497  return  _addListener ( this ,  type ,  listener ,  false ) ; 
467498} ; 
468499
469500EventEmitter . prototype . on  =  EventEmitter . prototype . addListener ; 
470501
502+ /** 
503+  * Adds the `listener` function to the beginning of 
504+  * the listeners array. 
505+  * @param  {string | symbol } type 
506+  * @param  {Function } listener 
507+  * @returns  {EventEmitter } 
508+  */ 
471509EventEmitter . prototype . prependListener  = 
472510    function  prependListener ( type ,  listener )  { 
473511      return  _addListener ( this ,  type ,  listener ,  true ) ; 
@@ -491,13 +529,26 @@ function _onceWrap(target, type, listener) {
491529  return  wrapped ; 
492530} 
493531
532+ /** 
533+  * Adds a one-time `listener` function to the event emitter. 
534+  * @param  {string | symbol } type 
535+  * @param  {Function } listener 
536+  * @returns  {EventEmitter } 
537+  */ 
494538EventEmitter . prototype . once  =  function  once ( type ,  listener )  { 
495539  checkListener ( listener ) ; 
496540
497541  this . on ( type ,  _onceWrap ( this ,  type ,  listener ) ) ; 
498542  return  this ; 
499543} ; 
500544
545+ /** 
546+  * Adds a one-time `listener` function to the beginning of 
547+  * the listeners array. 
548+  * @param  {string | symbol } type 
549+  * @param  {Function } listener 
550+  * @returns  {EventEmitter } 
551+  */ 
501552EventEmitter . prototype . prependOnceListener  = 
502553    function  prependOnceListener ( type ,  listener )  { 
503554      checkListener ( listener ) ; 
@@ -506,7 +557,12 @@ EventEmitter.prototype.prependOnceListener =
506557      return  this ; 
507558    } ; 
508559
509- // Emits a 'removeListener' event if and only if the listener was removed. 
560+ /** 
561+  * Removes the specified `listener` from the listeners array. 
562+  * @param  {string | symbol } type 
563+  * @param  {Function } listener 
564+  * @returns  {EventEmitter } 
565+  */ 
510566EventEmitter . prototype . removeListener  = 
511567    function  removeListener ( type ,  listener )  { 
512568      checkListener ( listener ) ; 
@@ -560,6 +616,13 @@ EventEmitter.prototype.removeListener =
560616
561617EventEmitter . prototype . off  =  EventEmitter . prototype . removeListener ; 
562618
619+ /** 
620+  * Removes all listeners from the event emitter. (Only 
621+  * removes listeners for a specific event name if specified 
622+  * as `type`). 
623+  * @param  {string | symbol } [type] 
624+  * @returns  {EventEmitter } 
625+  */ 
563626EventEmitter . prototype . removeAllListeners  = 
564627    function  removeAllListeners ( type )  { 
565628      const  events  =  this . _events ; 
@@ -623,14 +686,34 @@ function _listeners(target, type, unwrap) {
623686    unwrapListeners ( evlistener )  : arrayClone ( evlistener ) ; 
624687} 
625688
689+ /** 
690+  * Returns a copy of the array of listeners for the event name 
691+  * specified as `type`. 
692+  * @param  {string | symbol } type 
693+  * @returns  {Function[] } 
694+  */ 
626695EventEmitter . prototype . listeners  =  function  listeners ( type )  { 
627696  return  _listeners ( this ,  type ,  true ) ; 
628697} ; 
629698
699+ /** 
700+  * Returns a copy of the array of listeners and wrappers for 
701+  * the event name specified as `type`. 
702+  * @param  {string | symbol } type 
703+  * @returns  {Function[] } 
704+  */ 
630705EventEmitter . prototype . rawListeners  =  function  rawListeners ( type )  { 
631706  return  _listeners ( this ,  type ,  false ) ; 
632707} ; 
633708
709+ /** 
710+  * Returns the number of listeners listening to the event name 
711+  * specified as `type`. 
712+  * @deprecated  since v3.2.0 
713+  * @param  {EventEmitter } emitter 
714+  * @param  {string | symbol } type 
715+  * @returns  {number } 
716+  */ 
634717EventEmitter . listenerCount  =  function ( emitter ,  type )  { 
635718  if  ( typeof  emitter . listenerCount  ===  'function' )  { 
636719    return  emitter . listenerCount ( type ) ; 
@@ -639,6 +722,13 @@ EventEmitter.listenerCount = function(emitter, type) {
639722} ; 
640723
641724EventEmitter . prototype . listenerCount  =  listenerCount ; 
725+ 
726+ /** 
727+  * Returns the number of listeners listening to event name 
728+  * specified as `type`. 
729+  * @param  {string | symbol } type 
730+  * @returns  {number } 
731+  */ 
642732function  listenerCount ( type )  { 
643733  const  events  =  this . _events ; 
644734
@@ -655,6 +745,11 @@ function listenerCount(type) {
655745  return  0 ; 
656746} 
657747
748+ /** 
749+  * Returns an array listing the events for which 
750+  * the emitter has registered listeners. 
751+  * @returns  {any[] } 
752+  */ 
658753EventEmitter . prototype . eventNames  =  function  eventNames ( )  { 
659754  return  this . _eventsCount  >  0  ? ReflectOwnKeys ( this . _events )  : [ ] ; 
660755} ; 
@@ -682,6 +777,13 @@ function unwrapListeners(arr) {
682777  return  ret ; 
683778} 
684779
780+ /** 
781+  * Returns a copy of the array of listeners for the event name 
782+  * specified as `type`. 
783+  * @param  {EventEmitter | EventTarget } emitterOrTarget 
784+  * @param  {string | symbol } type 
785+  * @returns  {Function[] } 
786+  */ 
685787function  getEventListeners ( emitterOrTarget ,  type )  { 
686788  // First check if EventEmitter 
687789  if  ( typeof  emitterOrTarget . listeners  ===  'function' )  { 
@@ -704,6 +806,14 @@ function getEventListeners(emitterOrTarget, type) {
704806                                 emitterOrTarget ) ; 
705807} 
706808
809+ /** 
810+  * Creates a `Promise` that is fulfilled when the emitter 
811+  * emits the given event. 
812+  * @param  {EventEmitter } emitter 
813+  * @param  {string } name 
814+  * @param  {{ signal: AbortSignal; } } [options] 
815+  * @returns  {Promise } 
816+  */ 
707817async  function  once ( emitter ,  name ,  options  =  { } )  { 
708818  const  signal  =  options ?. signal ; 
709819  validateAbortSignal ( signal ,  'options.signal' ) ; 
@@ -801,6 +911,13 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
801911  } 
802912} 
803913
914+ /** 
915+  * Returns an `AsyncIterator` that iterates `event` events. 
916+  * @param  {EventEmitter } emitter 
917+  * @param  {string | symbol } event 
918+  * @param  {{ signal: AbortSignal; } } [options] 
919+  * @returns  {AsyncIterator } 
920+  */ 
804921function  on ( emitter ,  event ,  options )  { 
805922  const  signal  =  options ?. signal ; 
806923  validateAbortSignal ( signal ,  'options.signal' ) ; 
0 commit comments