export const debounce = (callback: Function, wait = 300) => { let timeout: ReturnType; return (...args: any[]) => { clearTimeout(timeout); timeout = setTimeout(() => callback(...args), wait); }; };