Files
pocket-id-pocket-id-1/frontend/src/lib/utils/debounce-util.ts
2024-10-25 21:33:54 +02:00

14 lines
334 B
TypeScript

export function debounced<T extends (...args: any[]) => void>(func: T, delay: number) {
let debounceTimeout: ReturnType<typeof setTimeout>;
return (...args: Parameters<T>) => {
if (debounceTimeout !== undefined) {
clearTimeout(debounceTimeout);
}
debounceTimeout = setTimeout(() => {
func(...args);
}, delay);
};
}