X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fworker%2Fabstract-worker.ts;h=846994591b5b2049039c748b554aba84b1a13d97;hb=54db4c85a9468f121dbd3939c779a5f14e23c937;hp=3090b6f534f29597e7dca3dabddee8935f46ddbe;hpb=6bd72cd09232827a710b41952254cab597664247;p=poolifier.git diff --git a/src/worker/abstract-worker.ts b/src/worker/abstract-worker.ts index 3090b6f5..84699459 100644 --- a/src/worker/abstract-worker.ts +++ b/src/worker/abstract-worker.ts @@ -65,7 +65,7 @@ export abstract class AbstractWorker< this.checkWorkerOptions(this.opts) this.lastTaskTimestamp = Date.now() // Keep the worker active - if (isMain === false) { + if (!isMain) { this.aliveInterval = setInterval( this.checkAlive.bind(this), (this.opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME) / 2 @@ -95,19 +95,16 @@ export abstract class AbstractWorker< this.mainWorker = value.parent } else if (value.kill !== undefined) { // Here is time to kill this worker, just clearing the interval - if (this.aliveInterval) clearInterval(this.aliveInterval) + if (this.aliveInterval != null) clearInterval(this.aliveInterval) this.emitDestroy() } } - private checkWorkerOptions (opts: WorkerOptions) { + private checkWorkerOptions (opts: WorkerOptions): void { this.opts.killBehavior = opts.killBehavior ?? DEFAULT_KILL_BEHAVIOR this.opts.maxInactiveTime = opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME - /** - * Whether the worker is working asynchronously or not. - */ - this.opts.async = !!opts.async + this.opts.async = opts.async ?? false } /** @@ -116,7 +113,10 @@ export abstract class AbstractWorker< * @param fn The function that should be defined. */ private checkFunctionInput (fn: (data: Data) => Response): void { - if (!fn) throw new Error('fn parameter is mandatory') + if (fn == null) throw new Error('fn parameter is mandatory') + if (typeof fn !== 'function') { + throw new TypeError('fn parameter is not a function') + } } /** @@ -125,7 +125,7 @@ export abstract class AbstractWorker< * @returns Reference to the main worker. */ protected getMainWorker (): MainWorker { - if (!this.mainWorker) { + if (this.mainWorker == null) { throw new Error('Main worker was not set') } return this.mainWorker @@ -139,7 +139,7 @@ export abstract class AbstractWorker< protected abstract sendToMainWorker (message: MessageValue): void /** - * Check to see if the worker should be terminated, because its living too long. + * Checks if the worker should be terminated, because its living too long. */ protected checkAlive (): void { if (