Files
meshtastic-web/src/core/utils/debounce.ts
T
2025-01-25 21:24:43 -05:00

14 lines
354 B
TypeScript

type Callback<Args extends unknown[]> = (...args: Args) => void;
export function debounce<Args extends unknown[]>(
callback: Callback<Args>,
wait: number,
): Callback<Args> {
let timeoutId: ReturnType<typeof setTimeout>;
return (...args: Args) => {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => callback(...args), wait);
};
}