Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 11x 11x 11x 100x 100x 100x 100x 100x 1x 1x 1x 1x 1x 100x 100x 100x 100x 100x 100x 11x 1x 1x | /* eslint-disable func-names */ /* eslint-disable prefer-rest-params */ /* eslint-disable @typescript-eslint/no-this-alias */ /** * This function debounce the received function * @param { function } func Function to be debounced * @param { number } wait Time to wait before execut the function * @param { boolean } immediate Param to define if the function will be executed immediately */ const debounce = (func: { (): void; (): void; apply?: any }, wait?: number, immediate?: true) => { let timeout: string | number | NodeJS.Timeout | null | undefined return function () { // @ts-ignore const context = this const args = arguments const later = () => { timeout = null if (!immediate) { func.apply(context, args) } } // @ts-ignore clearTimeout(timeout) timeout = setTimeout(later, wait) } } export default debounce |