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
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
- this.opts.async = !!opts.async
+ this.opts.async = opts.async ?? false
}
/**
* @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')
+ }
}
/**
* @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