fix: fix dynamic import syntax
[poolifier.git] / src / worker / worker-options.ts
index 4473a97533b5c07db172d1c756ae0bce47d1d03a..90aea1efc04e9c2d5015b910909831bc4b71f4af 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)
@@ -20,15 +20,15 @@ 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. Default: `KillBehaviors.HARD`.
- * @param value Any value.
+ * @typeParam KB - Which specific KillBehavior type 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> (
+export const isKillBehavior = <KB extends KillBehavior>(
   killBehavior: KB,
   value: unknown
-): value is KB {
+): value is KB => {
   return value === killBehavior
 }
 
@@ -44,26 +44,27 @@ export interface WorkerOptions {
    *
    * - If `killBehavior` is set to `KillBehaviors.HARD` this value represents also the timeout for the tasks that you submit to the pool,
    *   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.
+   * - 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 **wont** 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
 }