/** @inheritDoc */
public async addTaskFunction (
name: string,
- taskFunction: TaskFunction<Data, Response>
+ fn: TaskFunction<Data, Response>
): Promise<boolean> {
- this.taskFunctions.set(name, taskFunction)
+ if (typeof name !== 'string') {
+ throw new TypeError('name argument must be a string')
+ }
+ if (typeof name === 'string' && name.trim().length === 0) {
+ throw new TypeError('name argument must not be an empty string')
+ }
+ if (typeof fn !== 'function') {
+ throw new TypeError('fn argument must be a function')
+ }
+ this.taskFunctions.set(name, fn)
return await this.sendTaskFunctionOperationToWorkers({
taskFunctionOperation: 'add',
taskFunctionName: name,
- taskFunction: taskFunction.toString()
+ taskFunction: fn.toString()
})
}
public async removeTaskFunction (name: string): Promise<boolean> {
if (!this.taskFunctions.has(name)) {
throw new Error(
- 'Cannot remove a task function that does not exist on the pool side'
+ 'Cannot remove a task function not handled on the pool side'
)
}
this.taskFunctions.delete(name)