+1
-1
@@ -49,3 +49,3 @@ //#region src/types.d.ts | ||
| callHookParallel<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any[]> | void; | ||
| callHookWith<NameT extends HookNameT, CallFunction extends (hooks: HookCallback[], args: Parameters<InferCallback<HooksT, NameT>>) => any>(caller: CallFunction, name: NameT, args: Parameters<InferCallback<HooksT, NameT>>): ReturnType<CallFunction>; | ||
| callHookWith<NameT extends HookNameT, CallFunction extends (hooks: HookCallback[], args: Parameters<InferCallback<HooksT, NameT>>, name: NameT) => any>(caller: CallFunction, name: NameT, args: Parameters<InferCallback<HooksT, NameT>>): ReturnType<CallFunction>; | ||
| beforeEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void; | ||
@@ -52,0 +52,0 @@ afterEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void; |
+5
-6
@@ -40,8 +40,8 @@ //#region src/utils.ts | ||
| } | ||
| function serialTaskCaller(hooks, args) { | ||
| if (hooks.length > 0) return callHooks(hooks, args, 0, createTask(args.shift())); | ||
| function serialTaskCaller(hooks, args, name) { | ||
| if (hooks.length > 0) return callHooks(hooks, args, 0, createTask(name)); | ||
| } | ||
| function parallelTaskCaller(hooks, args) { | ||
| function parallelTaskCaller(hooks, args, name) { | ||
| if (hooks.length > 0) { | ||
| const task = createTask(args.shift()); | ||
| const task = createTask(name); | ||
| return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); | ||
@@ -168,4 +168,3 @@ } | ||
| if (this._before) callEachWith(this._before, event); | ||
| const _args = args?.length ? [name, ...args] : [name]; | ||
| const result = caller(this._hooks[name] ? [...this._hooks[name]] : [], _args); | ||
| const result = caller(this._hooks[name] ? [...this._hooks[name]] : [], args, name); | ||
| if (result instanceof Promise) return result.finally(() => { | ||
@@ -172,0 +171,0 @@ if (this._after && event) callEachWith(this._after, event); |
+1
-1
| { | ||
| "name": "hookable", | ||
| "version": "6.0.0", | ||
| "version": "6.0.1", | ||
| "description": "Awaitable hook system", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+2
-1
@@ -166,6 +166,7 @@ # Hookable | ||
| `callerFn` if a callback function that accepts two arguments, `hooks` and `args`: | ||
| `callerFn` if a callback function that accepts 3 arguments, `hooks`, `args` and `name`: | ||
| - `hooks`: Array of user hooks to be called | ||
| - `args`: Array of arguments that should be passed each time calling a hook | ||
| - `name`: Name of the hook | ||
@@ -172,0 +173,0 @@ ### `deprecateHook (old, name)` |
292
0.34%24020
-0.04%262
-0.38%