UNPKG

sussy-util

Version:
22 lines (21 loc) 603 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const debounce = (fn, wait, immediate = false) => { let timeout; const setDebounce = (...args) => { const later = () => { timeout = void 0; if (!immediate) { fn.apply(later, args); } }; const callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait || 200); if (callNow) { fn.apply(setDebounce, args); } }; return setDebounce; }; exports.default = debounce;