UNPKG

simple-lazy-debounce

Version:
2 lines (1 loc) 466 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=(s,{defaultDelay:t=300,maxDelay:n=500,latencyIncrement:r=100}={})=>{const c=[["defaultDelay",t],["maxDelay",n],["latencyIncrement",r]];for(const[o,l]of c)if(!Number.isInteger(l)||l<0)throw new Error(`Invalid option: ${o}`);let e=t,i=0,a;return(...o)=>{e=Date.now()-i>e?Math.min(e+r,n):t,clearTimeout(a),a=setTimeout(()=>{s(...o),i=Date.now()},e)}};exports.SimpleLazyDebounce=u;