Files
litlyx/dashboard/utils/debounce.ts
2024-06-01 15:27:40 +02:00

10 lines
318 B
TypeScript

export const debounce = <F extends (...args: any) => any>(func: F, waitFor: number,) => {
let timeout: any;
const debounced = (...args: any) => {
clearTimeout(timeout)
timeout = setTimeout(() => func(...args), waitFor)
}
return debounced as (...args: Parameters<F>) => ReturnType<F>
}