build(deps-dev): apply updates
[poolifier.git] / src / utility-types.ts
index 4e2f3de4f726c9cfbcb6f890e2eee9a514feb859..ec5ff44d861baeff4b0779a83e19f2b869ee560b 100644 (file)
@@ -1,7 +1,7 @@
-import type { Worker as ClusterWorker } from 'cluster'
-import type { MessagePort } from 'worker_threads'
-import type { IWorker } from './pools/abstract-pool'
+import type { Worker as ClusterWorker } from 'node:cluster'
+import type { MessagePort } from 'node:worker_threads'
 import type { KillBehavior } from './worker/worker-options'
+import type { IPoolWorker } from './pools/pool-worker'
 
 /**
  * Make all properties in T non-readonly.
@@ -22,7 +22,7 @@ export interface MessageValue<
   /**
    * Id of the message.
    */
-  readonly id?: number
+  readonly id?: string
   /**
    * Kill code.
    */
@@ -31,6 +31,10 @@ export interface MessageValue<
    * Error.
    */
   readonly error?: string
+  /**
+   * Task runtime.
+   */
+  readonly taskRunTime?: number
   /**
    * Reference to main worker.
    *
@@ -40,13 +44,13 @@ export interface MessageValue<
 }
 
 /**
- * An object holding the worker that will be used to resolve/rejects the promise later on.
+ * An object holding the execution response promise resolve/reject callbacks.
  *
- * @template Worker Type of worker.
- * @template Response Type of response of execution. This can only be serializable data.
+ * @typeParam Worker - Type of worker.
+ * @typeParam Response - Type of execution response. This can only be serializable data.
  */
-export interface PromiseWorkerResponseWrapper<
-  Worker extends IWorker,
+export interface PromiseResponseWrapper<
+  Worker extends IPoolWorker,
   Response = unknown
 > {
   /**
@@ -58,7 +62,7 @@ export interface PromiseWorkerResponseWrapper<
    */
   readonly reject: (reason?: string) => void
   /**
-   * The worker that has the assigned task.
+   * The worker handling the promise.
    */
   readonly worker: Worker
 }