Comment spell fixlet
[poolifier.git] / src / pools / selection-strategies / selection-strategies-utils.ts
index e76a699878289f85a8b2324bbeca729a3fcc0c0d..699bc719b80d99ad9091c20b3544f69cbfcf02d7 100644 (file)
@@ -1,5 +1,6 @@
 import type { AbstractPoolWorker } from '../abstract-pool-worker'
 import type { IPoolInternal } from '../pool-internal'
+import { FairShareWorkerChoiceStrategy } from './fair-share-worker-choice-strategy'
 import { LessRecentlyUsedWorkerChoiceStrategy } from './less-recently-used-worker-choice-strategy'
 import { RoundRobinWorkerChoiceStrategy } from './round-robin-worker-choice-strategy'
 import type {
@@ -7,13 +8,14 @@ import type {
   WorkerChoiceStrategy
 } from './selection-strategies-types'
 import { WorkerChoiceStrategies } from './selection-strategies-types'
+import { WeightedRoundRobinWorkerChoiceStrategy } from './weighted-round-robin-worker-choice-strategy'
 
 /**
  * Worker selection strategies helpers class.
  */
 export class SelectionStrategiesUtils {
   /**
-   * Get the worker choice strategy instance.
+   * Gets the worker choice strategy instance.
    *
    * @param pool The pool instance.
    * @param workerChoiceStrategy The worker choice strategy.
@@ -32,6 +34,10 @@ export class SelectionStrategiesUtils {
         return new RoundRobinWorkerChoiceStrategy(pool)
       case WorkerChoiceStrategies.LESS_RECENTLY_USED:
         return new LessRecentlyUsedWorkerChoiceStrategy(pool)
+      case WorkerChoiceStrategies.FAIR_SHARE:
+        return new FairShareWorkerChoiceStrategy(pool)
+      case WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN:
+        return new WeightedRoundRobinWorkerChoiceStrategy(pool)
       default:
         throw new Error(
           // eslint-disable-next-line @typescript-eslint/restrict-template-expressions