@pawanmkr/fucron
Version:
2 lines (1 loc) • 946 B
JavaScript
;var c=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var t in e)c(r,t,{get:e[t],enumerable:!0})},d=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of h(e))!m.call(r,n)&&n!==t&&c(r,n,{get:()=>e[n],enumerable:!(i=o(e,n))||i.enumerable});return r};var b=r=>d(c({},"__esModule",{value:!0}),r);var w={};l(w,{scheduler:()=>k});module.exports=b(w);var a=class{constructor(){this.tracker=new Map}schedule(e,t){return new Promise((i,n)=>{try{let s=setTimeout(async()=>{try{await e(),i(s)}catch(u){n(u)}finally{this.tracker.delete(s)}},t);this.tracker.set(s,t),i(s)}catch(s){n(s)}})}unschedule(e){let t=this.tracker.get(e);t?(clearTimeout(t),this.tracker.delete(e)):console.info(`timeout with ${e} does not exists`)}pending(){return this.tracker.size}onExhausted(e){return e()}},k=new a;0&&(module.exports={scheduler});