chore: generate documentation
[poolifier.git] / docs / classes / PoolEmitter.html
index c5f2e07590ab0afef59882c11452eeaafdb1d50c..ac882ee517be1966f59800e0b2e68389c98834f8 100644 (file)
@@ -25,7 +25,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">PoolEmitter</span></li></ul></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/812ad70/src/pools/pool.ts#L17">src/pools/pool.ts:17</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/ef41a6e/src/pools/pool.ts#L35">src/pools/pool.ts:35</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -157,7 +157,7 @@ regular <code>&#39;error&#39;</code> listener is installed.</p>
 <div class="tsd-comment tsd-typography"><p>Synchronously calls each of the listeners registered for the event named<code>eventName</code>, in the order they were registered, passing the supplied arguments
 to each.</p>
 <p>Returns <code>true</code> if the event had listeners, <code>false</code> otherwise.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">EventEmitter</span><span class="hl-1"> = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEmitter</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-5">// First listener</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">firstListener</span><span class="hl-1">() {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;Helloooo! first listener&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-5">// Second listener</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">secondListener</span><span class="hl-1">(</span><span class="hl-6">arg1</span><span class="hl-1">, </span><span class="hl-6">arg2</span><span class="hl-1">) {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">`event with parameters </span><span class="hl-0">${</span><span class="hl-6">arg1</span><span class="hl-0">}</span><span class="hl-4">, </span><span class="hl-0">${</span><span class="hl-6">arg2</span><span class="hl-0">}</span><span class="hl-4"> in second listener`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-5">// Third listener</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">thirdListener</span><span class="hl-1">(...</span><span class="hl-6">args</span><span class="hl-1">) {</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">parameters</span><span class="hl-1"> = </span><span class="hl-6">args</span><span class="hl-1">.</span><span class="hl-3">join</span><span class="hl-1">(</span><span class="hl-4">&#39;, &#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">`event with parameters </span><span class="hl-0">${</span><span class="hl-6">parameters</span><span class="hl-0">}</span><span class="hl-4"> in third listener`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">listeners</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">));</span><br/><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">3</span><span class="hl-1">, </span><span class="hl-7">4</span><span class="hl-1">, </span><span class="hl-7">5</span><span class="hl-1">);</span><br/><br/><span class="hl-5">// Prints:</span><br/><span class="hl-5">// [</span><br/><span class="hl-5">//   [Function: firstListener],</span><br/><span class="hl-5">//   [Function: secondListener],</span><br/><span class="hl-5">//   [Function: thirdListener]</span><br/><span class="hl-5">// ]</span><br/><span class="hl-5">// Helloooo! first listener</span><br/><span class="hl-5">// event with parameters 1, 2 in second listener</span><br/><span class="hl-5">// event with parameters 1, 2, 3, 4, 5 in third listener</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">EventEmitter</span><span class="hl-0"> = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEmitter</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-7">// First listener</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">firstListener</span><span class="hl-0">() {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;Helloooo! first listener&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><span class="hl-7">// Second listener</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">secondListener</span><span class="hl-0">(</span><span class="hl-3">arg1</span><span class="hl-0">, </span><span class="hl-3">arg2</span><span class="hl-0">) {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">`event with parameters </span><span class="hl-4">${</span><span class="hl-3">arg1</span><span class="hl-4">}</span><span class="hl-6">, </span><span class="hl-4">${</span><span class="hl-3">arg2</span><span class="hl-4">}</span><span class="hl-6"> in second listener`</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><span class="hl-7">// Third listener</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">thirdListener</span><span class="hl-0">(...</span><span class="hl-3">args</span><span class="hl-0">) {</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">parameters</span><span class="hl-0"> = </span><span class="hl-3">args</span><span class="hl-0">.</span><span class="hl-2">join</span><span class="hl-0">(</span><span class="hl-6">&#39;, &#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">`event with parameters </span><span class="hl-4">${</span><span class="hl-3">parameters</span><span class="hl-4">}</span><span class="hl-6"> in third listener`</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">listeners</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">));</span><br/><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-1">1</span><span class="hl-0">, </span><span class="hl-1">2</span><span class="hl-0">, </span><span class="hl-1">3</span><span class="hl-0">, </span><span class="hl-1">4</span><span class="hl-0">, </span><span class="hl-1">5</span><span class="hl-0">);</span><br/><br/><span class="hl-7">// Prints:</span><br/><span class="hl-7">// [</span><br/><span class="hl-7">//   [Function: firstListener],</span><br/><span class="hl-7">//   [Function: secondListener],</span><br/><span class="hl-7">//   [Function: thirdListener]</span><br/><span class="hl-7">// ]</span><br/><span class="hl-7">// Helloooo! first listener</span><br/><span class="hl-7">// event with parameters 1, 2 in second listener</span><br/><span class="hl-7">// event with parameters 1, 2, 3, 4, 5 in third listener</span>
 </code></pre>
 
 <h3>Since</h3><p>v0.1.26</p>
