export function debounce(func: Function, wait: number) { let timeout: number; return function executedFunction(...args: unknown[]) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; }