refactor: move helpers to utils.ts file
[poolifier.git] / src / worker / worker-options.ts
index 608c3dea7db411b2f8d46f07783e61c91a81b7ad..75d3dd5b98bf1d8e633d3b58c0190cd3c1f20f93 100644 (file)
@@ -3,11 +3,11 @@
  */
 export const KillBehaviors = Object.freeze({
   /**
-   * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **wont** be deleted.
+   * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker **wont** be deleted.
    */
   SOFT: 'SOFT',
   /**
-   * If `lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker will be deleted.
+   * If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker will be deleted.
    */
   HARD: 'HARD'
 } as const)
@@ -17,21 +17,6 @@ export const KillBehaviors = Object.freeze({
  */
 export type KillBehavior = keyof typeof KillBehaviors
 
-/**
- * Detects whether the given value is a kill behavior or not.
- *
- * @template KB Which specific KillBehavior to test against.
- * @param killBehavior Which kind of kill behavior to detect.
- * @param value Any value.
- * @returns `true` if `value` was strictly equals to `killBehavior`, otherwise `false`.
- */
-export function isKillBehavior<KB extends KillBehavior> (
-  killBehavior: KB,
-  value: unknown
-): value is KB {
-  return value === killBehavior
-}
-
 /**
  * Options for workers.
  */
@@ -46,24 +31,25 @@ export interface WorkerOptions {
    *   when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool.
    * - If `killBehavior` is set to `KillBehaviors.SOFT` your tasks have no timeout and your workers will not be terminated until your task is completed.
    *
-   * @default 60.000 ms
+   * @defaultValue 60000
    */
   maxInactiveTime?: number
   /**
    * Whether your worker will perform asynchronous or not.
    *
-   * @default false
+   * @defaultValue false
+   * @deprecated This option will be removed in the next major version.
    */
   async?: boolean
   /**
    * `killBehavior` dictates if your async unit (worker/process) will be deleted in case that a task is active on it.
    *
-   * - SOFT: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **won't** be deleted.
-   * - HARD: If `lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker will be deleted.
+   * - SOFT: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker **won't** be deleted.
+   * - HARD: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker will be deleted.
    *
    * This option only apply to the newly created workers.
    *
-   * @default KillBehaviors.SOFT
+   * @defaultValue KillBehaviors.SOFT
    */
   killBehavior?: KillBehavior
 }