function t(t,e=50,n={}){var o,c;let i;const r=null!=(o=n.isImmediate)&&o,a=null!=(c=n.callback)&&c,u=n.maxWait;let l=Date.now(),s=[];const f=function(...n){const o=this;return new Promise((c,f)=>{const v=r&&void 0===i;if(void 0!==i&&clearTimeout(i),i=setTimeout(function(){if(i=void 0,l=Date.now(),!r){const e=t.apply(o,n);a&&a(e),s.forEach(({resolve:t})=>t(e)),s=[]}},function(){if(void 0!==u){const t=Date.now()-l;if(t+e>=u)return u-t}return e}()),v){const e=t.apply(o,n);return a&&a(e),c(e)}s.push({resolve:c,reject:f})})};return f.cancel=function(t){void 0!==i&&clearTimeout(i),s.forEach(({reject:e})=>e(t)),s=[]},f}export{t as debounce}; //# sourceMappingURL=index.modern.js.map