decord/source/__polyfill/01xxx/module_1512.js
github-actions e510164e6b chore: update source for alpha 346.2
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4759.js (118.4 MB)
2026-09-10 05:38:07 +00:00

112 lines
3 KiB
JavaScript

// Module ID: 1512
// Function ID: 1513
// Dependencies: [19, 1513, 1500]
// Exports: useOptionsGetters
// Module 1512
import get_getKey from "get getKey" /* 1500 */;
import NavigationBuilderContext from "NavigationBuilderContext" /* 1513 */;
import noop from "module_19" /* 19 */;
require = arg1;
export const useOptionsGetters = function useOptionsGetters(key) {
key = key.key;
const options = key.options;
const navigation = key.navigation;
noop.useRef(options);
closure_4 = noop.useRef({});
const onOptionsChange = noop.useContext(NavigationBuilderContext.NavigationBuilderContext).onOptionsChange;
const addOptionsGetter = noop.useContext(get_getKey.NavigationStateContext).addOptionsGetter;
const items = [navigation, onOptionsChange];
const callback = noop.useCallback(() => {
let flag;
if (navigation != null) {
flag = navigation.isFocused();
}
if (flag == null) {
flag = true;
}
if (flag) {
flag = !Object.keys(closure_4.current).length;
}
if (flag) {
let current = ref.current;
if (current == null) {
current = {};
}
onOptionsChange(current);
}
}, items);
const items1 = [options];
const insertionEffect = noop.useInsertionEffect(() => {
closure_3.current = options;
}, items1);
const items2 = [navigation, options, callback];
const effect = noop.useEffect(() => {
callback();
let addListenerResult;
if (navigation != null) {
addListenerResult = navigation.addListener("focus", callback);
}
return addListenerResult;
}, items2);
const callback1 = noop.useCallback(() => {
for (const key10004 in closure_4.current) {
if (!(key10004 in closure_4.current)) {
continue;
} else {
let current = tmp4.current;
let tmp = current[key10004];
let tmpResult;
if (tmp != null) {
tmpResult = tmp();
}
if (null === tmpResult) {
continue;
} else {
return tmpResult;
}
}
continue;
}
return null;
}, []);
const items3 = [navigation, callback1];
const callback2 = noop.useCallback(() => {
let isFocusedResult;
if (navigation != null) {
isFocusedResult = navigation.isFocused();
}
if (isFocusedResult != null) {
if (!isFocusedResult) {
return null;
}
}
let current = callback1();
if (null === current) {
current = ref.current;
}
return current;
}, items3);
const items4 = [callback2, addOptionsGetter, key];
const effect1 = noop.useEffect(() => {
let tmpResult;
if (addOptionsGetter != null) {
tmpResult = tmp(key, callback2);
}
return tmpResult;
}, items4);
const obj = { addOptionsGetter: null, getCurrentOptions: callback2 };
const items5 = [callback];
obj.addOptionsGetter = noop.useCallback((arg0, arg1) => {
closure_0 = arg0;
closure_4.current[arg0] = arg1;
callback();
return () => {
delete tmp2[tmp];
callback();
};
}, items5);
return obj;
};