X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FPoolEmitter.html;h=f094ff2748eae9579c5949d654554535615e0e47;hb=8d98e603c79d8d00b2b6a33e5f732701a7466234;hp=95b58849e730df7ddf137222d2d1fa88e13f165c;hpb=67de15a041152a973334839ad2c73284b1b3cbb3;p=poolifier.git diff --git a/docs/classes/PoolEmitter.html b/docs/classes/PoolEmitter.html index 95b58849..f094ff27 100644 --- a/docs/classes/PoolEmitter.html +++ b/docs/classes/PoolEmitter.html @@ -25,7 +25,7 @@ +
  • Defined in src/pools/pool.ts:50
  • @@ -78,44 +78,75 @@
  • Optional options: EventEmitterOptions
  • Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:109
  • Properties

    -
    captureRejectionSymbol: typeof captureRejectionSymbol
    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:326
  • captureRejections: boolean
    -

    Sets or gets the default captureRejection value for all emitters.

    +

    Value: boolean

    +

    Change the default captureRejections option on all new EventEmitter objects.

    + +

    Since

    v13.4.0, v12.16.0

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:333
  • -
    defaultMaxListeners: number
    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:370
  • errorMonitor: typeof errorMonitor
    -

    This symbol shall be used to install a listener for only monitoring 'error' -events. Listeners installed using this symbol are called before the regular -'error' listeners are called.

    -

    Installing a listener using this symbol does not change the behavior once an -'error' event is emitted, therefore the process will still crash if no +

    This symbol shall be used to install a listener for only monitoring 'error'events. Listeners installed using this symbol are called before the regular'error' listeners are called.

    +

    Installing a listener using this symbol does not change the behavior once an'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    + +

    Since

    v13.6.0, v12.17.0

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:319
  • Methods

    @@ -146,9 +177,9 @@ regular 'error' listener is installed.

    Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:390
  • Returns boolean

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:652
  • +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:715
  • +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:567
    • -

      Returns the number of listeners listening to the event named eventName.

      -

      If listener is provided, it will return how many times the listener -is found in the list of the listeners of the event.

      +

      Returns the number of listeners listening for the event named eventName. +If listener is provided, it will return how many times the listener is found +in the list of the listeners of the event.

      Since

      v3.2.0

      @@ -226,16 +257,16 @@ is found in the list of the listeners of the event.

      The event handler function

    Returns number

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:661
    • Returns a copy of the array of listeners for the event named eventName.

      -
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] +
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]

      Since

      v0.1.26

      @@ -246,9 +277,9 @@ is found in the list of the listeners of the event.

    • eventName: string | symbol

    Returns Function[]

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:580
    • @@ -277,9 +308,9 @@ is found in the list of the listeners of the event.

      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:540
    • @@ -294,7 +325,7 @@ times.

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      -
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a +
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Since

      v0.1.101

      @@ -322,9 +353,9 @@ event listener to the beginning of the listeners array.

      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:422
    • @@ -337,7 +368,7 @@ next time eventName is triggered, this listener is removed and then

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      -
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a +
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Since

      v0.3.0

      @@ -365,9 +396,9 @@ event listener to the beginning of the listeners array.

      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:452
    • @@ -406,9 +437,9 @@ times.

      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:679
    • @@ -445,9 +476,9 @@ listener is removed, and then invoked.

      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:695
    • @@ -455,7 +486,7 @@ listener is removed, and then invoked.

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      -
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); +
      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');

      Since

      v9.4.0

      @@ -466,9 +497,9 @@ including any wrappers (such as those created by .once()).

    • eventName: string | symbol

    Returns Function[]

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:611
    • @@ -488,16 +519,16 @@ component or module (e.g. sockets or file streams).

    • Optional event: string | symbol

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:551
    • Removes the specified listener from the listener array for the event namedeventName.

      -
      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback); +
      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);

      removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the @@ -506,7 +537,7 @@ called multiple times to remove each instance.

      Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      -
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A +
      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A

      Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener @@ -516,7 +547,7 @@ the emitter.listeners() method will need to be recreated.

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

      -
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping'); +
      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping');

      Returns a reference to the EventEmitter, so that calls can be chained.

      @@ -541,9 +572,9 @@ recently added instance. In the example the once('ping')lis
      Rest ...args: any[]

    Returns void

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:535
    • @@ -563,9 +594,9 @@ modified for this specific EventEmitter instance. The value can be
    • n: number

    Returns PoolEmitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:561
    • @@ -576,7 +607,7 @@ modified for this specific EventEmitter instance. The value can be the emitter.

      For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

      -
      const { getEventListeners, EventEmitter } = require('events');

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      getEventListeners(ee, 'foo'); // [listener]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      getEventListeners(et, 'foo'); // [listener]
      } +
      import { getEventListeners, EventEmitter } from 'node:events';

      {
      const ee = new EventEmitter();
      const listener = () => console.log('Events are fun');
      ee.on('foo', listener);
      console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
      }
      {
      const et = new EventTarget();
      const listener = () => console.log('Events are fun');
      et.addEventListener('foo', listener);
      console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
      }

      Since

      v15.2.0, v14.17.0

      @@ -589,16 +620,16 @@ event target. This is useful for debugging and diagnostic purposes.

    • name: string | symbol

    Returns Function[]

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:296
    • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

      -
      const { EventEmitter, listenerCount } = require('events');
      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2 +
      import { EventEmitter, listenerCount } from 'node:events';

      const myEmitter = new EventEmitter();
      myEmitter.on('event', () => {});
      myEmitter.on('event', () => {});
      console.log(listenerCount(myEmitter, 'event'));
      // Prints: 2

      Since

      v0.9.12

      @@ -617,22 +648,22 @@ event target. This is useful for debugging and diagnostic purposes.

      The event name

    Returns number

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:268
    • -
      const { on, EventEmitter } = require('events');

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })(); +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo')) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here

      Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when exiting the loop. The value returned by each iteration is an array composed of the emitted event arguments.

      An AbortSignal can be used to cancel waiting on events:

      -
      const { on, EventEmitter } = require('events');
      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort()); +
      import { on, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ac = new AbortController();

      (async () => {
      const ee = new EventEmitter();

      // Emit later on
      process.nextTick(() => {
      ee.emit('foo', 'bar');
      ee.emit('foo', 42);
      });

      for await (const event of on(ee, 'foo', { signal: ac.signal })) {
      // The execution of this inner block is synchronous and it
      // processes one event at a time (even with await). Do not use
      // if concurrent execution is required.
      console.log(event); // prints ['bar'] [42]
      }
      // Unreachable here
      })();

      process.nextTick(() => ac.abort());

      Since

      v13.6.0, v12.16.0

      @@ -650,9 +681,9 @@ composed of the emitted event arguments.

      Optional options: StaticEventEmitterOptions

    Returns AsyncIterableIterator<any>

    that iterates eventName events emitted by the emitter

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:250
    • @@ -664,15 +695,15 @@ The Promise will resolve with an array of all the arguments emitted given event.

      This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

      -
      const { once, EventEmitter } = require('events');

      async function run() {
      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.log('error happened', err);
      }
      }

      run(); +
      import { once, EventEmitter } from 'node:events';
      import process from 'node:process';

      const ee = new EventEmitter();

      process.nextTick(() => {
      ee.emit('myevent', 42);
      });

      const [value] = await once(ee, 'myevent');
      console.log(value);

      const err = new Error('kaboom');
      process.nextTick(() => {
      ee.emit('error', err);
      });

      try {
      await once(ee, 'myevent');
      } catch (err) {
      console.error('error happened', err);
      }

      The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

      -
      const { EventEmitter, once } = require('events');

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.log('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom +
      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();

      once(ee, 'error')
      .then(([err]) => console.log('ok', err.message))
      .catch((err) => console.error('error', err.message));

      ee.emit('error', new Error('boom'));

      // Prints: ok boom

      An AbortSignal can be used to cancel waiting for the event:

      -
      const { EventEmitter, once } = require('events');

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled! +
      import { EventEmitter, once } from 'node:events';

      const ee = new EventEmitter();
      const ac = new AbortController();

      async function foo(emitter, event, signal) {
      try {
      await once(emitter, event, { signal });
      console.log('event emitted!');
      } catch (error) {
      if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
      } else {
      console.error('There was an error', error.message);
      }
      }
      }

      foo(ee, 'foo', ac.signal);
      ac.abort(); // Abort waiting for the event
      ee.emit('foo'); // Prints: Waiting for the event was canceled!

      Since

      v11.13.0, v10.16.0

      @@ -687,9 +718,9 @@ special handling:

    • Optional options: StaticEventEmitterOptions

    Returns Promise<any[]>

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:189
  • @@ -702,15 +733,15 @@ special handling:

  • Optional options: StaticEventEmitterOptions
  • Returns Promise<any[]>

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:190
    • -
      const {
      setMaxListeners,
      EventEmitter
      } = require('events');

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter); +
      import { setMaxListeners, EventEmitter } from 'node:events';

      const target = new EventTarget();
      const emitter = new EventEmitter();

      setMaxListeners(5, target, emitter);

      Since

      v15.4.0

      @@ -725,9 +756,9 @@ special handling:

    • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

    Returns void

    +
  • Defined in node_modules/.pnpm/@types+node@20.2.5/node_modules/@types/node/events.d.ts:311
  • Generated using TypeDoc

    \ No newline at end of file