@@ -180,7 +180,7 @@ to each.</p>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Returns an array listing the events for which the emitter has registered
 listeners. The values in the array are strings or <code>Symbol</code>s.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">EventEmitter</span><span class="hl-1"> = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEE</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {});</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;bar&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {});</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">sym</span><span class="hl-1"> = </span><span class="hl-3">Symbol</span><span class="hl-1">(</span><span class="hl-4">&#39;symbol&#39;</span><span class="hl-1">);</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-6">sym</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {});</span><br/><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">eventNames</span><span class="hl-1">());</span><br/><span class="hl-5">// Prints: [ &#39;foo&#39;, &#39;bar&#39;, Symbol(symbol) ]</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">EventEmitter</span><span class="hl-0"> = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEE</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {});</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;bar&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {});</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">sym</span><span class="hl-0"> = </span><span class="hl-2">Symbol</span><span class="hl-0">(</span><span class="hl-6">&#39;symbol&#39;</span><span class="hl-0">);</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-3">sym</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {});</span><br/><br/><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">eventNames</span><span class="hl-0">());</span><br/><span class="hl-7">// Prints: [ &#39;foo&#39;, &#39;bar&#39;, Symbol(symbol) ]</span>
 </code></pre>
 
 <h3>Since</h3><p>v6.0.0</p>
@@ -229,7 +229,7 @@ set by <code>emitter.setMaxListeners(n)</code> or defaults to <a href="PoolEmitt
 <li class="tsd-signature tsd-anchor-link" id="listeners.listeners-1">listeners<span class="tsd-signature-symbol">(</span>eventName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">[]</span><a href="#listeners.listeners-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Returns a copy of the array of listeners for the event named <code>eventName</code>.</p>
-<pre><code class="language-js"><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;someone connected!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">util</span><span class="hl-1">.</span><span class="hl-3">inspect</span><span class="hl-1">(</span><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">listeners</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">)));</span><br/><span class="hl-5">// Prints: [ [Function] ]</span>
+<pre><code class="language-js"><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;someone connected!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">util</span><span class="hl-0">.</span><span class="hl-2">inspect</span><span class="hl-0">(</span><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">listeners</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">)));</span><br/><span class="hl-7">// Prints: [ [Function] ]</span>
 </code></pre>
 
 <h3>Since</h3><p>v0.1.26</p>
@@ -283,12 +283,12 @@ set by <code>emitter.setMaxListeners(n)</code> or defaults to <a href="PoolEmitt
 event named <code>eventName</code>. No checks are made to see if the <code>listener</code> has
 already been added. Multiple calls passing the same combination of <code>eventName</code>and <code>listener</code> will result in the <code>listener</code> being added, and called, multiple
 times.</p>
-<pre><code class="language-js"><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;someone connected!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
+<pre><code class="language-js"><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;someone connected!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
 </code></pre>
 <p>Returns a reference to the <code>EventEmitter</code>, so that calls can be chained.</p>
 <p>By default, event listeners are invoked in the order they are added. The<code>emitter.prependListener()</code> method can be used as an alternative to add the
 event listener to the beginning of the listeners array.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEE</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;a&#39;</span><span class="hl-1">));</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">prependListener</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;b&#39;</span><span class="hl-1">));</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">);</span><br/><span class="hl-5">// Prints:</span><br/><span class="hl-5">//   b</span><br/><span class="hl-5">//   a</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEE</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;a&#39;</span><span class="hl-0">));</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">prependListener</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;b&#39;</span><span class="hl-0">));</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">);</span><br/><span class="hl-7">// Prints:</span><br/><span class="hl-7">//   b</span><br/><span class="hl-7">//   a</span>
 </code></pre>
 
 <h3>Since</h3><p>v0.1.101</p>
@@ -326,12 +326,12 @@ event listener to the beginning of the listeners array.</p>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Adds a <strong>one-time</strong><code>listener</code> function for the event named <code>eventName</code>. The
 next time <code>eventName</code> is triggered, this listener is removed and then invoked.</p>
-<pre><code class="language-js"><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;Ah, we have our first user!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
+<pre><code class="language-js"><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;Ah, we have our first user!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
 </code></pre>
 <p>Returns a reference to the <code>EventEmitter</code>, so that calls can be chained.</p>
 <p>By default, event listeners are invoked in the order they are added. The<code>emitter.prependOnceListener()</code> method can be used as an alternative to add the
 event listener to the beginning of the listeners array.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEE</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;a&#39;</span><span class="hl-1">));</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">prependOnceListener</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;b&#39;</span><span class="hl-1">));</span><br/><span class="hl-6">myEE</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">);</span><br/><span class="hl-5">// Prints:</span><br/><span class="hl-5">//   b</span><br/><span class="hl-5">//   a</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEE</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;a&#39;</span><span class="hl-0">));</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">prependOnceListener</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;b&#39;</span><span class="hl-0">));</span><br/><span class="hl-3">myEE</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">);</span><br/><span class="hl-7">// Prints:</span><br/><span class="hl-7">//   b</span><br/><span class="hl-7">//   a</span>
 </code></pre>
 
 <h3>Since</h3><p>v0.3.0</p>
@@ -371,7 +371,7 @@ event listener to the beginning of the listeners array.</p>
 event named <code>eventName</code>. No checks are made to see if the <code>listener</code> has
 already been added. Multiple calls passing the same combination of <code>eventName</code>and <code>listener</code> will result in the <code>listener</code> being added, and called, multiple
 times.</p>
-<pre><code class="language-js"><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">prependListener</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;someone connected!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
+<pre><code class="language-js"><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">prependListener</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;someone connected!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
 </code></pre>
 <p>Returns a reference to the <code>EventEmitter</code>, so that calls can be chained.</p>
 
@@ -410,7 +410,7 @@ times.</p>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Adds a <strong>one-time</strong><code>listener</code> function for the event named <code>eventName</code> to the <em>beginning</em> of the listeners array. The next time <code>eventName</code> is triggered, this
 listener is removed, and then invoked.</p>
-<pre><code class="language-js"><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">prependOnceListener</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;Ah, we have our first user!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
+<pre><code class="language-js"><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">prependOnceListener</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;Ah, we have our first user!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">});</span>
 </code></pre>
 <p>Returns a reference to the <code>EventEmitter</code>, so that calls can be chained.</p>
 
