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

13 lines
322 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) {
let debounceTimeout: number | undefined;
return (...args: Parameters<T>) => {
if (debounceTimeout !== undefined) {
clearTimeout(debounceTimeout);
}
debounceTimeout = setTimeout(() => {
func(...args);
}, delay);
};
}