!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).tsDebounce={})}(this,function(e){e.debounce=function(e,n,o){var t,i,r;void 0===n&&(n=50),void 0===o&&(o={});var u=null!=(t=o.isImmediate)&&t,c=null!=(i=o.callback)&&i,a=o.maxWait,f=Date.now(),l=[];function v(){if(void 0!==a){var e=Date.now()-f;if(e+n>=a)return a-e}return n}var d=function(){var n=[].slice.call(arguments),o=this;return new Promise(function(t,i){var a=u&&void 0===r;if(void 0!==r&&clearTimeout(r),r=setTimeout(function(){if(r=void 0,f=Date.now(),!u){var t=e.apply(o,n);c&&c(t),l.forEach(function(e){return(0,e.resolve)(t)}),l=[]}},v()),a){var d=e.apply(o,n);return c&&c(d),t(d)}l.push({resolve:t,reject:i})})};return d.cancel=function(e){void 0!==r&&clearTimeout(r),l.forEach(function(n){return(0,n.reject)(e)}),l=[]},d}}); //# sourceMappingURL=index.umd.js.map