Viewing File: /home/ubuntu/route-and-root-frontend-base/node_modules/framesync/dist/es/create-render-step.js
function createRenderStep(runNextFrame) {
var toRun = [];
var toRunNextFrame = [];
var numToRun = 0;
var isProcessing = false;
var toKeepAlive = new WeakSet();
var step = {
schedule: function (callback, keepAlive, immediate) {
if (keepAlive === void 0) { keepAlive = false; }
if (immediate === void 0) { immediate = false; }
var addToCurrentFrame = immediate && isProcessing;
var buffer = addToCurrentFrame ? toRun : toRunNextFrame;
if (keepAlive)
toKeepAlive.add(callback);
if (buffer.indexOf(callback) === -1) {
buffer.push(callback);
if (addToCurrentFrame && isProcessing)
numToRun = toRun.length;
}
return callback;
},
cancel: function (callback) {
var index = toRunNextFrame.indexOf(callback);
if (index !== -1)
toRunNextFrame.splice(index, 1);
toKeepAlive.delete(callback);
},
process: function (frameData) {
var _a;
isProcessing = true;
_a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];
toRunNextFrame.length = 0;
numToRun = toRun.length;
if (numToRun) {
for (var i = 0; i < numToRun; i++) {
var callback = toRun[i];
callback(frameData);
if (toKeepAlive.has(callback)) {
step.schedule(callback);
runNextFrame();
}
}
}
isProcessing = false;
},
};
return step;
}
export { createRenderStep };
Back to Directory
File Manager