var l=Object.defineProperty;var o=(e,t,i)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var s=(e,t,i)=>o(e,typeof t!="symbol"?t+"":t,i);class m{constructor(t,i){s(this,"endTime");s(this,"timer",null);s(this,"callback");this.endTime=t,this.callback=i}init(){this.initDiaplay(),this.updateDisplay()}formatTime(t){const i=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return[i.toString().padStart(2,"0"),n.toString().padStart(2,"0"),r.toString().padStart(2,"0")].join(":")}initDiaplay(){const t=Math.floor(this.endTime/1e3),i=this.formatTime(t);this.endTime===0||this.endTime<1e3?(this.callback&&this.callback("0"),this.stopTimer()):(this.callback&&this.callback(i),this.endTime-=1e3)}updateDisplay(){this.timer=window.setInterval(()=>{this.initDiaplay()},1e3)}startTimer(){this.timer=window.setInterval(()=>{this.updateDisplay()},1e3)}stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=null,this.endTime=0)}}let a=null;const T=(e,t)=>{a=new m(e,t),a.init()},p=()=>{a&&a.stopTimer()};export{p as a,T as s};