docs: refine code comment
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 4 Apr 2024 09:23:40 +0000 (11:23 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 4 Apr 2024 09:23:40 +0000 (11:23 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/utils.ts

index 88562ca3531f9acbb446414075366a4b50ba1ce4..c568a29a049eda2de26cf9bd99d63e613294bc3f 100644 (file)
@@ -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 = <A extends any[], R, T>(
+export const once = <A extends any[], R, C>(
   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<T, A, R>(context, args)
+      result = fn.apply<C, A, R>(context, args)
       ;(fn as unknown as undefined) = (context as unknown as undefined) =
         undefined
     }