Files
BetterSEQTA-Plus/src/seqta/utils/debounce.ts
T
2025-05-05 18:04:10 +10:00

11 lines
348 B
TypeScript

export default function debounce<T extends (...args: any[]) => void>(
fn: T,
delay: number,
): (...args: Parameters<T>) => void {
let timeout: ReturnType<typeof setTimeout>;
return function (this: ThisParameterType<T>, ...args: Parameters<T>) {
clearTimeout(timeout);
timeout = setTimeout(() => fn.apply(this, args), delay);
};
}