Fix documentation generation
[poolifier.git] / src / pools / pool.ts
index c6fbce43aba1d6a31d825a1eff80db8aae49ee12..78e7c981b6d9e25efb0c3af38d5cab2c4a3f6014 100644 (file)
@@ -1,3 +1,4 @@
+import EventEmitter from 'events'
 import type {
   ErrorHandler,
   ExitHandler,
@@ -6,6 +7,11 @@ import type {
 } from './pool-worker'
 import type { WorkerChoiceStrategy } from './selection-strategies/selection-strategies-types'
 
+/**
+ * Pool events emitter.
+ */
+export class PoolEmitter extends EventEmitter {}
+
 /**
  * Options for a poolifier pool.
  */
@@ -45,6 +51,14 @@ export interface PoolOptions<Worker> {
  * @template Response Type of response of execution. This can only be serializable data.
  */
 export interface IPool<Data = unknown, Response = unknown> {
+  /**
+   * Emitter on which events can be listened to.
+   *
+   * Events that can currently be listened to:
+   *
+   * - `'busy'`
+   */
+  readonly emitter?: PoolEmitter
   /**
    * Performs the task specified in the constructor with the data parameter.
    *