decord/source/1571_transformPreventedRoutes.js
2026-08-24 06:08:38 +00:00

126 lines
3.6 KiB
JavaScript

// Module ID: 1571
// Function ID: 1572
// Name: transformPreventedRoutes
// Dependencies: [32, 19, 21, 1509, 1566, 1541, 1570, 1522]
// Exports: PreventRemoveProvider
// Module 1571 (transformPreventedRoutes)
import closure_3 from "_slicedToArray" /* 32 */;
import closure_4 from "noop" /* 19 */;
import { jsx } from "jsxProd" /* 21 */;
const require = arg1;
function transformPreventedRoutes(arr) {
const obj = {};
const values = arr.values();
for (const item10008 of values) {
obj[item10008] = { preventRemove: true };
continue;
}
return obj;
}
export const PreventRemoveProvider = function PreventRemoveProvider(children) {
let first;
let first1;
dependencyMap = undefined;
let callback;
let React;
let context;
let setPreventRemove;
let notifyPreventRemove;
closure_8 = undefined;
closure_9 = undefined;
closure_10 = undefined;
first = callback(React.useState(() => first(1509).nanoid()), 1)[0];
const tmp2 = callback(React.useState(() => new Map()), 2);
first1 = tmp2[0];
dependencyMap = tmp2[1];
callback = React.useRef(new Map());
React = React.useContext(first(1566).NavigationHelpersContext);
context = React.useContext(first(1541).NavigationRouteContext);
const context1 = React.useContext(first(1570).PreventRemoveContext);
setPreventRemove = undefined;
if (context1 != null) {
setPreventRemove = context1.setPreventRemove;
}
notifyPreventRemove = undefined;
if (context1 != null) {
notifyPreventRemove = context1.notifyPreventRemove;
}
const tmp11 = first1(1522)((arg0, arg1, arg2) => {
closure_0 = arg1;
if (arg2) {
if (null != closure_4) {
let everyResult;
if (obj != null) {
const routes = obj.getState().routes;
everyResult = routes.every((key) => key.key !== closure_0);
}
}
const _Error = Error;
const _HermesInternal = HermesInternal;
error = new Error("Couldn't find a route with the key " + arg1 + ". Is your component inside NavigationContent?");
throw error;
}
const current = ref.current;
if (arg2) {
const result = current.set(arg0, arg1);
} else {
current.delete(arg0);
}
});
closure_8 = tmp11;
const tmp12 = first1(1522)(() => {
dependencyMap((size) => {
let map = size;
closure_0 = size;
const current = ref.current;
if (size.size !== current.size) {
const _Map = Map;
map = new Map(current);
} else {
const items = [];
HermesBuiltin.arraySpread(current, 0);
}
return map;
});
});
closure_9 = tmp12;
const effect = obj.useEffect(() => {
callback();
if (notifyPreventRemove != null) {
notifyPreventRemove();
}
return () => {
if (closure_7 != null) {
tmp();
}
};
});
closure_10 = tmp14;
let items = [first, first1.size > 0, , ];
let key;
if (context != null) {
key = context.key;
}
items[2] = key;
items[3] = setPreventRemove;
const insertionEffect = obj.useInsertionEffect(() => {
let key;
if (context != null) {
key = tmp.key;
}
if (undefined !== key) {
if (undefined !== setPreventRemove) {
tmp3(first, tmp.key, closure_10);
return () => {
callback(closure_0, key.key, false);
};
}
}
}, items);
const items1 = [tmp11, tmp12, first1];
const value = obj.useMemo(() => ({ setPreventRemove: closure_8, notifyPreventRemove: closure_9, preventedRoutes: setPreventRemove(first1) }), items1);
return context(first(1570).PreventRemoveContext.Provider, { value, children: children.children });
};