Files
discord-decomp/sources/by-id/module-01544.jsx
T
2026-07-27 16:20:00 +03:00

327 lines
9.7 KiB
React

/* Metro module 1544; source: unknown; dependencies: [77, 31, 1506, 1511] */
function _fun17420(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#17420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1671:6, offset: 0x00e6c85c, size: 136 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(77) /* metro dependency 77 */;
const env0_3 = importAll(31) /* metro dependency 31 */;
const Symbol = global.Symbol;
const env0_4 = Symbol('VISITED_ROUTE_KEYS');
const closure = shouldPreventRemove;
exports.default = useOnPreventRemove;
exports.shouldPreventRemove = closure;
}
function shouldPreventRemove(a0, a1, a2, a3, a4) { // fn#17421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1671:149, offset: 0x00e6c8e4, size: 365 bytes, params: 6, frame: 27
var r15;
var r12;
var Set;
var prototype;
var value5;
var set;
var value6;
var has;
var key;
var value9;
var value10;
var call;
var value11;
var add;
var emit;
var object3;
var object4;
var value12;
var defaultPrevented;
var error;
const value = undefined;
const env0_0 = a3.map(function(a0) {
return a0.key;
});
const value3 = a2.filter(_fun17423).reverse();
let property = a4[env0_4];
reducibleJoin2: while (true) {
if (property != null) {
r15 = property;
break reducibleJoin2;
}
Set = global.Set;
prototype = Set.prototype;
value5 = Object.create(prototype, {constructor: {value: Set}});
set = new Set();
value6 = set instanceof Object ? set : value5;
r15 = value6;
break reducibleJoin2;
}
const Object = global.Object;
const value8 = Object.assign({}, a4, env0_2({}, env0_4, r15));
const iterator = value3[Symbol.iterator]();
const iterator2 = iterator.next;
let r1 = iterator;
let item2 = Reflect.apply(iterator2, r1, []);
let item = item2.value;
item2 = item2.done ? undefined : r1;
reducibleJoin4: while (true) {
if (item2 === value) {
return false;
}
break reducibleJoin4;
}
reducibleLoop4: while (true) {
try {
has = r15.has;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
key = item.key;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value9 = Reflect.apply(has, r15, [key]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value9) {
r1 = item2;
} else {
try {
key = item.key;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
property = a1[key];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value10 = property == null;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin19: while (true) {
if (value10) {
r12 = value;
break reducibleJoin19;
}
try {
call = property.call;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value11 = Reflect.apply(call, property, [a1, value8]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r12 = value11;
break reducibleJoin19;
}
if (r12) {
item2.return();
return true;
}
try {
add = r15.add;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
key = item.key;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(add, r15, [key]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
emit = a0.emit;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object3 = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object3.type = 'beforeRemove';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
key = item.key;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object3.target = key;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object4 = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object4.action = value8;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object3.data = object4;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object3.canPreventDefault = true;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value12 = Reflect.apply(emit, a0, [object3]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
defaultPrevented = value12.defaultPrevented;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin3: while (true) {
if (defaultPrevented) {
item2.return();
return true;
}
r1 = item2;
break reducibleJoin3;
}
}
item2 = Reflect.apply(iterator2, r1, []);
item = item2.value;
item2 = item2.done ? undefined : r1;
if (item2 === value) {
return false;
}
continue reducibleLoop4;
}
}
function useOnPreventRemove({getState, emitter, beforeRemoveListeners}) { // fn#17424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1671:586, offset: 0x00e6ca6f, size: 174 bytes, params: 2, frame: 21
const binding = env0_3;
const useContext = binding.useContext;
const addKeyedListener = Reflect.apply(useContext, binding,
[importDefault(1506) /* metro dependency 1506 */]).addKeyedListener;
var env0_3 = addKeyedListener;
env0_3.useEffect(_fun17425, [addKeyedListener, beforeRemoveListeners, emitter, getState,
binding.useContext(importDefault(1511) /* metro dependency 1511 */)?.key]);
}
function _fun17423({key}) { // fn#17423, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1671:244, offset: 0x00e6ca51, size: 30 bytes, params: 2, frame: 11
const binding = env0_0;
return !binding.includes(key);
}
function _fun17425() { // fn#17425, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1671:773, offset: 0x00e6cb1d, size: 57 bytes, params: 1, frame: 16
const keyBinding = key;
const value2 = undefined;
if (keyBinding) {
return addKeyedListener == null ? value2 : addKeyedListener('beforeRemove', key, function(a0) {
return shouldPreventRemove(emitter, beforeRemoveListeners, getState().routes, [], a0);
});
}
return value2;
}