@@ -449,7 +449,7 @@ listener is removed, and then invoked.</p>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Returns a copy of the array of listeners for the event named <code>eventName</code>,
 including any wrappers (such as those created by <code>.once()</code>).</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">emitter</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-6">emitter</span><span class="hl-1">.</span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-4">&#39;log&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;log once&#39;</span><span class="hl-1">));</span><br/><br/><span class="hl-5">// Returns a new Array with a function `onceWrapper` which has a property</span><br/><span class="hl-5">// `listener` which contains the original listener bound above</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">listeners</span><span class="hl-1"> = </span><span class="hl-6">emitter</span><span class="hl-1">.</span><span class="hl-3">rawListeners</span><span class="hl-1">(</span><span class="hl-4">&#39;log&#39;</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">logFnWrapper</span><span class="hl-1"> = </span><span class="hl-6">listeners</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">];</span><br/><br/><span class="hl-5">// Logs &quot;log once&quot; to the console and does not unbind the `once` event</span><br/><span class="hl-6">logFnWrapper</span><span class="hl-1">.</span><span class="hl-3">listener</span><span class="hl-1">();</span><br/><br/><span class="hl-5">// Logs &quot;log once&quot; to the console and removes the listener</span><br/><span class="hl-3">logFnWrapper</span><span class="hl-1">();</span><br/><br/><span class="hl-6">emitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;log&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;log persistently&#39;</span><span class="hl-1">));</span><br/><span class="hl-5">// Will return a new Array with a single function bound by `.on()` above</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">newListeners</span><span class="hl-1"> = </span><span class="hl-6">emitter</span><span class="hl-1">.</span><span class="hl-3">rawListeners</span><span class="hl-1">(</span><span class="hl-4">&#39;log&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-5">// Logs &quot;log persistently&quot; twice</span><br/><span class="hl-6">newListeners</span><span class="hl-1">[</span><span class="hl-7">0</span><span class="hl-1">]();</span><br/><span class="hl-6">emitter</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;log&#39;</span><span class="hl-1">);</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">emitter</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-3">emitter</span><span class="hl-0">.</span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-6">&#39;log&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;log once&#39;</span><span class="hl-0">));</span><br/><br/><span class="hl-7">// Returns a new Array with a function `onceWrapper` which has a property</span><br/><span class="hl-7">// `listener` which contains the original listener bound above</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">listeners</span><span class="hl-0"> = </span><span class="hl-3">emitter</span><span class="hl-0">.</span><span class="hl-2">rawListeners</span><span class="hl-0">(</span><span class="hl-6">&#39;log&#39;</span><span class="hl-0">);</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">logFnWrapper</span><span class="hl-0"> = </span><span class="hl-3">listeners</span><span class="hl-0">[</span><span class="hl-1">0</span><span class="hl-0">];</span><br/><br/><span class="hl-7">// Logs &quot;log once&quot; to the console and does not unbind the `once` event</span><br/><span class="hl-3">logFnWrapper</span><span class="hl-0">.</span><span class="hl-2">listener</span><span class="hl-0">();</span><br/><br/><span class="hl-7">// Logs &quot;log once&quot; to the console and removes the listener</span><br/><span class="hl-2">logFnWrapper</span><span class="hl-0">();</span><br/><br/><span class="hl-3">emitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;log&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;log persistently&#39;</span><span class="hl-0">));</span><br/><span class="hl-7">// Will return a new Array with a single function bound by `.on()` above</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">newListeners</span><span class="hl-0"> = </span><span class="hl-3">emitter</span><span class="hl-0">.</span><span class="hl-2">rawListeners</span><span class="hl-0">(</span><span class="hl-6">&#39;log&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-7">// Logs &quot;log persistently&quot; twice</span><br/><span class="hl-3">newListeners</span><span class="hl-0">[</span><span class="hl-1">0</span><span class="hl-0">]();</span><br/><span class="hl-3">emitter</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;log&#39;</span><span class="hl-0">);</span>
 </code></pre>
 
 <h3>Since</h3><p>v9.4.0</p>
@@ -491,7 +491,7 @@ component or module (e.g. sockets or file streams).</p>
 <li class="tsd-signature tsd-anchor-link" id="removeListener.removeListener-1">remove<wbr/>Listener<span class="tsd-signature-symbol">(</span>eventName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">symbol</span>, listener<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="PoolEmitter.html" class="tsd-signature-type" data-tsd-kind="Class">PoolEmitter</a><a href="#removeListener.removeListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Removes the specified <code>listener</code> from the listener array for the event named<code>eventName</code>.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-3">callback</span><span class="hl-1"> = (</span><span class="hl-6">stream</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;someone connected!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">};</span><br/><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, </span><span class="hl-6">callback</span><span class="hl-1">);</span><br/><span class="hl-5">// ...</span><br/><span class="hl-6">server</span><span class="hl-1">.</span><span class="hl-3">removeListener</span><span class="hl-1">(</span><span class="hl-4">&#39;connection&#39;</span><span class="hl-1">, </span><span class="hl-6">callback</span><span class="hl-1">);</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-2">callback</span><span class="hl-0"> = (</span><span class="hl-3">stream</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;someone connected!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">};</span><br/><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, </span><span class="hl-3">callback</span><span class="hl-0">);</span><br/><span class="hl-7">// ...</span><br/><span class="hl-3">server</span><span class="hl-0">.</span><span class="hl-2">removeListener</span><span class="hl-0">(</span><span class="hl-6">&#39;connection&#39;</span><span class="hl-0">, </span><span class="hl-3">callback</span><span class="hl-0">);</span>
 </code></pre>
 <p><code>removeListener()</code> will remove, at most, one instance of a listener from the
 listener array. If any single listener has been added multiple times to the
@@ -500,7 +500,7 @@ called multiple times to remove each instance.</p>
 <p>Once an event is emitted, all listeners attached to it at the
 time of emitting are called in order. This implies that any<code>removeListener()</code> or <code>removeAllListeners()</code> calls <em>after</em> emitting and <em>before</em> the last listener finishes execution
 will not remove them from<code>emit()</code> in progress. Subsequent events behave as expected.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEmitter</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">MyEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-3">callbackA</span><span class="hl-1"> = () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;A&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">removeListener</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-6">callbackB</span><span class="hl-1">);</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-3">callbackB</span><span class="hl-1"> = () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;B&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-6">callbackA</span><span class="hl-1">);</span><br/><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, </span><span class="hl-6">callbackB</span><span class="hl-1">);</span><br/><br/><span class="hl-5">// callbackA removes listener callbackB but it will still be called.</span><br/><span class="hl-5">// Internal listener array at time of emit [callbackA, callbackB]</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">);</span><br/><span class="hl-5">// Prints:</span><br/><span class="hl-5">//   A</span><br/><span class="hl-5">//   B</span><br/><br/><span class="hl-5">// callbackB is now removed.</span><br/><span class="hl-5">// Internal listener array [callbackA]</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">);</span><br/><span class="hl-5">// Prints:</span><br/><span class="hl-5">//   A</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEmitter</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">MyEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-2">callbackA</span><span class="hl-0"> = () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;A&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">removeListener</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-3">callbackB</span><span class="hl-0">);</span><br/><span class="hl-0">};</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-2">callbackB</span><span class="hl-0"> = () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;B&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">};</span><br/><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-3">callbackA</span><span class="hl-0">);</span><br/><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, </span><span class="hl-3">callbackB</span><span class="hl-0">);</span><br/><br/><span class="hl-7">// callbackA removes listener callbackB but it will still be called.</span><br/><span class="hl-7">// Internal listener array at time of emit [callbackA, callbackB]</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">);</span><br/><span class="hl-7">// Prints:</span><br/><span class="hl-7">//   A</span><br/><span class="hl-7">//   B</span><br/><br/><span class="hl-7">// callbackB is now removed.</span><br/><span class="hl-7">// Internal listener array [callbackA]</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">);</span><br/><span class="hl-7">// Prints:</span><br/><span class="hl-7">//   A</span>
 </code></pre>
 <p>Because listeners are managed using an internal array, calling this will
 change the position indices of any listener registered <em>after</em> the listener
