decord/beta/source/modules/reanimated/native/useStateFromSharedValue.tsx
2026-10-12 16:32:48 +00:00

280 lines
8.6 KiB
TypeScript

// Module ID: 8395
// Function ID: 8396
// Name: useStateFromSharedValue
// Dependencies: [32, 19, 1272, 558, 576, 4850, 2]
// Module 8395 (useStateFromSharedValue)
import react2 from "react" /* 576 */;
import ReanimatedRexport from "ReanimatedRexport" /* 4850 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import react from "react" /* 19 */;
import ReactCompilerGating_mod from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require, dependencyMap, set, sum;
let c4 = 9999999;
const map = new Map();
let closure_6 = { code: "function useStateFromSharedValueTsx1(id,listener,sharedValue_0){const{runOnJS}=this.__closure;sharedValue_0.addListener(id,function(value){return runOnJS(listener)(value);});}" };
let closure_7 = { code: "function useStateFromSharedValueTsx2(id_0,sharedValue_1){sharedValue_1.removeListener(id_0);}" };
let closure_8 = { code: "function useStateFromSharedValueTsx3(id,listener,sharedValue_0){const{runOnJS}=this.__closure;sharedValue_0.addListener(id,function(value){return runOnJS(listener)(value);});}" };
let closure_9 = { code: "function useStateFromSharedValueTsx4(id_0,sharedValue_1){sharedValue_1.removeListener(id_0);}" };
let ReactCompilerGating = ReactCompilerGating_mod;
let closure_10 = ReactCompilerGating.isReactCompilerEnabled() ? (function useListenerSubscription(arg0, arg1) {
let closure_1;
_require = arg0;
dependencyMap = arg1;
let obj = require("react");
const cResult = obj.c(4);
if (cResult[0] === arg1) {
let tmp2;
let tmp3;
if (cResult[1] === arg0) {
tmp2 = cResult[2];
tmp3 = cResult[3];
}
const layoutEffect = react.useLayoutEffect(tmp2, tmp3);
}
let fn = function c() {
let value;
let obj = map;
let tmp = value;
value = map.get(value);
if (value == null) {
const _Set = Set;
const self = this;
const self2 = this;
set = new Set();
const obj2 = {
sharedValue: tmp,
listeners: set,
valueListener(arg0) {
closure_0 = arg0;
const obj = set(closure_1_1[2]);
obj.batchUpdates(() => {
for (const item10005 of set) {
let item10005Result = item10005(closure_0);
continue;
}
});
},
listenerId: sum
};
sum = sum + 1;
value = obj2;
}
let listeners = value.listeners;
listeners.add(closure_1);
if (1 === value.listeners.size) {
const result = obj.set(tmp, value);
let fn = function n(arg0, arg1, addListener) {
closure_0 = arg1;
addListener.addListener(arg0, (arg0) => {
const obj = closure_0(closure_2_1[5]);
return obj.runOnJS(closure_0)(arg0);
});
};
const obj3 = { runOnJS: value(closure_1[5]).runOnJS };
const runOnUI = value(closure_1[5]).runOnUI;
value(closure_1[5]);
fn.__closure = obj3;
fn.__workletHash = 580393174787;
fn.__initData = __initData;
runOnUI(fn)(value.listenerId, value.valueListener, tmp);
}
return () => {
const listeners = value.listeners;
listeners.delete(closure_1);
const tmp = value;
if (0 === value.listeners.size) {
const fn = function n(arg0, removeListener) {
removeListener.removeListener(arg0);
};
fn.__closure = {};
fn.__workletHash = 6985202571919;
fn.__initData = __initData;
const obj = ReanimatedRexport;
obj.runOnUI(fn)(tmp.listenerId, value);
map.delete(value);
}
};
};
const items = [arg0, arg1];
cResult[0] = arg1;
cResult[1] = arg0;
cResult[2] = fn;
cResult[3] = items;
tmp3 = items;
tmp2 = fn;
}) : (function useListenerSubscription(arg0, arg1) {
let closure_0 = arg0;
let closure_1 = arg1;
const items = [arg0, arg1];
const layoutEffect = react.useLayoutEffect(function() {
let value;
let obj = map;
let tmp = value;
value = map.get(value);
if (value == null) {
const _Set = Set;
const self = this;
const self2 = this;
set = new Set();
const obj2 = {
sharedValue: tmp,
listeners: set,
valueListener(arg0) {
closure_0 = arg0;
const obj = set(closure_1_1[2]);
obj.batchUpdates(() => {
for (const item10005 of set) {
let item10005Result = item10005(closure_0);
continue;
}
});
},
listenerId: sum
};
sum = sum + 1;
value = obj2;
}
let listeners = value.listeners;
listeners.add(closure_1);
if (1 === value.listeners.size) {
const result = obj.set(tmp, value);
let fn = function n(arg0, arg1, addListener) {
closure_0 = arg1;
addListener.addListener(arg0, (arg0) => {
const obj = closure_0(closure_2_1[5]);
return obj.runOnJS(closure_0)(arg0);
});
};
const obj3 = { runOnJS: value(closure_1[5]).runOnJS };
const runOnUI = value(closure_1[5]).runOnUI;
value(closure_1[5]);
fn.__closure = obj3;
fn.__workletHash = 4734743082561;
fn.__initData = __initData;
runOnUI(fn)(value.listenerId, value.valueListener, tmp);
}
return () => {
const listeners = value.listeners;
listeners.delete(closure_1);
const tmp = value;
if (0 === value.listeners.size) {
const fn = function n(arg0, removeListener) {
removeListener.removeListener(arg0);
};
fn.__closure = {};
fn.__workletHash = 12630924966217;
fn.__initData = __initData;
const obj = ReanimatedRexport;
obj.runOnUI(fn)(tmp.listenerId, value);
map.delete(value);
}
};
}, items);
});
ReactCompilerGating = ReactCompilerGating_mod;
let tmp3 = ReactCompilerGating.isReactCompilerEnabled() ? (function useStateFromSharedValue(arg0) {
let tmp2;
let closure_0 = arg0;
const obj = react2;
const cResult = obj.c(2);
if (cResult[0] !== arg0) {
const fn = function u() {
return closure_0.get();
};
cResult[0] = arg0;
cResult[1] = fn;
tmp2 = fn;
} else {
tmp2 = cResult[1];
}
const tmp3 = _slicedToArray(react.useState(tmp2), 2);
const first = tmp3[0];
closure_10(arg0, tmp3[1]);
return first;
}) : (function useStateFromSharedValue(arg0) {
let closure_0 = arg0;
const tmp = _slicedToArray(react.useState(() => closure_0.get()), 2);
const first = tmp[0];
closure_10(arg0, tmp[1]);
return first;
});
ReactCompilerGating = ReactCompilerGating_mod;
const tmp4 = ReactCompilerGating.isReactCompilerEnabled() ? (function useDerivedStateFromSharedValue(arg0, cResult) {
let closure_129_2;
let tmp5;
let closure_0 = arg0;
let closure_1 = cResult;
const obj = react2;
cResult = obj.c(6);
if (cResult[0] === cResult) {
let tmp2;
let tmp6;
let tmp9;
if (cResult[1] === arg0) {
tmp2 = cResult[2];
}
[tmp5, closure_129_2] = react.useState(tmp2);
_slicedToArray(react.useState(tmp2), 2);
let closure_3 = react.useRef(cResult);
const obj2 = react;
if (cResult[3] !== cResult) {
const fn2 = function c() {
closure_3.current = current;
};
cResult[3] = cResult;
cResult[4] = fn2;
tmp6 = fn2;
} else {
tmp6 = cResult[4];
}
const layoutEffect = obj2.useLayoutEffect(tmp6);
const _Symbol = Symbol;
if (cResult[5] === Symbol.for("react.memo_cache_sentinel")) {
const fn3 = function _(arg0) {
let ref;
closure_0 = arg0;
return closure_2((current) => ref.current(closure_0, current));
};
cResult[5] = fn3;
tmp9 = fn3;
} else {
tmp9 = cResult[5];
}
closure_10(arg0, tmp9);
return tmp5;
}
const fn = function l() {
return current(closure_0.get(), undefined);
};
cResult[0] = cResult;
cResult[1] = arg0;
cResult[2] = fn;
tmp2 = fn;
}) : (function useDerivedStateFromSharedValue(arg0, cResult) {
let closure_129_2;
let tmp2;
const f98439 = () => current(closure_0.get(), undefined);
let closure_0 = arg0;
let closure_1 = cResult;
[tmp2, closure_129_2] = react.useState(f98439);
_slicedToArray(react.useState(f98439), 2);
let closure_3 = react.useRef(cResult);
const layoutEffect = react.useLayoutEffect(() => {
closure_3.current = current;
});
closure_10(arg0, react.useCallback((arg0) => {
let ref;
closure_0 = arg0;
return closure_2((current) => ref.current(closure_0, current));
}, []));
return tmp2;
});
let result = size.fileFinishedImporting("modules/reanimated/native/useStateFromSharedValue.tsx");
export default tmp3;
export const useDerivedStateFromSharedValue = tmp4;