126 lines
3.6 KiB
JavaScript
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 });
|
|
};
|