Files
pocket-id-pocket-id-1/frontend/src/lib/utils/debounce-util.ts

14 lines
334 B
TypeScript
Raw Normal View History

2024-08-12 11:00:25 +02:00
export function debounced<T extends (...args: any[]) => void>(func: T, delay: number) {
2024-10-25 21:33:54 +02:00
let debounceTimeout: ReturnType<typeof setTimeout>;
2024-08-12 11:00:25 +02:00
return (...args: Parameters<T>) => {
if (debounceTimeout !== undefined) {
clearTimeout(debounceTimeout);
}
debounceTimeout = setTimeout(() => {
func(...args);
}, delay);
};
2024-10-25 21:33:54 +02:00
}