![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/vreg/node_modules/signature_pad/src/ |
/* eslint-disable @typescript-eslint/no-explicit-any */ // Slightly simplified version of http://stackoverflow.com/a/27078401/815507 export function throttle( fn: (...args: any[]) => any, wait = 250, ): (this: any, ...args: any[]) => any { let previous = 0; let timeout: number | null = null; let result: any; let storedContext: any; let storedArgs: any[]; const later = (): void => { previous = Date.now(); timeout = null; result = fn.apply(storedContext, storedArgs); if (!timeout) { storedContext = null; storedArgs = []; } }; return function wrapper(this: any, ...args: any[]): any { const now = Date.now(); const remaining = wait - (now - previous); storedContext = this; storedArgs = args; if (remaining <= 0 || remaining > wait) { if (timeout) { clearTimeout(timeout); timeout = null; } previous = now; result = fn.apply(storedContext, storedArgs); if (!timeout) { storedContext = null; storedArgs = []; } } else if (!timeout) { timeout = window.setTimeout(later, remaining); } return result; }; }