UNPKG

paretojs

Version:

An extremely small, intuitive and fast functional utility library for JavaScript

21 lines (16 loc) 392 B
const debounce = ( fn: Function, wait: number = 100, immediate: boolean = false ) => (...args: any[]) => { const obj = this; let timeout; const delayed = () => { if (!immediate) fn.apply(obj, args); timeout = null; }; if (timeout) clearTimeout(timeout); else if (immediate) fn.apply(obj, args); timeout = setTimeout(delayed, wait); }; export default debounce;