opts?: InternalWorkerChoiceStrategyOptions
): InternalWorkerChoiceStrategyOptions => {
opts = clone(opts ?? {})
- if (opts.weights == null) {
+ if (opts?.weights == null) {
opts.weights = getDefaultWeights(poolMaxSize)
}
return {
...getDefaultInternalWorkerChoiceStrategyOptions(
- poolMaxSize + Object.keys(opts?.weights ?? {}).length
+ poolMaxSize + Object.keys(opts.weights).length
),
...opts
}
const getDefaultWeights = (
poolMaxSize: number,
- defaultWorkerWeight: number = getDefaultWorkerWeight()
+ defaultWorkerWeight?: number
): Record<number, number> => {
+ defaultWorkerWeight = defaultWorkerWeight ?? getDefaultWorkerWeight()
const weights: Record<number, number> = {}
for (let workerNodeKey = 0; workerNodeKey < poolMaxSize; workerNodeKey++) {
weights[workerNodeKey] = defaultWorkerWeight