81 lines
4.3 KiB
JavaScript
81 lines
4.3 KiB
JavaScript
// Metro module 1767 (f1768).
|
|
import { runOnUIImmediately } from "./runWorkletOnJS";
|
|
const t = function t() {
|
|
global._frameCallbackRegistry = {
|
|
frameCallbackRegistry: new Map(),
|
|
activeFrameCallbacks: new Set(),
|
|
previousFrameTimestamp: null,
|
|
nextCallId: 0,
|
|
runCallbacks: function runCallbacks(a0) {
|
|
let c24674_1 = a0;
|
|
const _loop = (a0) => {
|
|
let timeSincePreviousFrame;
|
|
const timestamp = a0;
|
|
if (c24674_1 === this.nextCallId) {
|
|
if (this.previousFrameTimestamp === null) {
|
|
this.previousFrameTimestamp = a0;
|
|
}
|
|
timeSincePreviousFrame = a0 - this.previousFrameTimestamp;
|
|
this.activeFrameCallbacks.forEach((activeFrameCallback) => {
|
|
const r10 = this.frameCallbackRegistry.get(activeFrameCallback);
|
|
const startTime = r10.startTime;
|
|
if (startTime === null) {
|
|
r10.startTime = timestamp;
|
|
r10.callback({
|
|
timestamp,
|
|
timeSincePreviousFrame: null,
|
|
timeSinceFirstFrame: 0
|
|
});
|
|
} else {
|
|
r10.callback({
|
|
timestamp,
|
|
timeSincePreviousFrame,
|
|
timeSinceFirstFrame: timestamp - startTime
|
|
});
|
|
}
|
|
});
|
|
if (this.activeFrameCallbacks.size > 0) {
|
|
this.previousFrameTimestamp = a0;
|
|
requestAnimationFrame(_loop);
|
|
} else {
|
|
this.previousFrameTimestamp = null;
|
|
}
|
|
}
|
|
};
|
|
if (this.activeFrameCallbacks.size === 1 && a0 === this.nextCallId) {
|
|
requestAnimationFrame(_loop);
|
|
}
|
|
},
|
|
registerFrameCallback: function registerFrameCallback(a0, a1) {
|
|
this.frameCallbackRegistry.set(a1, {
|
|
callback: a0,
|
|
startTime: null
|
|
});
|
|
},
|
|
unregisterFrameCallback: function unregisterFrameCallback(a0) {
|
|
this.manageStateFrameCallback(a0, false);
|
|
this.frameCallbackRegistry.delete(a0);
|
|
},
|
|
manageStateFrameCallback: function manageStateFrameCallback(a0, a1) {
|
|
if (a0 !== -1) {
|
|
if (a1) {
|
|
this.activeFrameCallbacks.add(a0);
|
|
this.runCallbacks(this.nextCallId);
|
|
} else {
|
|
this.frameCallbackRegistry.get(a0).startTime = null;
|
|
this.activeFrameCallbacks.delete(a0);
|
|
if (this.activeFrameCallbacks.size === 0) {
|
|
this.nextCallId = this.nextCallId + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
t.__closure = {};
|
|
t.__workletHash = 12487935997347;
|
|
t.__initData = {
|
|
code: "function pnpm_FrameCallbackRegistryUITs1(){const frameCallbackRegistry={frameCallbackRegistry:new Map(),activeFrameCallbacks:new Set(),previousFrameTimestamp:null,nextCallId:0,runCallbacks:function(callId){var _this=this;const loop=function(timestamp){if(callId!==_this.nextCallId){return;}if(_this.previousFrameTimestamp===null){_this.previousFrameTimestamp=timestamp;}const delta=timestamp-_this.previousFrameTimestamp;_this.activeFrameCallbacks.forEach(function(callbackId){const callbackDetails=_this.frameCallbackRegistry.get(callbackId);const{startTime:startTime}=callbackDetails;if(startTime===null){callbackDetails.startTime=timestamp;callbackDetails.callback({timestamp:timestamp,timeSincePreviousFrame:null,timeSinceFirstFrame:0});}else{callbackDetails.callback({timestamp:timestamp,timeSincePreviousFrame:delta,timeSinceFirstFrame:timestamp-startTime});}});if(_this.activeFrameCallbacks.size>0){_this.previousFrameTimestamp=timestamp;requestAnimationFrame(loop);}else{_this.previousFrameTimestamp=null;}};if(this.activeFrameCallbacks.size===1&&callId===this.nextCallId){requestAnimationFrame(loop);}},registerFrameCallback:function(callback,callbackId){this.frameCallbackRegistry.set(callbackId,{callback:callback,startTime:null});},unregisterFrameCallback:function(callbackId){this.manageStateFrameCallback(callbackId,false);this.frameCallbackRegistry.delete(callbackId);},manageStateFrameCallback:function(callbackId,state){if(callbackId===-1){return;}if(state){this.activeFrameCallbacks.add(callbackId);this.runCallbacks(this.nextCallId);}else{const callback=this.frameCallbackRegistry.get(callbackId);callback.startTime=null;this.activeFrameCallbacks.delete(callbackId);if(this.activeFrameCallbacks.size===0){this.nextCallId+=1;}}}};global._frameCallbackRegistry=frameCallbackRegistry;}"
|
|
};
|
|
export const prepareUIRegistry = runOnUIImmediately(t);
|