// biome-ignore lint/suspicious/noExplicitAny: none export function debounce(fn: (...args: any[]) => void, delay = 500) { let timer: ReturnType; // biome-ignore lint/suspicious/noExplicitAny: none const result = (...args: any[]) => { clearTimeout(timer); timer = setTimeout(() => fn(...args), delay); }; result.cancel = () => { clearTimeout(timer); }; return result; }