decord/source/1813_useFrameCallback.js

42 lines
1.2 KiB
JavaScript
Raw Normal View History

2026-08-15 05:55:55 +00:00
// Module ID: 1813
// Function ID: 1814
2026-07-29 08:29:29 +00:00
// Name: useFrameCallback
2026-08-15 05:55:55 +00:00
// Dependencies: [19, 1814]
2026-07-29 08:29:29 +00:00
// Exports: useFrameCallback
2026-08-15 05:55:55 +00:00
// Module 1813 (useFrameCallback)
2026-08-24 06:08:38 +00:00
import FrameCallbackRegistryJSDefault from "FrameCallbackRegistryJS" /* 1814 */;
import noop from "noop" /* 19 */;
2026-07-29 08:29:29 +00:00
({ useEffect: c0, useRef: closure_1 } = noop);
2026-08-24 06:08:38 +00:00
let closure_2 = new FrameCallbackRegistryJSDefault();
2026-07-29 08:29:29 +00:00
export const useFrameCallback = function useFrameCallback(fn, arg1) {
const callback = fn;
let flag = arg1;
if (arg1 === undefined) {
flag = true;
}
let callback2;
const tmp = callback2({
setActive(isActive) {
2026-08-24 06:08:38 +00:00
const result = closure_1_2.manageStateFrameCallback(closure_1.current.callbackId, isActive);
closure_1.current.isActive = isActive;
2026-07-29 08:29:29 +00:00
},
isActive: flag,
callbackId: -1
});
callback2 = tmp;
const items = [fn, flag];
callback(() => {
2026-08-24 06:08:38 +00:00
closure_1.current.callbackId = closure_1_2.registerFrameCallback(closure_0);
({ current: closure_0, current } = closure_1);
current.setActive(closure_1.current.isActive);
2026-07-29 08:29:29 +00:00
return () => {
2026-08-24 06:08:38 +00:00
const result = closure_1_2.unregisterFrameCallback(callbackId.callbackId);
2026-07-29 08:29:29 +00:00
callbackId.callbackId = -1;
};
}, items);
return tmp.current;
};