Build 545032stable
Module 572377
3,650 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{c:()=>a});var i=n(672722),r=(n(72290),function(e){return(0,i.requestAnimationFrame)(e)}),s=function(e){void 0===e&&(e=r);var t=!0,n=!1,s=0,a=[],l=0,u=new Set,c=new Set,d=new Set,_=function(e){var t=a.indexOf(e);t<0&&(t=a.findIndex(function(t){return t.priority>e.priority}),a.splice(~t?t:a.length,0,e))},f=function(){if(!t)try{E(),e(f)}catch(e){console.error(e)}},h=function(){t&&(t=!1,0==s&&(s=i.now(),e(f)))},p=[];this.setTimeout=function(e,t){var n=i.now()+t,r=function(){var e=p.findIndex(function(e){return e.cancel==r});e>=0&&p.splice(e,1)},s=o(p,function(e){return e.time>n}),a={time:n,handler:e,cancel:r};return p.splice(s,0,a),h(),a};var E=this.advance=function(){var e=i.now();if(u.size&&(u.forEach(_),u.clear()),p.length&&i.batchedUpdates(function(){var t=o(p,function(t){return t.time>e});p.splice(0,t).forEach(function(e){return e.handler()})}),e>s){var t=Math.min(64,e-s);s=e,i.batchedUpdates(function(){a.length&&(i.willAdvance(a),a=a.filter(function(e){return l=e.priority,e.idle||e.advance(t),!e.idle}),l=0),c.size&&(c.forEach(function(t){return t(e)}),c.clear()),d.size&&(n=!0,d.forEach(function(t){return t(e)}),d.clear(),n=!1)})}};this.start=function(e){l>e.priority?u.add(e):(_(e),h())},this.onFrame=function(e){c.add(e),h()},this.onWrite=function(e){n?e(s):d.add(e)}};class a extends s{constructor(){super(...arguments),this._requestAnimationFrame=e=>r(e),this._cancelAnimationFrame=e=>cancelAnimationFrame(e),this.writing=!1,this.id=0,this.lastTime=0,this.animations=[],this.priority=0,this.startQueue=new Set,this.frameQueue=new Set,this.writeQueue=new Set,this.timeoutQueue=[],this.addAnimation=e=>{let t=this.animations.indexOf(e);t<0&&(t=this.animations.findIndex(t=>t.priority>e.priority),this.animations.splice(0!=~t?t:this.animations.length,0,e))},this.loop=()=>{if(0!==this.lastTime)try{this.advance()}catch(e){console.error(e)}finally{this.animations.length>0||this.startQueue.size>0||this.frameQueue.size>0||this.writeQueue.size>0||this.timeoutQueue.length>0?this.id=this._requestAnimationFrame(this.loop):(this.lastTime=0,this.id=0)}},this.startLoop=()=>{this.lastTime>0||(this.lastTime=i.now(),this.id=this._requestAnimationFrame(this.loop))},this.advance=()=>{let e=i.now();if(this.startQueue.size>0&&(this.startQueue.forEach(this.addAnimation),this.startQueue.clear()),this.timeoutQueue.length>0&&i.batchedUpdates(()=>{let t=o(this.timeoutQueue,t=>t.time>e);this.timeoutQueue.splice(0,t).forEach(e=>e.handler())}),e>this.lastTime){let t=Math.min(64,e-this.lastTime);this.lastTime=e,i.batchedUpdates(()=>{this.animations.length>0&&(i.willAdvance(this.animations),this.animations=this.animations.filter(e=>(this.priority=e.priority,e.idle||e.advance(t),!e.idle)),this.priority=0),this.frameQueue.size>0&&(this.frameQueue.forEach(t=>t(e)),this.frameQueue.clear()),this.writeQueue.size>0&&(this.writing=!0,this.writeQueue.forEach(t=>t(e)),this.writeQueue.clear(),this.writing=!1)})}},this.start=e=>{this.priority>e.priority?this.startQueue.add(e):(this.addAnimation(e),this.startLoop())},this.setTimeout=(e,t)=>{let n=i.now()+t,r=()=>{let e=this.timeoutQueue.findIndex(e=>e.cancel===r);e>=0&&this.timeoutQueue.splice(e,1)},s=o(this.timeoutQueue,e=>e.time>n),a={time:n,handler:e,cancel:r};return this.timeoutQueue.splice(s,0,a),this.startLoop(),a},this.onFrame=e=>{this.frameQueue.add(e),this.startLoop()},this.onWrite=e=>{this.writing?e(this.lastTime):this.writeQueue.add(e)}}setRAF(e,t){0!==this.id&&(this._cancelAnimationFrame(this.id),this.id=0),this._requestAnimationFrame=e,this._cancelAnimationFrame=t,this.loop()}}function o(e,t){var n=e.findIndex(t);return n<0?e.length:n}}