before
Creates a new function that limits the number of times the given function (func
) can be called.
Signature
typescript
function before<F extends (...args: any[]) => any>(n: number, func: F): F;
Parameters
n
(number
): The number of times the returned function is allowed to callfunc
before stopping.- If
n
is 0,func
will not be called. - If
n
is a positive integer,func
will be called up ton-1
times.
- If
func
(F
): The function to be called with the limit applied.
Returns
(F
): A new function that:
- Tracks the number of calls.
- Invokes
func
until then-1
-th call. - Returns
undefined
if the number of calls reaches or exceedsn
, stopping further calls.
Error
Throws an error if n
is negative.
Example
typescript
import { before } from 'es-toolkit/function';
const beforeFn = before(3, () => {
console.log('called');
});
// Will log 'called'.
beforeFn();
// Will log 'called'.
beforeFn();
// Will not log anything.
beforeFn();