Files
ebcce89f-028f-4a19-b4ea-a7f…/src/utils/debounce.ts
Nikolay Pecheniev 765e487540 Initial commit
2026-01-20 15:11:41 +02:00

15 lines
349 B
TypeScript

export function debounce<T extends (...args: unknown[]) => void>(
func: T,
wait: number
): (...args: Parameters<T>) => void {
let timeout: NodeJS.Timeout | null = null;
return function (...args: Parameters<T>) {
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(() => {
func(...args);
}, wait);
};
}