decord/source/1581_shouldPreventRemove.js
2026-08-24 06:08:38 +00:00

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);
};