forked from mirror/crumbs-original
8 lines
262 B
TypeScript
8 lines
262 B
TypeScript
export function debounce<T extends (...args: unknown[]) => unknown>(fn: T, ms: number): T {
|
|
let timeoutId: ReturnType<typeof setTimeout>;
|
|
return ((...args: unknown[]) => {
|
|
clearTimeout(timeoutId);
|
|
timeoutId = setTimeout(() => fn(...args), ms);
|
|
}) as T;
|
|
}
|