Files
discord-decomp/_bundle/Module1767.js
T
2026-11-01 12:12:55 +02:00

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);