Files
2026-07-28 01:06:53 +03:00

522 lines
25 KiB
TypeScript

/* Metro module 10923; source: modules/guild_antiraid/GuildAntiRaidHooks.tsx; dependencies: [1348, 1867, 3784, 3969, 1878, 10906, 8276, 661, 632, 21, 8275, 483, 3789, 10924, 2] */
import SnowflakeUtils from '../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */
import UserSettingsProtoStore from '../user_settings/UserSettingsProtoStore.tsx'; /* Metro dependency 1348 */
import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */
import SelectedGuildStore from '../../stores/SelectedGuildStore.tsx'; /* Metro dependency 3969 */
import GuildIncidentsStore from './GuildIncidentsStore.tsx'; /* Metro dependency 10906 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as UseStateFromStoresModule from '../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as GuildAntiRaidConstantsModule from './GuildAntiRaidConstants.tsx'; /* Metro dependency 8276 */
import * as GuildAntiRaidPermissionsUtilsModule from './GuildAntiRaidPermissionsUtils.tsx'; /* Metro dependency 10924 */
function _fun83701(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#83701, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:6, offset: 0x01f25448, size: 380 bytes, params: 8, frame: 19
let env0_0 = require;
const _arrayLikeToArray_83704 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/guild_antiraid/GuildAntiRaidHooks.tsx');
exports.useFirstGuildIncidentId = useFirstGuildIncidentId;
exports.useGuildIncidentsState = useGuildIncidentsState;
exports.shouldShowRaidNotificationNagbar = shouldShowRaidNotificationNagbar;
exports.shouldShowRaidInAppNotification = shouldShowRaidInAppNotification;
exports.getDisabledActions = getDisabledActions;
exports.useDisabledActions = useDisabledActions;
exports.useShowAntiRaidInGuildNotifSettings = function(a0) {
var env0_0 = a0;
return require(dependencyMap[8]).useStateFromStores([PermissionStore, GuildStore], _fun83721);
};
function _createForOfIteratorHelperLoose_83702(a0, a1) { // fn#83702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:264, offset: 0x01f255c4, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun83703;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_83704(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_83704(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_83704(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun83703;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
function _fun83703() { // fn#83703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:835, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function getFirstGuildIncidentId(a0) { // fn#83705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:1174, offset: 0x01f25738, size: 368 bytes, params: 2, frame: 30
var r4;
var value7;
var id;
var property;
var moduleValue;
var hasDetectedActivity;
var moduleValue2;
var isUnderLockdown;
var moduleValue3;
var moduleValue4;
var hasAny;
var moduleValue5;
var computePermissions;
var permissions;
var value8;
const currentUser = UserStore.getCurrentUser();
const incidentsByGuild = GuildIncidentsStore.getIncidentsByGuild();
const _createForOfIteratorHelperLoose_83702Binding = _createForOfIteratorHelperLoose_83702;
const value4 = (SnowflakeUtils).keys(incidentsByGuild);
const value5 = _createForOfIteratorHelperLoose_83702Binding(value4.map(function(a0) {
return GuildStore.getGuild(a0);
}));
const value6 = value5();
let done = value6.done;
if (!done) {
r4 = value6;
reducibleLoop1: while (true) {
value7 = r4.value;
if (value7 != null) {
id = value7.id;
property = incidentsByGuild[id];
reducibleJoin8: while (true) {
if (property == null) {
break reducibleJoin8;
}
moduleValue = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
hasDetectedActivity = moduleValue.hasDetectedActivity;
if (!Reflect.apply(hasDetectedActivity, moduleValue, [property])) {
moduleValue2 = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
reducibleJoin5: while (true) {
if (moduleValue2.isUnderLockdown(property)) {
break reducibleJoin5;
}
break reducibleJoin8;
}
}
moduleValue3 = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
isUnderLockdown = moduleValue3.isUnderLockdown;
if (Reflect.apply(isUnderLockdown, moduleValue3, [property])) {
id = value7.id;
reducibleJoin7: while (true) {
if (id !== a0) {
break reducibleJoin8;
}
break reducibleJoin7;
}
}
moduleValue4 = importAll(483) /* metro dependency 483: BigFlagUtils */;
hasAny = moduleValue4.hasAny;
moduleValue5 = importAll(3789) /* metro dependency 3789: PermissionUtils */;
computePermissions = moduleValue5.computePermissions;
permissions = Reflect.apply(computePermissions, moduleValue5, [{user: currentUser, context: value7,
checkElevated: false}]);
if (Reflect.apply(hasAny, moduleValue4, [permissions, IncidentAlertModeratorPermissions])) {
return value7.id;
}
break reducibleJoin8;
}
}
value8 = value5();
done = value8.done;
if (done) {
return null;
}
r4 = value8;
continue reducibleLoop1;
}
}
return null;
}
function useFirstGuildIncidentId() { // fn#83707, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:1740, offset: 0x01f258bf, size: 381 bytes, params: 1, frame: 29
var r4;
var value4;
var id;
var property;
var moduleValue4;
var hasDetectedActivity;
var moduleValue5;
var isUnderLockdown;
var moduleValue6;
var hasAny;
var moduleValue7;
var computePermissions;
var permissions;
var value5;
const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore],
function() {
return UserStore.getCurrentUser();
});
const incidentsByGuild = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([GuildIncidentsStore],
function() {
return GuildIncidentsStore.getIncidentsByGuild();
});
const _createForOfIteratorHelperLoose_83702Binding = _createForOfIteratorHelperLoose_83702;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value2 = _createForOfIteratorHelperLoose_83702Binding(Reflect.apply(useStateFromStoresArray,
useStateFromStoresModule, [[GuildStore], _fun83710]));
const value3 = value2();
let done = value3.done;
if (!done) {
r4 = value3;
reducibleLoop1: while (true) {
value4 = r4.value;
if (value4 != null) {
id = value4.id;
property = incidentsByGuild[id];
reducibleJoin6: while (true) {
if (property == null) {
break reducibleJoin6;
}
moduleValue4 = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
hasDetectedActivity = moduleValue4.hasDetectedActivity;
if (!Reflect.apply(hasDetectedActivity, moduleValue4, [property])) {
moduleValue5 = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
isUnderLockdown = moduleValue5.isUnderLockdown;
reducibleJoin5: while (true) {
if (Reflect.apply(isUnderLockdown, moduleValue5, [property])) {
break reducibleJoin5;
}
break reducibleJoin6;
}
}
moduleValue6 = importAll(483) /* metro dependency 483: BigFlagUtils */;
hasAny = moduleValue6.hasAny;
moduleValue7 = importAll(3789) /* metro dependency 3789: PermissionUtils */;
computePermissions = moduleValue7.computePermissions;
permissions = Reflect.apply(computePermissions, moduleValue7, [{user: currentUser, context: value4,
checkElevated: false}]);
if (Reflect.apply(hasAny, moduleValue6, [permissions, IncidentAlertModeratorPermissions])) {
return value4.id;
}
break reducibleJoin6;
}
}
value5 = value2();
done = value5.done;
if (done) {
return null;
}
r4 = value5;
continue reducibleLoop1;
}
}
return null;
function _fun83710() { // fn#83710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:1982, offset: 0x01f25a4f, size: 63 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = Reflect.apply((importDefault(21) /* metro dependency 21: SnowflakeUtils */).keys, value, [incidentsByGuild]);
return value.map(function(a0) {
return GuildStore.getGuild(a0);
});
}
}
function useGuildIncidentsState(a0) { // fn#83712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:2303, offset: 0x01f25aa5, size: 170 bytes, params: 2, frame: 19
var r1;
const env0_0 = a0;
var value;
const value2 = (UseStateFromStoresModule).useStateFromStores([GuildStore,
PermissionStore], _fun83713);
const value3 = (UseStateFromStoresModule).useStateFromStores([GuildIncidentsStore],
_fun83714);
object = {shouldShowIncidentActions: value2, incidentData: value3};
const value4 = value3 != null;
if (value4) {
value = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
value = value.isUnderLockdown(value3);
r1 = value;
} else {
r1 = value4;
}
object.isUnderLockdown = r1;
return object;
function _fun83713() { // fn#83713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:2379, offset: 0x01f25b4f, size: 97 bytes, params: 1, frame: 15
const value = environment.__proto__;
const guild = GuildStore.getGuild(env0_0);
if (guild == null) {
return false;
}
const guildPermissions = PermissionStore.getGuildPermissions(guild);
return guildPermissions != null && (importAll(483) /* metro dependency 483: BigFlagUtils */).hasAny(guildPermissions,
IncidentAlertModeratorPermissions);
}
function _fun83714() { // fn#83714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:2531, offset: 0x01f25bb0, size: 40 bytes, params: 1, frame: 12
const value2 = null;
return value2 != env0_0 ? GuildIncidentsStore.getGuildIncident(env0_0) : value2;
}
}
function shouldShowRaidNotificationNagbar() { // fn#83715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:2714, offset: 0x01f25bd8, size: 99 bytes, params: 1, frame: 13
const firstGuildIncidentId = getFirstGuildIncidentId(SelectedGuildStore.getGuildId());
const guildsProto = UserSettingsProtoStore.getGuildsProto();
const value4 = null;
const r0 = value4 != firstGuildIncidentId ? (value4 != guildsProto ? guildsProto : {})[firstGuildIncidentId] : value4;
return {show: value4 != firstGuildIncidentId && !(value4 != r0 && r0.disableRaidAlertNag),
guildId: firstGuildIncidentId};
}
function shouldShowRaidInAppNotification() { // fn#83716, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:2966, offset: 0x01f25c3b, size: 167 bytes, params: 1, frame: 17
var value;
const firstGuildIncidentId = getFirstGuildIncidentId(SelectedGuildStore.getGuildId());
const guildsProto = UserSettingsProtoStore.getGuildsProto();
const value5 = null;
let r3 = value5 != guildsProto ? guildsProto : {};
let r4 = value5 != firstGuildIncidentId ? r3[firstGuildIncidentId] : value5;
r3 = value5 != r4 && r4.disableRaidAlertNag;
const r6 = value5 != firstGuildIncidentId ? GuildIncidentsStore.getGuildIncident(firstGuildIncidentId) : value5;
const value8 = value5 != r6;
if (value8) {
value = require(8275) /* metro dependency 8275: GuildAntiRaidUtils */;
value = value.isUnderLockdown(r6);
r4 = value;
} else {
r4 = value8;
}
return {show: value5 != firstGuildIncidentId && !r4 && !r3, guildId: firstGuildIncidentId};
}
function getDisabledActions(a0) { // fn#83717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:3285, offset: 0x01f25ce2, size: 274 bytes, params: 2, frame: 18
var invitesDisabledUntil;
var r5;
var r1;
var Date;
var prototype;
var date;
var value4;
var value6;
if (a0 == null) {
return {'dmsDisabled': false, 'invitesDisabled': false};
}
var value;
const guildIncident = GuildIncidentsStore.getGuildIncident(a0.id);
const object = {};
const value3 = undefined;
let r4 = a0 == null ? value3 : a0.features.has(GuildFeatures.INVITES_DISABLED);
if (!r4) {
invitesDisabledUntil = guildIncident == null ? value3 : guildIncident.invitesDisabledUntil;
value = invitesDisabledUntil != null;
if (value) {
Date = global.Date;
invitesDisabledUntil = guildIncident.invitesDisabledUntil;
prototype = Date.prototype;
value = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value = date instanceof Object ? date : value;
Date = global.Date;
prototype = Date.prototype;
value4 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value = value > (date instanceof Object ? date : value4);
r5 = value;
} else {
r5 = value;
}
r4 = r5;
}
object.invitesDisabled = r4;
let dmsDisabledUntil = guildIncident == null ? value3 : guildIncident.dmsDisabledUntil;
value = dmsDisabledUntil != null;
if (value) {
Date = global.Date;
dmsDisabledUntil = guildIncident.dmsDisabledUntil;
prototype = Date.prototype;
value = Object.create(prototype, {constructor: {value: Date}});
date = new Date(dmsDisabledUntil);
value = date instanceof Object ? date : value;
Date = global.Date;
prototype = Date.prototype;
value6 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value = value > (date instanceof Object ? date : value6);
r1 = value;
} else {
r1 = value;
}
object.dmsDisabled = r1;
return object;
}
function useDisabledActions(a0) { // fn#83718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:3682, offset: 0x01f25df4, size: 346 bytes, params: 2, frame: 20
var r4;
var invitesDisabledUntil;
var r5;
var dmsDisabledUntil;
var r1;
var r0;
var value6;
var Date;
var prototype;
var value7;
var date;
var value8;
var value9;
var value12;
let value = undefined;
const r9 = (a0 == null ? value : a0.id) ?? EMPTY_STRING_SNOWFLAKE_ID;
const useStateFromStores = UseStateFromStoresModule.useStateFromStores;
let object = [GuildIncidentsStore];
const value4 = Reflect.apply(useStateFromStores, UseStateFromStoresModule, [object, _fun83719, [r9]]);
if (a0 == null) {
r0 = {'dmsDisabled': false, 'invitesDisabled': false};
} else {
object = {};
r4 = a0 == null ? value : a0.features.has(GuildFeatures.INVITES_DISABLED);
if (!r4) {
invitesDisabledUntil = value4 == null ? value : value4.invitesDisabledUntil;
value6 = invitesDisabledUntil != null;
if (value6) {
Date = global.Date;
invitesDisabledUntil = value4.invitesDisabledUntil;
prototype = Date.prototype;
value7 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value8 = date instanceof Object ? date : value7;
Date = global.Date;
prototype = Date.prototype;
value9 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
r5 = value8 > (date instanceof Object ? date : value9);
} else {
r5 = value6;
}
r4 = r5;
}
object.invitesDisabled = r4;
dmsDisabledUntil = value4 == null ? value : value4.dmsDisabledUntil;
value = dmsDisabledUntil != null;
if (value) {
Date = global.Date;
dmsDisabledUntil = value4.dmsDisabledUntil;
prototype = Date.prototype;
value = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value = date instanceof Object ? date : value;
Date = global.Date;
prototype = Date.prototype;
value12 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value = value > (date instanceof Object ? date : value12);
r1 = value;
} else {
r1 = value;
}
object.dmsDisabled = r1;
r0 = object;
}
return r0;
function _fun83719() { // fn#83719, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:3790, offset: 0x01f25f4e, size: 27 bytes, params: 1, frame: 11
return GuildIncidentsStore.getGuildIncident(env0_0);
}
}
function useShowAntiRaidInGuildNotifSettings(a0) { // fn#83720, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:4166, offset: 0x01f25f69, size: 74 bytes, params: 2, frame: 15
const env0_0 = a0;
return (UseStateFromStoresModule).useStateFromStores([PermissionStore,
GuildStore], _fun83721);
function _fun83721() { // fn#83721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11109:4256, offset: 0x01f25fb3, size: 65 bytes, params: 1, frame: 14
const guild = GuildStore.getGuild(env0_0);
return GuildAntiRaidPermissionsUtilsModule.canReportRaid(guild, PermissionStore);
}
}
}
global.__d(_fun83701, 10923, [1348, 1867, 3784, 3969, 1878, 10906, 8276, 661, 632, 21, 8275, 483, 3789, 10924,
2]) /* metro module 10923, dependencies: [1348, 1867, 3784, 3969, 1878, 10906, 8276, 661, 632, 21, 8275, 483, 3789, 10924, 2] */;