56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
// Module ID: 1581
|
|
// Function ID: 1582
|
|
// Name: shouldPreventRemove
|
|
// Dependencies: [19, 1530, 1541]
|
|
// Exports: useOnPreventRemove
|
|
|
|
// Module 1581 (shouldPreventRemove)
|
|
import closure_2 from "noop" /* 19 */;
|
|
|
|
const require = arg1;
|
|
let closure_3 = Symbol("VISITED_ROUTE_KEYS");
|
|
function shouldPreventRemove(emitter, beforeRemoveListeners, routes, routes2, target) {
|
|
let tmp = target;
|
|
closure_0 = routes2.map((key) => key.key);
|
|
const found = routes.filter((key) => !closure_0.includes(key.key));
|
|
let reversed = found.reverse();
|
|
let tmp3 = closure_3;
|
|
if (!(closure_3 in target)) {
|
|
const _Set2 = Set;
|
|
let set = new Set();
|
|
const obj = {};
|
|
const merged = Object.assign(tmp);
|
|
obj[tmp3] = set;
|
|
tmp = reversed;
|
|
tmp3 = reversed[Symbol.iterator]();
|
|
reversed = null;
|
|
} else {
|
|
const _Set = Set;
|
|
}
|
|
set = tmp[tmp3];
|
|
}
|
|
|
|
export { shouldPreventRemove };
|
|
export const useOnPreventRemove = function useOnPreventRemove(getState) {
|
|
getState = getState.getState;
|
|
const emitter = getState.emitter;
|
|
const beforeRemoveListeners = getState.beforeRemoveListeners;
|
|
let addKeyedListener;
|
|
let key;
|
|
addKeyedListener = beforeRemoveListeners.useContext(getState(emitter[1]).NavigationBuilderContext).addKeyedListener;
|
|
const context = beforeRemoveListeners.useContext(getState(emitter[2]).NavigationRouteContext);
|
|
key = undefined;
|
|
if (context != null) {
|
|
key = context.key;
|
|
}
|
|
const items = [addKeyedListener, beforeRemoveListeners, emitter, getState, key];
|
|
const effect = beforeRemoveListeners.useEffect(() => {
|
|
if (key) {
|
|
let tmp2Result;
|
|
if (addKeyedListener != null) {
|
|
tmp2Result = tmp2("beforeRemove", tmp, (arg0) => closure_1_4(closure_1, closure_2, callback().routes, [], arg0));
|
|
}
|
|
return tmp2Result;
|
|
}
|
|
}, items);
|
|
};
|