Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4759.js (118.4 MB)
112 lines
3 KiB
JavaScript
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;
|
|
};
|