@@ -510,7 +510,7 @@ the <code>emitter.listeners()</code> method will need to be recreated.</p>
 <p>When a single function has been added as a handler multiple times for a single
 event (as in the example below), <code>removeListener()</code> will remove the most
 recently added instance. In the example the <code>once(&#39;ping&#39;)</code>listener is removed:</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">pong</span><span class="hl-1">() {</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;pong&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;ping&#39;</span><span class="hl-1">, </span><span class="hl-6">pong</span><span class="hl-1">);</span><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-4">&#39;ping&#39;</span><span class="hl-1">, </span><span class="hl-6">pong</span><span class="hl-1">);</span><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">removeListener</span><span class="hl-1">(</span><span class="hl-4">&#39;ping&#39;</span><span class="hl-1">, </span><span class="hl-6">pong</span><span class="hl-1">);</span><br/><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;ping&#39;</span><span class="hl-1">);</span><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;ping&#39;</span><span class="hl-1">);</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">pong</span><span class="hl-0">() {</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;pong&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;ping&#39;</span><span class="hl-0">, </span><span class="hl-3">pong</span><span class="hl-0">);</span><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-6">&#39;ping&#39;</span><span class="hl-0">, </span><span class="hl-3">pong</span><span class="hl-0">);</span><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">removeListener</span><span class="hl-0">(</span><span class="hl-6">&#39;ping&#39;</span><span class="hl-0">, </span><span class="hl-3">pong</span><span class="hl-0">);</span><br/><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;ping&#39;</span><span class="hl-0">);</span><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;ping&#39;</span><span class="hl-0">);</span>
 </code></pre>
 <p>Returns a reference to the <code>EventEmitter</code>, so that calls can be chained.</p>
 
@@ -570,7 +570,7 @@ modified for this specific <code>EventEmitter</code> instance. The value can be
 the emitter.</p>
 <p>For <code>EventTarget</code>s this is the only way to get the event listeners for the
 event target. This is useful for debugging and diagnostic purposes.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">getEventListeners</span><span class="hl-1">, </span><span class="hl-2">EventEmitter</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-1">{</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-3">listener</span><span class="hl-1"> = () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;Events are fun&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-6">listener</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-3">getEventListeners</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">); </span><span class="hl-5">// [listener]</span><br/><span class="hl-1">}</span><br/><span class="hl-1">{</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">et</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventTarget</span><span class="hl-1">();</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-3">listener</span><span class="hl-1"> = () </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;Events are fun&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">et</span><span class="hl-1">.</span><span class="hl-3">addEventListener</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-6">listener</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-3">getEventListeners</span><span class="hl-1">(</span><span class="hl-6">et</span><span class="hl-1">, </span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">); </span><span class="hl-5">// [listener]</span><br/><span class="hl-1">}</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">getEventListeners</span><span class="hl-0">, </span><span class="hl-5">EventEmitter</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-0">{</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-2">listener</span><span class="hl-0"> = () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;Events are fun&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-3">listener</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-2">getEventListeners</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">); </span><span class="hl-7">// [listener]</span><br/><span class="hl-0">}</span><br/><span class="hl-0">{</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">et</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventTarget</span><span class="hl-0">();</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-2">listener</span><span class="hl-0"> = () </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;Events are fun&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">et</span><span class="hl-0">.</span><span class="hl-2">addEventListener</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-3">listener</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-2">getEventListeners</span><span class="hl-0">(</span><span class="hl-3">et</span><span class="hl-0">, </span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">); </span><span class="hl-7">// [listener]</span><br/><span class="hl-0">}</span>
 </code></pre>
 
 <h3>Since</h3><p>v15.2.0, v14.17.0</p>
@@ -592,7 +592,7 @@ event target. This is useful for debugging and diagnostic purposes.</p>
 <li class="tsd-signature tsd-anchor-link" id="listenerCount-2.listenerCount-3">listener<wbr/>Count<span class="tsd-signature-symbol">(</span>emitter<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EventEmitter</span>, eventName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#listenerCount-2.listenerCount-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>A class method that returns the number of listeners for the given <code>eventName</code>registered on the given <code>emitter</code>.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">EventEmitter</span><span class="hl-1">, </span><span class="hl-2">listenerCount</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">myEmitter</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {});</span><br/><span class="hl-6">myEmitter</span><span class="hl-1">.</span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">, () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {});</span><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-3">listenerCount</span><span class="hl-1">(</span><span class="hl-6">myEmitter</span><span class="hl-1">, </span><span class="hl-4">&#39;event&#39;</span><span class="hl-1">));</span><br/><span class="hl-5">// Prints: 2</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">EventEmitter</span><span class="hl-0">, </span><span class="hl-5">listenerCount</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">myEmitter</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {});</span><br/><span class="hl-3">myEmitter</span><span class="hl-0">.</span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">, () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {});</span><br/><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-2">listenerCount</span><span class="hl-0">(</span><span class="hl-3">myEmitter</span><span class="hl-0">, </span><span class="hl-6">&#39;event&#39;</span><span class="hl-0">));</span><br/><span class="hl-7">// Prints: 2</span>
 </code></pre>
 
 <h3>Since</h3><p>v0.9.12</p>
@@ -619,14 +619,14 @@ event target. This is useful for debugging and diagnostic purposes.</p>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
 <li class="tsd-signature tsd-anchor-link" id="on-2.on-3">on<span class="tsd-signature-symbol">(</span>emitter<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EventEmitter</span>, eventName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">StaticEventEmitterOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><a href="#on-2.on-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">on</span><span class="hl-1">, </span><span class="hl-2">EventEmitter</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-1">(</span><span class="hl-0">async</span><span class="hl-1"> () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-1">  </span><span class="hl-5">// Emit later on</span><br/><span class="hl-1">  </span><span class="hl-6">process</span><span class="hl-1">.</span><span class="hl-3">nextTick</span><span class="hl-1">(() </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-4">&#39;bar&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-7">42</span><span class="hl-1">);</span><br/><span class="hl-1">  });</span><br/><br/><span class="hl-1">  </span><span class="hl-8">for</span><span class="hl-1"> </span><span class="hl-8">await</span><span class="hl-1"> (</span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">event</span><span class="hl-1"> </span><span class="hl-0">of</span><span class="hl-1"> </span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">)) {</span><br/><span class="hl-1">    </span><span class="hl-5">// The execution of this inner block is synchronous and it</span><br/><span class="hl-1">    </span><span class="hl-5">// processes one event at a time (even with await). Do not use</span><br/><span class="hl-1">    </span><span class="hl-5">// if concurrent execution is required.</span><br/><span class="hl-1">    </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">event</span><span class="hl-1">); </span><span class="hl-5">// prints [&#39;bar&#39;] [42]</span><br/><span class="hl-1">  }</span><br/><span class="hl-1">  </span><span class="hl-5">// Unreachable here</span><br/><span class="hl-1">})();</span>
+<div class="tsd-comment tsd-typography"><pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">on</span><span class="hl-0">, </span><span class="hl-5">EventEmitter</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-0">(</span><span class="hl-4">async</span><span class="hl-0"> () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-0">  </span><span class="hl-7">// Emit later on</span><br/><span class="hl-0">  </span><span class="hl-3">process</span><span class="hl-0">.</span><span class="hl-2">nextTick</span><span class="hl-0">(() </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-6">&#39;bar&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-1">42</span><span class="hl-0">);</span><br/><span class="hl-0">  });</span><br/><br/><span class="hl-0">  </span><span class="hl-8">for</span><span class="hl-0"> </span><span class="hl-8">await</span><span class="hl-0"> (</span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">event</span><span class="hl-0"> </span><span class="hl-4">of</span><span class="hl-0"> </span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">)) {</span><br/><span class="hl-0">    </span><span class="hl-7">// The execution of this inner block is synchronous and it</span><br/><span class="hl-0">    </span><span class="hl-7">// processes one event at a time (even with await). Do not use</span><br/><span class="hl-0">    </span><span class="hl-7">// if concurrent execution is required.</span><br/><span class="hl-0">    </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">event</span><span class="hl-0">); </span><span class="hl-7">// prints [&#39;bar&#39;] [42]</span><br/><span class="hl-0">  }</span><br/><span class="hl-0">  </span><span class="hl-7">// Unreachable here</span><br/><span class="hl-0">})();</span>
 </code></pre>
 <p>Returns an <code>AsyncIterator</code> that iterates <code>eventName</code> events. It will throw
 if the <code>EventEmitter</code> emits <code>&#39;error&#39;</code>. It removes all listeners when
 exiting the loop. The <code>value</code> returned by each iteration is an array
 composed of the emitted event arguments.</p>
 <p>An <code>AbortSignal</code> can be used to cancel waiting on events:</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">on</span><span class="hl-1">, </span><span class="hl-2">EventEmitter</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ac</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AbortController</span><span class="hl-1">();</span><br/><br/><span class="hl-1">(</span><span class="hl-0">async</span><span class="hl-1"> () </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-1">  </span><span class="hl-5">// Emit later on</span><br/><span class="hl-1">  </span><span class="hl-6">process</span><span class="hl-1">.</span><span class="hl-3">nextTick</span><span class="hl-1">(() </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-4">&#39;bar&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-7">42</span><span class="hl-1">);</span><br/><span class="hl-1">  });</span><br/><br/><span class="hl-1">  </span><span class="hl-8">for</span><span class="hl-1"> </span><span class="hl-8">await</span><span class="hl-1"> (</span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">event</span><span class="hl-1"> </span><span class="hl-0">of</span><span class="hl-1"> </span><span class="hl-3">on</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, { </span><span class="hl-6">signal:</span><span class="hl-1"> </span><span class="hl-6">ac</span><span class="hl-1">.</span><span class="hl-6">signal</span><span class="hl-1"> })) {</span><br/><span class="hl-1">    </span><span class="hl-5">// The execution of this inner block is synchronous and it</span><br/><span class="hl-1">    </span><span class="hl-5">// processes one event at a time (even with await). Do not use</span><br/><span class="hl-1">    </span><span class="hl-5">// if concurrent execution is required.</span><br/><span class="hl-1">    </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">event</span><span class="hl-1">); </span><span class="hl-5">// prints [&#39;bar&#39;] [42]</span><br/><span class="hl-1">  }</span><br/><span class="hl-1">  </span><span class="hl-5">// Unreachable here</span><br/><span class="hl-1">})();</span><br/><br/><span class="hl-6">process</span><span class="hl-1">.</span><span class="hl-3">nextTick</span><span class="hl-1">(() </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">ac</span><span class="hl-1">.</span><span class="hl-3">abort</span><span class="hl-1">());</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">on</span><span class="hl-0">, </span><span class="hl-5">EventEmitter</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ac</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">AbortController</span><span class="hl-0">();</span><br/><br/><span class="hl-0">(</span><span class="hl-4">async</span><span class="hl-0"> () </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-0">  </span><span class="hl-7">// Emit later on</span><br/><span class="hl-0">  </span><span class="hl-3">process</span><span class="hl-0">.</span><span class="hl-2">nextTick</span><span class="hl-0">(() </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-6">&#39;bar&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-1">42</span><span class="hl-0">);</span><br/><span class="hl-0">  });</span><br/><br/><span class="hl-0">  </span><span class="hl-8">for</span><span class="hl-0"> </span><span class="hl-8">await</span><span class="hl-0"> (</span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">event</span><span class="hl-0"> </span><span class="hl-4">of</span><span class="hl-0"> </span><span class="hl-2">on</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, { </span><span class="hl-3">signal:</span><span class="hl-0"> </span><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-3">signal</span><span class="hl-0"> })) {</span><br/><span class="hl-0">    </span><span class="hl-7">// The execution of this inner block is synchronous and it</span><br/><span class="hl-0">    </span><span class="hl-7">// processes one event at a time (even with await). Do not use</span><br/><span class="hl-0">    </span><span class="hl-7">// if concurrent execution is required.</span><br/><span class="hl-0">    </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">event</span><span class="hl-0">); </span><span class="hl-7">// prints [&#39;bar&#39;] [42]</span><br/><span class="hl-0">  }</span><br/><span class="hl-0">  </span><span class="hl-7">// Unreachable here</span><br/><span class="hl-0">})();</span><br/><br/><span class="hl-3">process</span><span class="hl-0">.</span><span class="hl-2">nextTick</span><span class="hl-0">(() </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-2">abort</span><span class="hl-0">());</span>
 </code></pre>
 
 <h3>Since</h3><p>v13.6.0, v12.16.0</p>
@@ -659,15 +659,15 @@ The <code>Promise</code> will resolve with an array of all the arguments emitted
 given event.</p>
 <p>This method is intentionally generic and works with the web platform <a href="https://dom.spec.whatwg.org/#interface-eventtarget">EventTarget</a> interface, which has no special<code>&#39;error&#39;</code> event
 semantics and does not listen to the <code>&#39;error&#39;</code> event.</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">once</span><span class="hl-1">, </span><span class="hl-2">EventEmitter</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-0">async</span><span class="hl-1"> </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">run</span><span class="hl-1">() {</span><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-1">  </span><span class="hl-6">process</span><span class="hl-1">.</span><span class="hl-3">nextTick</span><span class="hl-1">(() </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;myevent&#39;</span><span class="hl-1">, </span><span class="hl-7">42</span><span class="hl-1">);</span><br/><span class="hl-1">  });</span><br/><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> [</span><span class="hl-2">value</span><span class="hl-1">] = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;myevent&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1">);</span><br/><br/><span class="hl-1">  </span><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">err</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Error</span><span class="hl-1">(</span><span class="hl-4">&#39;kaboom&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  </span><span class="hl-6">process</span><span class="hl-1">.</span><span class="hl-3">nextTick</span><span class="hl-1">(() </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;error&#39;</span><span class="hl-1">, </span><span class="hl-6">err</span><span class="hl-1">);</span><br/><span class="hl-1">  });</span><br/><br/><span class="hl-1">  </span><span class="hl-8">try</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;myevent&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  } </span><span class="hl-8">catch</span><span class="hl-1"> (</span><span class="hl-6">err</span><span class="hl-1">) {</span><br/><span class="hl-1">    </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;error happened&#39;</span><span class="hl-1">, </span><span class="hl-6">err</span><span class="hl-1">);</span><br/><span class="hl-1">  }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-3">run</span><span class="hl-1">();</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">once</span><span class="hl-0">, </span><span class="hl-5">EventEmitter</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-4">async</span><span class="hl-0"> </span><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">run</span><span class="hl-0">() {</span><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-0">  </span><span class="hl-3">process</span><span class="hl-0">.</span><span class="hl-2">nextTick</span><span class="hl-0">(() </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;myevent&#39;</span><span class="hl-0">, </span><span class="hl-1">42</span><span class="hl-0">);</span><br/><span class="hl-0">  });</span><br/><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> [</span><span class="hl-5">value</span><span class="hl-0">] = </span><span class="hl-8">await</span><span class="hl-0"> </span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;myevent&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-3">value</span><span class="hl-0">);</span><br/><br/><span class="hl-0">  </span><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">err</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">Error</span><span class="hl-0">(</span><span class="hl-6">&#39;kaboom&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  </span><span class="hl-3">process</span><span class="hl-0">.</span><span class="hl-2">nextTick</span><span class="hl-0">(() </span><span class="hl-4">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;error&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">);</span><br/><span class="hl-0">  });</span><br/><br/><span class="hl-0">  </span><span class="hl-8">try</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-8">await</span><span class="hl-0"> </span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;myevent&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  } </span><span class="hl-8">catch</span><span class="hl-0"> (</span><span class="hl-3">err</span><span class="hl-0">) {</span><br/><span class="hl-0">    </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;error happened&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">);</span><br/><span class="hl-0">  }</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-2">run</span><span class="hl-0">();</span>
 </code></pre>
 <p>The special handling of the <code>&#39;error&#39;</code> event is only used when <code>events.once()</code>is used to wait for another event. If <code>events.once()</code> is used to wait for the
 &#39;<code>error&#39;</code> event itself, then it is treated as any other kind of event without
 special handling:</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">EventEmitter</span><span class="hl-1">, </span><span class="hl-2">once</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;error&#39;</span><span class="hl-1">)</span><br/><span class="hl-1">  .</span><span class="hl-3">then</span><span class="hl-1">(([</span><span class="hl-6">err</span><span class="hl-1">]) </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;ok&#39;</span><span class="hl-1">, </span><span class="hl-6">err</span><span class="hl-1">.</span><span class="hl-6">message</span><span class="hl-1">))</span><br/><span class="hl-1">  .</span><span class="hl-3">catch</span><span class="hl-1">((</span><span class="hl-6">err</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;error&#39;</span><span class="hl-1">, </span><span class="hl-6">err</span><span class="hl-1">.</span><span class="hl-6">message</span><span class="hl-1">));</span><br/><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;error&#39;</span><span class="hl-1">, </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">Error</span><span class="hl-1">(</span><span class="hl-4">&#39;boom&#39;</span><span class="hl-1">));</span><br/><br/><span class="hl-5">// Prints: ok boom</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">EventEmitter</span><span class="hl-0">, </span><span class="hl-5">once</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;error&#39;</span><span class="hl-0">)</span><br/><span class="hl-0">  .</span><span class="hl-2">then</span><span class="hl-0">(([</span><span class="hl-3">err</span><span class="hl-0">]) </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;ok&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">.</span><span class="hl-3">message</span><span class="hl-0">))</span><br/><span class="hl-0">  .</span><span class="hl-2">catch</span><span class="hl-0">((</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-4">=&gt;</span><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;error&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">.</span><span class="hl-3">message</span><span class="hl-0">));</span><br/><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;error&#39;</span><span class="hl-0">, </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">Error</span><span class="hl-0">(</span><span class="hl-6">&#39;boom&#39;</span><span class="hl-0">));</span><br/><br/><span class="hl-7">// Prints: ok boom</span>
 </code></pre>
 <p>An <code>AbortSignal</code> can be used to cancel waiting for the event:</p>
-<pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> { </span><span class="hl-2">EventEmitter</span><span class="hl-1">, </span><span class="hl-2">once</span><span class="hl-1"> } = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ee</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">ac</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AbortController</span><span class="hl-1">();</span><br/><br/><span class="hl-0">async</span><span class="hl-1"> </span><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-3">foo</span><span class="hl-1">(</span><span class="hl-6">emitter</span><span class="hl-1">, </span><span class="hl-6">event</span><span class="hl-1">, </span><span class="hl-6">signal</span><span class="hl-1">) {</span><br/><span class="hl-1">  </span><span class="hl-8">try</span><span class="hl-1"> {</span><br/><span class="hl-1">    </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-3">once</span><span class="hl-1">(</span><span class="hl-6">emitter</span><span class="hl-1">, </span><span class="hl-6">event</span><span class="hl-1">, { </span><span class="hl-6">signal</span><span class="hl-1"> });</span><br/><span class="hl-1">    </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-4">&#39;event emitted!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">  } </span><span class="hl-8">catch</span><span class="hl-1"> (</span><span class="hl-6">error</span><span class="hl-1">) {</span><br/><span class="hl-1">    </span><span class="hl-8">if</span><span class="hl-1"> (</span><span class="hl-6">error</span><span class="hl-1">.</span><span class="hl-6">name</span><span class="hl-1"> === </span><span class="hl-4">&#39;AbortError&#39;</span><span class="hl-1">) {</span><br/><span class="hl-1">      </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">error</span><span class="hl-1">(</span><span class="hl-4">&#39;Waiting for the event was canceled!&#39;</span><span class="hl-1">);</span><br/><span class="hl-1">    } </span><span class="hl-8">else</span><span class="hl-1"> {</span><br/><span class="hl-1">      </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">error</span><span class="hl-1">(</span><span class="hl-4">&#39;There was an error&#39;</span><span class="hl-1">, </span><span class="hl-6">error</span><span class="hl-1">.</span><span class="hl-6">message</span><span class="hl-1">);</span><br/><span class="hl-1">    }</span><br/><span class="hl-1">  }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-3">foo</span><span class="hl-1">(</span><span class="hl-6">ee</span><span class="hl-1">, </span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">, </span><span class="hl-6">ac</span><span class="hl-1">.</span><span class="hl-6">signal</span><span class="hl-1">);</span><br/><span class="hl-6">ac</span><span class="hl-1">.</span><span class="hl-3">abort</span><span class="hl-1">(); </span><span class="hl-5">// Abort waiting for the event</span><br/><span class="hl-6">ee</span><span class="hl-1">.</span><span class="hl-3">emit</span><span class="hl-1">(</span><span class="hl-4">&#39;foo&#39;</span><span class="hl-1">); </span><span class="hl-5">// Prints: Waiting for the event was canceled!</span>
+<pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> { </span><span class="hl-5">EventEmitter</span><span class="hl-0">, </span><span class="hl-5">once</span><span class="hl-0"> } = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ee</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">ac</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">AbortController</span><span class="hl-0">();</span><br/><br/><span class="hl-4">async</span><span class="hl-0"> </span><span class="hl-4">function</span><span class="hl-0"> </span><span class="hl-2">foo</span><span class="hl-0">(</span><span class="hl-3">emitter</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">, </span><span class="hl-3">signal</span><span class="hl-0">) {</span><br/><span class="hl-0">  </span><span class="hl-8">try</span><span class="hl-0"> {</span><br/><span class="hl-0">    </span><span class="hl-8">await</span><span class="hl-0"> </span><span class="hl-2">once</span><span class="hl-0">(</span><span class="hl-3">emitter</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">, { </span><span class="hl-3">signal</span><span class="hl-0"> });</span><br/><span class="hl-0">    </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">log</span><span class="hl-0">(</span><span class="hl-6">&#39;event emitted!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">  } </span><span class="hl-8">catch</span><span class="hl-0"> (</span><span class="hl-3">error</span><span class="hl-0">) {</span><br/><span class="hl-0">    </span><span class="hl-8">if</span><span class="hl-0"> (</span><span class="hl-3">error</span><span class="hl-0">.</span><span class="hl-3">name</span><span class="hl-0"> === </span><span class="hl-6">&#39;AbortError&#39;</span><span class="hl-0">) {</span><br/><span class="hl-0">      </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">error</span><span class="hl-0">(</span><span class="hl-6">&#39;Waiting for the event was canceled!&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">    } </span><span class="hl-8">else</span><span class="hl-0"> {</span><br/><span class="hl-0">      </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-2">error</span><span class="hl-0">(</span><span class="hl-6">&#39;There was an error&#39;</span><span class="hl-0">, </span><span class="hl-3">error</span><span class="hl-0">.</span><span class="hl-3">message</span><span class="hl-0">);</span><br/><span class="hl-0">    }</span><br/><span class="hl-0">  }</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-2">foo</span><span class="hl-0">(</span><span class="hl-3">ee</span><span class="hl-0">, </span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">, </span><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-3">signal</span><span class="hl-0">);</span><br/><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-2">abort</span><span class="hl-0">(); </span><span class="hl-7">// Abort waiting for the event</span><br/><span class="hl-3">ee</span><span class="hl-0">.</span><span class="hl-2">emit</span><span class="hl-0">(</span><span class="hl-6">&#39;foo&#39;</span><span class="hl-0">); </span><span class="hl-7">// Prints: Waiting for the event was canceled!</span>
 </code></pre>
 
 <h3>Since</h3><p>v11.13.0, v10.16.0</p>
@@ -705,7 +705,7 @@ special handling:</p>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-external">
 <li class="tsd-signature tsd-anchor-link" id="setMaxListeners-2.setMaxListeners-3">set<wbr/>Max<wbr/>Listeners<span class="tsd-signature-symbol">(</span>n<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, <span class="tsd-signature-symbol">...</span>eventTargets<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">EventEmitter</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">_DOMEventTarget</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setMaxListeners-2.setMaxListeners-3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><pre><code class="language-js"><span class="hl-0">const</span><span class="hl-1"> {</span><br/><span class="hl-1">  </span><span class="hl-2">setMaxListeners</span><span class="hl-1">,</span><br/><span class="hl-1">  </span><span class="hl-2">EventEmitter</span><br/><span class="hl-1">} = </span><span class="hl-3">require</span><span class="hl-1">(</span><span class="hl-4">&#39;events&#39;</span><span class="hl-1">);</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">target</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventTarget</span><span class="hl-1">();</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">emitter</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">EventEmitter</span><span class="hl-1">();</span><br/><br/><span class="hl-3">setMaxListeners</span><span class="hl-1">(</span><span class="hl-7">5</span><span class="hl-1">, </span><span class="hl-6">target</span><span class="hl-1">, </span><span class="hl-6">emitter</span><span class="hl-1">);</span>
+<div class="tsd-comment tsd-typography"><pre><code class="language-js"><span class="hl-4">const</span><span class="hl-0"> {</span><br/><span class="hl-0">  </span><span class="hl-5">setMaxListeners</span><span class="hl-0">,</span><br/><span class="hl-0">  </span><span class="hl-5">EventEmitter</span><br/><span class="hl-0">} = </span><span class="hl-2">require</span><span class="hl-0">(</span><span class="hl-6">&#39;events&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">target</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventTarget</span><span class="hl-0">();</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">emitter</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">EventEmitter</span><span class="hl-0">();</span><br/><br/><span class="hl-2">setMaxListeners</span><span class="hl-0">(</span><span class="hl-1">5</span><span class="hl-0">, </span><span class="hl-3">target</span><span class="hl-0">, </span><span class="hl-3">emitter</span><span class="hl-0">);</span>
 </code></pre>
 
 <h3>Since</h3><p>v15.4.0</p>
@@ -770,28 +770,44 @@ special handling:</p>
 <div class="site-menu">
 <nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4-path"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)" id="icon-4-text"></path></svg><span>poolifier</span></a>
 <ul class="tsd-small-nested-navigation">
-<li><a href="ClusterWorker.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Cluster<wbr/>Worker</span></a></li>
+<li><a href="../enums/PoolType.html" class="tsd-kind-enum"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-8-path"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)" id="icon-8-text"></path></svg><span>Pool<wbr/>Type</span></a></li>
+<li><a href="AbstractPool.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Abstract<wbr/>Pool</span></a></li>
+<li><a href="AbstractWorker.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Abstract<wbr/>Worker</span></a></li>
+<li><a href="CircularArray.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Circular<wbr/>Array</span></a></li>
+<li><a href="ClusterWorker.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Cluster<wbr/>Worker</span></a></li>
 <li><a href="DynamicClusterPool.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Cluster<wbr/>Pool</span></a></li>
 <li><a href="DynamicThreadPool.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Thread<wbr/>Pool</span></a></li>
 <li><a href="FixedClusterPool.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Cluster<wbr/>Pool</span></a></li>
 <li><a href="FixedThreadPool.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Thread<wbr/>Pool</span></a></li>
 <li><a href="PoolEmitter.html" class="current tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Pool<wbr/>Emitter</span></a></li>
 <li><a href="ThreadWorker.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Thread<wbr/>Worker</span></a></li>
+<li><a href="WorkerChoiceStrategyContext.html" class="tsd-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a></li>
 <li><a href="../interfaces/ClusterPoolOptions.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Cluster<wbr/>Pool<wbr/>Options</span></a></li>
 <li><a href="../interfaces/IPool.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IPool</span></a></li>
 <li><a href="../interfaces/IWorker.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IWorker</span></a></li>
+<li><a href="../interfaces/IWorkerChoiceStrategy.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IWorker<wbr/>Choice<wbr/>Strategy</span></a></li>
+<li><a href="../interfaces/MessageValue.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Message<wbr/>Value</span></a></li>
 <li><a href="../interfaces/PoolOptions.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Pool<wbr/>Options</span></a></li>
+<li><a href="../interfaces/PromiseResponseWrapper.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Promise<wbr/>Response<wbr/>Wrapper</span></a></li>
+<li><a href="../interfaces/RequiredStatistics.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Required<wbr/>Statistics</span></a></li>
+<li><a href="../interfaces/Task.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Task</span></a></li>
 <li><a href="../interfaces/TasksQueueOptions.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Tasks<wbr/>Queue<wbr/>Options</span></a></li>
+<li><a href="../interfaces/TasksUsage.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Tasks<wbr/>Usage</span></a></li>
 <li><a href="../interfaces/WorkerChoiceStrategyOptions.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span></a></li>
+<li><a href="../interfaces/WorkerNode.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Node</span></a></li>
 <li><a href="../interfaces/WorkerOptions.html" class="tsd-kind-interface"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Options</span></a></li>
-<li><a href="../types/ErrorHandler.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4194304-path"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)" id="icon-4194304-text"></path></svg><span>Error<wbr/>Handler</span></a></li>
+<li><a href="../types/Draft.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4194304-path"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)" id="icon-4194304-text"></path></svg><span>Draft</span></a></li>
+<li><a href="../types/ErrorHandler.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Error<wbr/>Handler</span></a></li>
 <li><a href="../types/ExitHandler.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Exit<wbr/>Handler</span></a></li>
 <li><a href="../types/KillBehavior.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Kill<wbr/>Behavior</span></a></li>
 <li><a href="../types/MessageHandler.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Message<wbr/>Handler</span></a></li>
 <li><a href="../types/OnlineHandler.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Online<wbr/>Handler</span></a></li>
 <li><a href="../types/PoolEvent.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Pool<wbr/>Event</span></a></li>
 <li><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</span></a></li>
+<li><a href="../types/WorkerAsyncFunction.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Async<wbr/>Function</span></a></li>
 <li><a href="../types/WorkerChoiceStrategy.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy</span></a></li>
+<li><a href="../types/WorkerFunction.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Function</span></a></li>
+<li><a href="../types/WorkerSyncFunction.html" class="tsd-kind-type-alias"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Sync<wbr/>Function</span></a></li>
 <li><a href="../variables/KillBehaviors.html" class="tsd-kind-variable"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-32-path"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)" id="icon-32-text"></path></svg><span>Kill<wbr/>Behaviors</span></a></li>
 <li><a href="../variables/PoolEvents.html" class="tsd-kind-variable"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg><span>Pool<wbr/>Events</span></a></li>
 <li><a href="../variables/WorkerChoiceStrategies.html" class="tsd-kind-variable"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategies</span></a></li></ul></nav></div></div></div>