/* Metro module 10289; source: modules/guild_member/GuildMemberUtils.tsx; dependencies: [1945, 1867, 3784, 1878, 3772, 661, 566, 21, 1391, 2] */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import GuildMemberStore from '../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as FlagUtilsModule from '../../external/discord_common/js/shared/utils/FlagUtils.tsx'; /* Metro dependency 1391 */ import * as GuildMemberConstantsModule from './GuildMemberConstants.tsx'; /* Metro dependency 3772 */ function _fun79812(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:6, offset: 0x01e63a67, size: 396 bytes, params: 8, frame: 26 let env0_0 = require; const getGuildMemberAgeInRange2 = getGuildMemberAgeInRange; const useGuildMemberAgeInRange2 = useGuildMemberAgeInRange; const canKickMember2 = canKickMember; const hasKickMemberPerms2 = hasKickMemberPerms; const canBanMember2 = canBanMember; const hasBanMemberPerms2 = hasBanMemberPerms; const canManageMessages2 = canManageMessages; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/guild_member/GuildMemberUtils.tsx'); exports.getGuildMemberAgeInRange = getGuildMemberAgeInRange2; exports.useGuildMemberAgeInRange = useGuildMemberAgeInRange2; exports.useNewMemberBadge = useNewMemberBadge; exports.useCanKickMember = function(a0, a1) { var env0_0 = a0; var env0_1 = a1; return require(dependencyMap[6]).useStateFromStores([PermissionStore], _fun79826); }; exports.canKickMember = canKickMember2; exports.hasKickMemberPerms = hasKickMemberPerms2; exports.useCanBanMember = useCanBanMember; exports.canBanMember = canBanMember2; exports.hasBanMemberPerms = hasBanMemberPerms2; exports.useCanManageMessages = function(a0, a1) { var env0_0 = a0; var env0_1 = a1; return require(dependencyMap[6]).useStateFromStores([PermissionStore], _fun79830); }; exports.canManageMessages = canManageMessages2; function getGuildMemberAgeInRange(a0, {maxDaysOld, minDaysOld}, a2) { // fn#79813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:193, offset: 0x01e63bf3, size: 220 bytes, params: 4, frame: 19 var r6; var member; let value = undefined; minDaysOld = minDaysOld === value ? 0 : minDaysOld; const guild = GuildStore.getGuild(a0); if (a2 == null) { r6 = guild == null ? value : guild.joinedAt; } else { member = GuildMemberStore.getMember(a0, a2); r6 = (member == null ? value : member.joinedAt) == null ? null : new global.Date(member.joinedAt); } if (r6 == null) { return false; } const Date = global.Date; value = Date.now(); const getTime = r6.getTime; value -= Reflect.apply(getTime, r6, []); return (maxDaysOld == null || value <= env0_9 * maxDaysOld) && value >= env0_9 * minDaysOld; } function useGuildMemberAgeInRange(a0, a1, a2) { // fn#79814, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:488, offset: 0x01e63ccf, size: 89 bytes, params: 4, frame: 17 const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; return (FluxModule).useStateFromStores([], _fun79815, [a1, a0, a2]); function _fun79815() { // fn#79815, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:567, offset: 0x01e63d28, size: 33 bytes, params: 1, frame: 15 return getGuildMemberAgeInRange(env0_0, require, importDefault); } } function canKickMember(a0, a1) { // fn#79816, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:613, offset: 0x01e63d49, size: 109 bytes, params: 3, frame: 18 let value = a2; const value2 = undefined; const iterator = (value !== value2 ? value : [PermissionStore])[Symbol.iterator](); let item2 = iterator.next(); const item = item2.value; item2 = item2.done ? undefined : iterator; value = item2 === value2; const r6 = value ? value2 : item; if (!value) { item2.return(); } return a1 != null && hasKickMemberPerms(a0, a1, [r6]) && !a0.isProvisional; } function hasKickMemberPerms(a0, a1) { // fn#79817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:711, offset: 0x01e63db6, size: 117 bytes, params: 3, frame: 17 let value = a2; const value2 = undefined; const iterator = (value !== value2 ? value : [PermissionStore])[Symbol.iterator](); let item2 = iterator.next(); const item = item2.value; item2 = item2.done ? undefined : iterator; value = item2 === value2; const r4 = value ? value2 : item; if (!value) { item2.return(); } return a1 != null && r4.canManageUser(Permissions.KICK_MEMBERS, a0, a1) && !a0.isNonUserBot(); } function canBanMember(a0, a1) { // fn#79818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:823, offset: 0x01e63e2b, size: 109 bytes, params: 3, frame: 18 let value = a2; const value2 = undefined; const iterator = (value !== value2 ? value : [PermissionStore])[Symbol.iterator](); let item2 = iterator.next(); const item = item2.value; item2 = item2.done ? undefined : iterator; value = item2 === value2; const r6 = value ? value2 : item; if (!value) { item2.return(); } return a1 != null && hasBanMemberPerms(a0, a1, [r6]) && !a0.isProvisional; } function hasBanMemberPerms(a0, a1) { // fn#79819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:919, offset: 0x01e63e98, size: 129 bytes, params: 3, frame: 17 let value = a2; const value2 = undefined; const iterator = (value !== value2 ? value : [PermissionStore])[Symbol.iterator](); let item2 = iterator.next(); const item = item2.value; item2 = item2.done ? undefined : iterator; value = item2 === value2; const r4 = value ? value2 : item; if (!value) { item2.return(); } return a1 != null && r4.canManageUser(Permissions.BAN_MEMBERS, a0, a1) && !a0.isNonUserBot() && !a0.bot; } function canManageMessages(a0, a1) { // fn#79820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1037, offset: 0x01e63f19, size: 124 bytes, params: 3, frame: 17 let value = a2; const value2 = undefined; const iterator = (value !== value2 ? value : [PermissionStore])[Symbol.iterator](); let item2 = iterator.next(); const item = item2.value; item2 = item2.done ? undefined : iterator; value = item2 === value2; const r4 = value ? value2 : item; if (!value) { item2.return(); } return a0 != null && a1 != null && r4.canManageUser(Permissions.MANAGE_MESSAGES, a0, a1) && !a0.isNonUserBot(); } function useNewMemberBadge(a0, a1) { // fn#79821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1359, offset: 0x01e63f95, size: 190 bytes, params: 3, frame: 23 const env0_0 = a0; const env0_1 = a1; return useGuildMemberAgeInRange(a0, {maxDaysOld: 7}, a1) && !(require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], _fun79823) && !(require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun79824) && !(require(566) /* metro dependency 566: flux */).useStateFromStores([GuildMemberStore], _fun79822); function _fun79822() { // fn#79822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1405, offset: 0x01e64053, size: 102 bytes, params: 1, frame: 17 const value2 = undefined; const hasFlag = FlagUtilsModule.hasFlag; const member = GuildMemberStore.getMember(env0_0, require); const r1 = (member == null ? value2 : member.flags) ?? 0; const DID_REJOIN = GuildMemberFlags.DID_REJOIN; return Reflect.apply(hasFlag, FlagUtilsModule, [r1, DID_REJOIN]); } function _fun79823() { // fn#79823, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1548, offset: 0x01e640b9, size: 105 bytes, params: 1, frame: 13 var r0; var Date; let value = environment.__proto__; const guild = GuildStore.getGuild(env0_0); const value4 = guild != null; if (value4) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.extractTimestamp(guild.id); Date = global.Date; value = Date.now() - value; value = value < 604800000; r0 = value; } else { r0 = value4; } return r0; } function _fun79824() { // fn#79824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1722, offset: 0x01e64122, size: 44 bytes, params: 1, frame: 11 const value = environment.__proto__; return UserStore.getUser(require)?.bot; } } function useCanKickMember(a0, a1) { // fn#79825, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1863, offset: 0x01e6414e, size: 73 bytes, params: 3, frame: 14 const env0_0 = a0; const env0_1 = a1; return (FluxModule).useStateFromStores([PermissionStore], _fun79826); function _fun79826() { // fn#79826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:1933, offset: 0x01e64197, size: 41 bytes, params: 1, frame: 15 return canKickMember(env0_0, require, [PermissionStore]); } } function useCanBanMember(a0, a1) { // fn#79827, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:2051, offset: 0x01e641c0, size: 65 bytes, params: 3, frame: 13 const env0_0 = a0; const env0_1 = a1; return (FluxModule).useStateFromStores([], _fun79828); function _fun79828() { // fn#79828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:2119, offset: 0x01e64201, size: 28 bytes, params: 1, frame: 13 return canBanMember(env0_0, require); } } function useCanManageMessages_79829(a0, a1) { // fn#79829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:2233, offset: 0x01e6421d, size: 73 bytes, params: 3, frame: 14 const env0_0 = a0; const env0_1 = a1; return (FluxModule).useStateFromStores([PermissionStore], _fun79830); function _fun79830() { // fn#79830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10475:2307, offset: 0x01e64266, size: 41 bytes, params: 1, frame: 15 return canManageMessages(env0_0, require, [PermissionStore]); } } } global.__d(_fun79812, 10289, [1945, 1867, 3784, 1878, 3772, 661, 566, 21, 1391, 2]) /* metro module 10289, dependencies: [1945, 1867, 3784, 1878, 3772, 661, 566, 21, 1391, 2] */;