decord/source/modules/reanimated/native/useStateFromSharedValue.tsx

154 lines
5.3 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 9032
// Function ID: 9033
2026-07-29 08:29:29 +00:00
// Name: map
2026-08-24 06:08:38 +00:00
// Dependencies: [32, 19, 705, 4119, 2]
2026-07-20 16:05:17 +00:00
// Exports: default, useDerivedStateFromSharedValue
2026-08-24 06:08:38 +00:00
// Module 9032 (map)
import closure_2 from "_slicedToArray" /* 32 */;
import closure_3 from "noop" /* 19 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-29 08:29:29 +00:00
let c4 = 9999999;
const map = new Map();
let closure_6 = { code: "function useStateFromSharedValueTsx1(id,listener,sharedValue){const{runOnJS}=this.__closure;sharedValue.addListener(id,function(value){return runOnJS(listener)(value);});}" };
let closure_7 = { code: "function useStateFromSharedValueTsx2(id,sharedValue){sharedValue.removeListener(id);}" };
2026-08-24 06:08:38 +00:00
let result = require("set").fileFinishedImporting("modules/reanimated/native/useStateFromSharedValue.tsx");
2026-07-29 08:29:29 +00:00
export default function useStateFromSharedValue(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-29 08:29:29 +00:00
const tmp = callback(React.useState(() => closure_0.get()), 2);
closure_0 = arg0;
2026-08-24 06:08:38 +00:00
closure_1 = tmp2;
2026-07-29 08:29:29 +00:00
const items = [arg0, tmp[1]];
const layoutEffect = React.useLayoutEffect(() => {
2026-08-24 06:08:38 +00:00
let obj = closure_1_5;
let value = closure_1_5.get(set);
2026-07-29 08:29:29 +00:00
if (value == null) {
const _Set = Set;
set = new Set();
obj = { sharedValue: null, listeners: null, valueListener: null, listenerId: null };
obj[0] = tmp;
obj[1] = set;
obj[2] = function valueListener(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
set(closure_1_1[2]).batchUpdates(() => {
2026-07-29 08:29:29 +00:00
for (const item10005 of closure_0) {
let tmp = closure_0;
let item10005Result = item10005(closure_0);
continue;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
});
};
2026-08-24 06:08:38 +00:00
sum = sum + 1;
2026-07-29 08:29:29 +00:00
obj[3] = sum;
value = obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
set = value;
let listeners = value.listeners;
listeners.add(callback);
if (1 === value.listeners.size) {
const result = obj.set(tmp, value);
let fn = function n(arg0, arg1, addListener) {
2026-08-24 06:08:38 +00:00
closure_0 = arg1;
addListener.addListener(arg0, (arg0) => callback(closure_1_1[3]).runOnJS(callback)(arg0));
2026-07-29 08:29:29 +00:00
};
obj = { runOnJS: null };
obj[0] = activeIndex(callback[3]).runOnJS;
fn.__closure = obj;
fn.__workletHash = 568027628003;
2026-08-24 06:08:38 +00:00
fn.__initData = closure_1_6;
2026-07-29 08:29:29 +00:00
activeIndex(callback[3]).runOnUI(fn)(value.listenerId, value.valueListener, tmp);
const obj3 = activeIndex(callback[3]);
2026-07-20 16:05:17 +00:00
}
return () => {
2026-07-29 08:29:29 +00:00
const listeners = set.listeners;
2026-08-24 06:08:38 +00:00
listeners.delete(closure_1_1);
2026-07-29 08:29:29 +00:00
if (0 === set.listeners.size) {
const fn = function n(arg0, removeListener) {
removeListener.removeListener(arg0);
};
fn.__closure = {};
fn.__workletHash = 15997703035823;
2026-08-24 06:08:38 +00:00
fn.__initData = closure_2_7;
2026-07-29 08:29:29 +00:00
set(callback[3]).runOnUI(fn)(set.listenerId, set);
2026-08-24 06:08:38 +00:00
closure_2_5.delete(set);
2026-07-29 08:29:29 +00:00
const obj = set(callback[3]);
2026-07-20 16:05:17 +00:00
}
};
2026-07-29 08:29:29 +00:00
}, items);
return tmp[0];
};
export const useDerivedStateFromSharedValue = function useDerivedStateFromSharedValue(activeIndex, stateFromStores) {
2026-08-24 06:08:38 +00:00
closure_0 = activeIndex;
2026-07-29 08:29:29 +00:00
let callback = stateFromStores;
2026-08-24 06:08:38 +00:00
[tmp2, closure_2] = callback(React.useState(() => callback(activeIndex.get(), undefined)), 2);
2026-07-29 08:29:29 +00:00
React = React.useRef(stateFromStores);
2026-07-20 16:05:17 +00:00
const layoutEffect = React.useLayoutEffect(() => {
2026-08-24 06:08:38 +00:00
closure_3.current = callback;
2026-07-29 08:29:29 +00:00
});
callback = React.useCallback((arg0) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
return callback((current) => closure_1_3.current(closure_0, current));
2026-07-29 08:29:29 +00:00
}, []);
closure_0 = activeIndex;
const items = [activeIndex, callback];
const layoutEffect1 = React.useLayoutEffect(() => {
2026-08-24 06:08:38 +00:00
let obj = closure_1_5;
let value = closure_1_5.get(set);
2026-07-29 08:29:29 +00:00
if (value == null) {
const _Set = Set;
set = new Set();
obj = { sharedValue: null, listeners: null, valueListener: null, listenerId: null };
obj[0] = tmp;
obj[1] = set;
obj[2] = function valueListener(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
set(closure_1_1[2]).batchUpdates(() => {
2026-07-29 08:29:29 +00:00
for (const item10005 of closure_0) {
let tmp = closure_0;
let item10005Result = item10005(closure_0);
continue;
}
});
};
2026-08-24 06:08:38 +00:00
sum = sum + 1;
2026-07-29 08:29:29 +00:00
obj[3] = sum;
value = obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
set = value;
2026-07-23 10:11:24 +00:00
let listeners = value.listeners;
2026-07-29 08:29:29 +00:00
listeners.add(callback);
2026-07-20 16:05:17 +00:00
if (1 === value.listeners.size) {
2026-07-29 08:29:29 +00:00
const result = obj.set(tmp, value);
let fn = function n(arg0, arg1, addListener) {
2026-08-24 06:08:38 +00:00
closure_0 = arg1;
addListener.addListener(arg0, (arg0) => callback(closure_1_1[3]).runOnJS(callback)(arg0));
2026-07-20 16:05:17 +00:00
};
2026-07-29 08:29:29 +00:00
obj = { runOnJS: null };
obj[0] = activeIndex(callback[3]).runOnJS;
2026-07-20 16:05:17 +00:00
fn.__closure = obj;
fn.__workletHash = 568027628003;
2026-08-24 06:08:38 +00:00
fn.__initData = closure_1_6;
2026-07-29 08:29:29 +00:00
activeIndex(callback[3]).runOnUI(fn)(value.listenerId, value.valueListener, tmp);
const obj3 = activeIndex(callback[3]);
2026-07-20 16:05:17 +00:00
}
return () => {
2026-07-29 08:29:29 +00:00
const listeners = set.listeners;
2026-08-24 06:08:38 +00:00
listeners.delete(closure_1_1);
2026-07-29 08:29:29 +00:00
if (0 === set.listeners.size) {
const fn = function n(arg0, removeListener) {
2026-07-20 16:05:17 +00:00
removeListener.removeListener(arg0);
};
fn.__closure = {};
fn.__workletHash = 15997703035823;
2026-08-24 06:08:38 +00:00
fn.__initData = closure_2_7;
2026-07-29 08:29:29 +00:00
set(callback[3]).runOnUI(fn)(set.listenerId, set);
2026-08-24 06:08:38 +00:00
closure_2_5.delete(set);
2026-07-29 08:29:29 +00:00
const obj = set(callback[3]);
2026-07-20 16:05:17 +00:00
}
};
}, items);
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
};