UNPKG

raf-handler

Version:

Use for centralize request animation frame

3 lines (2 loc) 923 B
window&&window.requestAnimationFrame||(window.requestAnimationFrame=function(){return null},window.cancelAnimationFrame=function(){return null});var n={rAF:[],fps:60,then:Date.now()},e=function e(t){var r=n.rAF;if(n.interval=1e3/n.fps,n.now=Date.now(),n.delta=n.now-n.then,n.delta>n.interval){n.then=n.now-n.delta%n.interval;for(var i=0,o=r.length;i<o;i+=1)r[i](t)}return requestAnimationFrame(e)},t=function(){n.id&&window.cancelAnimationFrame(n.id),n.id=null,n.rAF=null},r=function(e){n.rAF||(n.rAF=[]),n.rAF.push(e)},i=function(e){for(var t=n.rAF,r=0,i=t.length;r<i;r+=1)t[r]===e&&(n.rAF.splice(r,1),r--)};exports.default=function(o){var a;return null!=o&&o.fps&&(n.fps=o.fps),n.id=null==(a=window)?void 0:a.requestAnimationFrame(e),{reset:t,add:r,remove:i,update:e,store:n}},exports.resetUpdate=t,exports.store=n,exports.subscribeUpdate=r,exports.unsubscribeUpdate=i,exports.update=e; //# sourceMappingURL=index.js.map