Files
yaak/src-web/lib/debounce.ts
Gregory Schier 971cd02142 Fix eslint errors
2023-03-11 23:29:25 -08:00

14 lines
450 B
TypeScript

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function debounce(fn: (...args: any[]) => void, delay: number) {
let timer: ReturnType<typeof setTimeout>;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const result = function (...args: any[]) {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
result.cancel = function () {
clearTimeout(timer);
};
return result;
}