X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils.ts;h=c568a29a049eda2de26cf9bd99d63e613294bc3f;hb=19fe32eb9269725073e0239c67d8af8bb05c5370;hp=88562ca3531f9acbb446414075366a4b50ba1ce4;hpb=b3543488a1e708d0f39122ea01434ef620044a41;p=poolifier.git
diff --git a/src/utils.ts b/src/utils.ts
index 88562ca3..c568a29a 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -198,18 +198,22 @@ export const max = (...args: number[]): number =>
* @param fn - The function to wrap.
* @param context - The context to bind the function to.
* @returns The wrapped function.
+ *
+ * @typeParam A - The function's arguments.
+ * @typeParam R - The function's return value.
+ * @typeParam C - The function's context.
* @internal
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export const once = (
+export const once = (
fn: (...args: A) => R,
- context: T
+ context: C
): ((...args: A) => R) => {
let result: R
return (...args: A) => {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (fn != null) {
- result = fn.apply(context, args)
+ result = fn.apply(context, args)
;(fn as unknown as undefined) = (context as unknown as undefined) =
undefined
}