From fcaf8a3ef0ea041ad3cb1d634514f87d600943df Mon Sep 17 00:00:00 2001 From: fedeghe Date: Fri, 21 Apr 2023 23:01:13 +0200 Subject: [PATCH] cover --- README.md | 2 +- dist/index.js | 4 ++-- source/index.js | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2a5fea6..67cfc27 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![Coverage Status](https://coveralls.io/repos/github/fedeghe/interval/badge.svg?branch=master)](https://coveralls.io/github/fedeghe/interval?branch=master) -# interval (v. 1.0.27) +# interval (v. 1.0.28) A really simple tool meant to replace `setInterval` primarily providing a stable interval execution, moreover can be paused and resumed diff --git a/dist/index.js b/dist/index.js index f23945e..8e6051c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,7 +1,7 @@ 'use strict'; /* -Interval v1.0.27 +Interval v1.0.28 fedeghe A really simple function to provide a better timing to replace the setInterval */ -var interval=function(){function t(){return+new Date}function i(t){return"function"==typeof t}function e(t,i){var e=!1;switch(t.status){case o.init:e=i===o.running;break;case o.running:e=[o.running,o.paused,o.ended].includes(i);break;case o.paused:e=[o.running,o.ended].includes(i)}return e=e||i===o.error,e&&(t.status=i),e}function s(t,i,e){e=e||{},i in t.subscribers&&t.subscribers[i].forEach(function(i){i(Object.assign({},e,{instance:t}))})}function n(i){var e=t()-i.StartTime,s=e-i.pauses,n=i.definite?i.definite-e+i.pauses:void 0,r=i.definite?parseFloat((100-100*n/i.definite).toFixed(3),10):void 0;return{cycle:i.cycle-i.addedCycles,elapsed:e,effective:s,remaining:n,progress:r}}function r(i){var e=t(),s=i.StartTime+(i.cycle+1)*i.tick,n=e+i.tick,r=s-n;return i.tick+r}function u(t,i){this.tick=i,this.StartTime=null,this.status=o.init,this.definite=!1,this.definiteDown=!1,this.definiteTo=null,this.sliding=!1,this.pauses=0,this.pauseStart=null,this.cycle=0,this.subscribers={start:[],pause:[],resume:[],update:[],end:[],tick:[],err:[]},this.to=null,this.addedCycles=0,this.onTick(t)}var o={init:"init",running:"running",paused:"paused",ended:"ended",error:"error"};return u.prototype.getStatus=function(){return n(this)},u.prototype.update=function(t){var i,e=parseInt(t,10);return e&&this.definite&&(i=this.definite+e,clearTimeout(this.definiteTo),i>0&&this.endsIn(i)),s(this,"update",n(this)),this},u.prototype.run=function(i){if(this.status===o.error)return this;this.status===o.init&&(this.status=o.running),this.StartTime=this.StartTime||t();var u=this,h=r(this);return i&&(this.onStart(i),s(this,"start",{instance:u})),this.to=setTimeout(function(){if([o.ended,o.error].includes(u.status))return u;var t=n(u);try{u.status===o.running&&s(u,"tick",t),u.cycle++}catch(i){e(u,o.error),s(u,"err",Object.assign(t,{error:i}))}u.run()},h),this},u.prototype.pause=function(i){return e(this,o.paused)?(s(this,"pause",n(this)),this.sliding=!!i&&this.definite,this.definite&&clearTimeout(this.definiteTo),this.pauseStart=t(),this):this},u.prototype.resume=function(){if(!e(this,o.running))return this;var i,r=this,u=t(),h=u-this.pauseStart;return this.pauses+=this.sliding?h:0,i=u-this.StartTime-this.pauses,this.definiteDown=this.definite-i,this.sliding=!1,this.addedCycles+=~~(h/this.tick),s(this,"resume",n(this)),this.definite&&(this.definiteTo=setTimeout(function(){r.end()},this.definiteDown)),this},u.prototype.endsIn=function(t){var i=this;return this.definite=Math.abs(parseInt(t,10)),this.definiteTo&&clearTimeout(this.definiteTo),this.definiteTo=setTimeout(function(){i.end()},this.definite),this},u.prototype.end=function(){if(e(this,o.ended))return s(this,"end",n(this)),this},u.prototype.onStart=function(t){return i(t)&&this.subscribers.start.push(t),this},u.prototype.onPause=function(t){return i(t)&&this.subscribers.pause.push(t),this},u.prototype.onResume=function(t){return i(t)&&this.subscribers.resume.push(t),this},u.prototype.onUpdate=function(t){return i(t)&&this.subscribers.update.push(t),this},u.prototype.onTick=function(t){return i(t)&&this.subscribers.tick.push(t),this},u.prototype.onErr=function(t){return i(t)&&this.subscribers.err.push(t),this},u.prototype.onEnd=function(t){return i(t)&&this.subscribers.end.push(t),this},function(t,i){return new u(t,i)}}();"object"==typeof exports&&(module.exports=interval); \ No newline at end of file +var interval=function(){function t(){return+new Date}function i(t){return"function"==typeof t}function e(t,i){var e=!1;switch(t.status){case o.init:e=i===o.running;break;case o.running:e=[o.running,o.paused,o.ended].includes(i);break;case o.paused:e=[o.running,o.ended].includes(i)}return e=e||i===o.error,e&&(t.status=i),e}function s(t,i,e){i in t.subscribers&&t.subscribers[i].forEach(function(i){i(Object.assign({},e,{instance:t}))})}function n(i){var e=t()-i.StartTime,s=e-i.pauses,n=i.definite?i.definite-e+i.pauses:void 0,r=i.definite?parseFloat((100-100*n/i.definite).toFixed(3),10):void 0;return{cycle:i.cycle-i.addedCycles,elapsed:e,effective:s,remaining:n,progress:r}}function r(i){var e=t(),s=i.StartTime+(i.cycle+1)*i.tick,n=e+i.tick,r=s-n;return i.tick+r}function u(t,i){this.tick=i,this.StartTime=null,this.status=o.init,this.definite=!1,this.definiteDown=!1,this.definiteTo=null,this.sliding=!1,this.pauses=0,this.pauseStart=null,this.cycle=0,this.subscribers={start:[],pause:[],resume:[],update:[],end:[],tick:[],err:[]},this.to=null,this.addedCycles=0,this.onTick(t)}var o={init:"init",running:"running",paused:"paused",ended:"ended",error:"error"};return u.prototype.getStatus=function(){return n(this)},u.prototype.update=function(t){var i,e=parseInt(t,10);return e&&this.definite&&(i=this.definite+e,clearTimeout(this.definiteTo),i>0&&this.endsIn(i)),s(this,"update",n(this)),this},u.prototype.run=function(i){if(this.status===o.error)return this;this.status===o.init&&(this.status=o.running),this.StartTime=this.StartTime||t();var u=this,h=r(this);return i&&(this.onStart(i),s(this,"start",{instance:u})),this.to=setTimeout(function(){if([o.ended,o.error].includes(u.status))return u;var t=n(u);try{u.status===o.running&&s(u,"tick",t),u.cycle++}catch(i){e(u,o.error),s(u,"err",Object.assign(t,{error:i}))}u.run()},h),this},u.prototype.pause=function(i){return e(this,o.paused)?(s(this,"pause",n(this)),this.sliding=!!i&&this.definite,this.definite&&clearTimeout(this.definiteTo),this.pauseStart=t(),this):this},u.prototype.resume=function(){if(!e(this,o.running))return this;var i,r=this,u=t(),h=u-this.pauseStart;return this.pauses+=this.sliding?h:0,i=u-this.StartTime-this.pauses,this.definiteDown=this.definite-i,this.sliding=!1,this.addedCycles+=~~(h/this.tick),s(this,"resume",n(this)),this.definite&&(this.definiteTo=setTimeout(function(){r.end()},this.definiteDown)),this},u.prototype.endsIn=function(t){var i=this;return this.definite=Math.abs(parseInt(t,10)),this.definiteTo&&clearTimeout(this.definiteTo),this.definiteTo=setTimeout(function(){i.end()},this.definite),this},u.prototype.end=function(){if(e(this,o.ended))return s(this,"end",n(this)),this},u.prototype.onStart=function(t){return i(t)&&this.subscribers.start.push(t),this},u.prototype.onPause=function(t){return i(t)&&this.subscribers.pause.push(t),this},u.prototype.onResume=function(t){return i(t)&&this.subscribers.resume.push(t),this},u.prototype.onUpdate=function(t){return i(t)&&this.subscribers.update.push(t),this},u.prototype.onTick=function(t){return i(t)&&this.subscribers.tick.push(t),this},u.prototype.onErr=function(t){return i(t)&&this.subscribers.err.push(t),this},u.prototype.onEnd=function(t){return i(t)&&this.subscribers.end.push(t),this},function(t,i){return new u(t,i)}}();"object"==typeof exports&&(module.exports=interval); \ No newline at end of file diff --git a/source/index.js b/source/index.js index 8fc6cc3..7cc8c96 100644 --- a/source/index.js +++ b/source/index.js @@ -29,7 +29,6 @@ var interval = (function () { } function runHooks (instance, which, params) { - params = params || {}; which in instance.subscribers && instance.subscribers[which].forEach( function (subscriber) { subscriber(Object.assign({}, params, { instance: instance })); }