@kunukn/tween
Version:
1 lines • 624 B
JavaScript
var root="undefined"!=typeof window?window:global,rAF=root.requestAnimationFrame?requestAnimationFrame.bind(root):function(e){setTimeout(e,16)};function getNow(){return(new Date).getTime()}function tween(e){var t,r,o=!1,n=e||{},a=n.update,i=n.complete,u=null!=n.duration?+n.duration:300,m=null==n.ensureLast||n.ensureLast;function d(e){var n=getNow(),t=n-e;return{startTime:e,now:n,elapsedTime:t,range:Math.min(t/u,1)}}return r=getNow(),0<u&&(a&&a(0),rAF(function e(){if(!o){var n=d(r);n.elapsedTime>=u?(m&&t!==n.range&&a&&a(1),i&&i(n)):(a&&a(n.range),t=n.range,rAF(e))}})),function(e){o=!0,e&&e(d(r))}}module.exports=tween;