/* Metro module 9797; source: modules/forwarding/canForwardMessage.tsx; dependencies: [1936, 1379, 1867, 3784, 661, 1391, 566, 2] */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import GatedChannelStore from '../channel/GatedChannelStore.tsx'; /* Metro dependency 1936 */ 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 */ function _fun76785(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#76785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9983:6, offset: 0x01de4afc, size: 369 bytes, params: 8, frame: 20 let env0_0 = require; const canForwardMessage2 = canForwardMessage; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ConstantsModule; const env0_6 = value.GuildFeatures; const MessageFlags = value.MessageFlags; const env0_7 = value.MessageStates; const env0_8 = value.MessageTypesSets; const env0_9 = value.Permissions; const CROSSPOSTED = MessageFlags.CROSSPOSTED; const FAILED_TO_MENTION_SOME_ROLES_IN_THREAD = MessageFlags.FAILED_TO_MENTION_SOME_ROLES_IN_THREAD; value = CROSSPOSTED | FAILED_TO_MENTION_SOME_ROLES_IN_THREAD; const GUILD_FEED_HIDDEN = MessageFlags.GUILD_FEED_HIDDEN; value |= GUILD_FEED_HIDDEN; const HAS_SNAPSHOT = MessageFlags.HAS_SNAPSHOT; value |= HAS_SNAPSHOT; const HAS_THREAD = MessageFlags.HAS_THREAD; value |= HAS_THREAD; const IS_CROSSPOST = MessageFlags.IS_CROSSPOST; value |= IS_CROSSPOST; const IS_VOICE_MESSAGE = MessageFlags.IS_VOICE_MESSAGE; value |= IS_VOICE_MESSAGE; const SHOULD_SHOW_LINK_NOT_DISCORD_WARNING = MessageFlags.SHOULD_SHOW_LINK_NOT_DISCORD_WARNING; value |= SHOULD_SHOW_LINK_NOT_DISCORD_WARNING; const SUPPRESS_EMBEDS = MessageFlags.SUPPRESS_EMBEDS; value |= SUPPRESS_EMBEDS; const SUPPRESS_NOTIFICATIONS = MessageFlags.SUPPRESS_NOTIFICATIONS; value |= SUPPRESS_NOTIFICATIONS; const URGENT = MessageFlags.URGENT; value |= URGENT; const IS_COMPONENTS_V2 = MessageFlags.IS_COMPONENTS_V2; value |= IS_COMPONENTS_V2; const IS_GUILD_OFFICIAL = MessageFlags.IS_GUILD_OFFICIAL; const env0_10 = value | IS_GUILD_OFFICIAL; (FileImportTrackerModule).fileFinishedImporting('modules/forwarding/canForwardMessage.tsx'); exports.canForwardMessage = canForwardMessage2; exports.useCanForwardMessage = function(a0) { var env0_0 = a0; return require(dependencyMap[6]).useStateFromStores([PermissionStore, GatedChannelStore, ChannelStore, GuildStore], _fun76788); }; function canForwardMessage(a0) { // fn#76786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9983:505, offset: 0x01de4c6d, size: 452 bytes, params: 2, frame: 22 var r0; var guild_id; var r1; var r3; var moduleValue; var value15; var value16; var value17; var guild; let value = a1; const value2 = a2; const value3 = a3; const value4 = a4; const value5 = undefined; const r7 = value !== value5 ? value : PermissionStore; const r8 = value2 !== value5 ? value2 : GatedChannelStore; const r5 = value3 !== value5 ? value3 : ChannelStore; const r9 = value4 !== value5 ? value4 : GuildStore; if (a0 != null) { var state = a0.state; var SEND_FAILED = MessageStates.SEND_FAILED; r0 = state !== SEND_FAILED && !!MessageTypesSets.FORWARDABLE.has(a0.type); r0 = r0 && a0.poll == null; r0 = r0 && a0.sharedClientTheme == null; r0 = r0 && a0.activity == null; r0 = r0 && a0.call == null; r0 = r0 && a0.activityInstance == null; if (r0) { moduleValue = require(1391) /* metro dependency 1391: FlagUtils */; r0 = moduleValue.removeFlag(a0.flags, env0_10) === 0; } if (r0) { value15 = r5.getChannel(a0.channel_id); value16 = r7.can(Permissions.READ_MESSAGE_HISTORY, value15); if (value15 == null) { guild_id = value15 == null ? value5 : value15.guild_id; value17 = guild_id == null; if (value17) { r0 = value17; } else { guild = r9.getGuild(guild_id); r0 = !(guild == null ? value5 : guild.features.has(GuildFeatures.FORWARDING_DISABLED)); } if (r0) { value = guild_id == null; r1 = value || !r8.isChannelOrThreadParentGated(guild_id, a0.channel_id); if (r1) { r3 = value15 == null ? value5 : value15.isModeratorReportChannel(); value = r3 != null; value = !(value && r3); r1 = value; } r0 = r1; } return r0; } if (value16) { guild_id = value15 == null ? value5 : value15.guild_id; value17 = guild_id == null; if (value17) { r0 = value17; } else { guild = r9.getGuild(guild_id); r0 = !(guild == null ? value5 : guild.features.has(GuildFeatures.FORWARDING_DISABLED)); } if (r0) { value = guild_id == null; r1 = value || !r8.isChannelOrThreadParentGated(guild_id, a0.channel_id); if (r1) { r3 = value15 == null ? value5 : value15.isModeratorReportChannel(); value = r3 != null; value = !(value && r3); r1 = value; } r0 = r1; } return r0; } if (value15.isPrivate()) { guild_id = value15 == null ? value5 : value15.guild_id; value17 = guild_id == null; if (value17) { r0 = value17; } else { guild = r9.getGuild(guild_id); r0 = !(guild == null ? value5 : guild.features.has(GuildFeatures.FORWARDING_DISABLED)); } if (r0) { value = guild_id == null; r1 = value || !r8.isChannelOrThreadParentGated(guild_id, a0.channel_id); if (r1) { r3 = value15 == null ? value5 : value15.isModeratorReportChannel(); value = r3 != null; value = !(value && r3); r1 = value; } r0 = r1; } return r0; } return false; } } return false; } function useCanForwardMessage(a0) { // fn#76787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9983:1307, offset: 0x01de4e31, size: 90 bytes, params: 2, frame: 15 const env0_0 = a0; return (FluxModule).useStateFromStores([PermissionStore, GatedChannelStore, ChannelStore, GuildStore], _fun76788); function _fun76788() { // fn#76788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9983:1385, offset: 0x01de4e8b, size: 38 bytes, params: 1, frame: 19 return canForwardMessage(env0_0, PermissionStore, GatedChannelStore, ChannelStore, GuildStore); } } } global.__d(_fun76785, 9797, [1936, 1379, 1867, 3784, 661, 1391, 566, 2]) /* metro module 9797, dependencies: [1936, 1379, 1867, 3784, 661, 1391, 566, 2] */;