/* Metro module 11558; source: modules/messages/MessageAttachmentUtils.tsx; dependencies: [3784, 661, 4838, 4841, 4840, 1391, 9587, 632, 3829, 11334, 1244, 2] */ function _fun88572(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:6, offset: 0x01fe90a5, size: 221 bytes, params: 8, frame: 20 const env0_0 = require; const closure = getForumPostShouldObscure; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */; const constantsModule = require(661) /* metro dependency 661: Constants */; const env0_4 = constantsModule.MessageAttachmentFlags; const env0_5 = constantsModule.Permissions; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/MessageAttachmentUtils.tsx'); exports.getObscureReasonForAttachment = getObscureReasonForAttachment; exports.getObscureReasonForEmbed = getObscureReasonForEmbed; exports.getObscureReasonForUnfurledMediaItem = getObscureReasonForUnfurledMediaItem; exports.getForumPostShouldObscure = closure; exports.useShouldObscure = useShouldObscure; exports.getObscuredAlt = getObscuredAlt; } function getForumPostShouldObscure(a0, a1, a2) { // fn#88573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:159, offset: 0x01fe9182, size: 540 bytes, params: 4, frame: 19 var r0; var items; const ObscuredMediaTypes = (require(4841) /* metro dependency 4841: ExplicitMediaRedactionModels */).ObscuredMediaTypes; const ObscureReason = (require(4840) /* metro dependency 4840: ObscureMediaModels */).ObscureReason; let value = null; if (value == a0) { return [false, undefined]; } const type = a0.type; const ForumPostMediaTypes = (require(9587) /* metro dependency 9587: ForumPostMediaUtils */).ForumPostMediaTypes; const EMBED = ForumPostMediaTypes.EMBED; const r6 = EMBED === type ? {type: ObscuredMediaTypes.Embed, media: a0} : ForumPostMediaTypes.ATTACHMENT === type ? {type: ObscuredMediaTypes.Attachment, media: a0} : ForumPostMediaTypes.COMPONENT !== type ? value : {type: ObscuredMediaTypes.GenericMedia, media: a0.srcUnfurledMediaItem}; if (value == r6) { return [false, undefined]; } value = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; value = value.getMediaObscuredReasonFromBitmask(r6, a2); if (value.length > 0) { r0 = [true, value[0]]; } else { items = []; if ((require(4838) /* metro dependency 4838: ObscuredMediaUtils */).isMediaScanPending(r6, a2)) { items[0] = true; items[1] = ObscureReason.POTENTIAL_EXPLICIT_CONTENT; r0 = items; } else if (a0.spoiler) { items[0] = a1; items[1] = ObscureReason.SPOILER; r0 = items; } else { items[0] = false; items[1] = undefined; r0 = items; } } return r0; } function getObscureReasonForAttachment(a0, a1) { // fn#88574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1000, offset: 0x01fe939e, size: 292 bytes, params: 3, frame: 24 var object2; var SPOILER; var r0; const ObscureReason = (require(4840) /* metro dependency 4840: ObscureMediaModels */).ObscureReason; const spoiler = a0.spoiler; const flags = a0.flags; let value = 0; const r7 = flags === undefined ? value : flags; const obscuredMediaUtilsModule = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; const getMediaObscuredReasonFromBitmask = obscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (require(4841) /* metro dependency 4841: ExplicitMediaRedactionModels */).ObscuredMediaTypes; let Attachment = ObscuredMediaTypes.Attachment; const value3 = Reflect.apply(getMediaObscuredReasonFromBitmask, obscuredMediaUtilsModule, [{type: Attachment, media: a0}, a1]); const moduleValue2 = obscuredMediaUtilsModule; const isMediaScanPending = moduleValue2.isMediaScanPending; object2 = {}; Attachment = ObscuredMediaTypes.Attachment; object2.type = Attachment; object2.media = a0; if (value3.length > value) { r0 = value3[value]; } else if (Reflect.apply(isMediaScanPending, moduleValue2, [object2, a1])) { r0 = ObscureReason.POTENTIAL_EXPLICIT_CONTENT; } else { if (spoiler) { SPOILER = ObscureReason.SPOILER; } else { value = require(1391) /* metro dependency 1391: FlagUtils */; value = value.hasFlag(r7, MessageAttachmentFlags.IS_SPOILER); SPOILER = value ? ObscureReason.SPOILER : null; } r0 = SPOILER; } return r0; } function getObscureReasonForEmbed(a0, {author}, a2, a3) { // fn#88575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1408, offset: 0x01fe94c2, size: 256 bytes, params: 5, frame: 21 const ObscureReason = (require(4840) /* metro dependency 4840: ObscureMediaModels */).ObscureReason; const obscuredMediaUtilsModule = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; const getMediaObscuredReasonFromBitmask = obscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (require(4841) /* metro dependency 4841: ExplicitMediaRedactionModels */).ObscuredMediaTypes; const Embed = ObscuredMediaTypes.Embed; const value2 = Reflect.apply(getMediaObscuredReasonFromBitmask, obscuredMediaUtilsModule, [{type: Embed, media: a0}, a3]); let r0 = !author.bot && obscuredMediaUtilsModule.isMediaScanPending({type: ObscuredMediaTypes.Embed, media: a0}, a3); r0 = value2.length > 0 ? value2[0] : r0 ? ObscureReason.POTENTIAL_EXPLICIT_CONTENT : a2 ? ObscureReason.SPOILER : null; return r0; } function getObscureReasonForUnfurledMediaItem(a0, a1) { // fn#88576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1765, offset: 0x01fe95c2, size: 461 bytes, params: 3, frame: 22 const value = a2; const value2 = a3; const r2 = value !== undefined ? value : false; let r0 = value2 !== undefined ? value2 : false; const obscuredMediaUtilsModule = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; const getMediaObscuredReasonFromBitmask = obscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (require(4841) /* metro dependency 4841: ExplicitMediaRedactionModels */).ObscuredMediaTypes; const GenericMedia = ObscuredMediaTypes.GenericMedia; const value3 = Reflect.apply(getMediaObscuredReasonFromBitmask, obscuredMediaUtilsModule, [{type: GenericMedia, media: a0}, a1]); r0 = !r0 && obscuredMediaUtilsModule.isMediaScanPending({type: ObscuredMediaTypes.GenericMedia, media: a0}, a1); const includes = value3.includes; const ObscureReason = (require(4840) /* metro dependency 4840: ObscureMediaModels */).ObscureReason; const EXPLICIT_CONTENT = ObscureReason.EXPLICIT_CONTENT; r0 = Reflect.apply(includes, value3, [EXPLICIT_CONTENT]) ? ObscureReason.EXPLICIT_CONTENT : value3.includes(ObscureReason.GORE_CONTENT) ? ObscureReason.GORE_CONTENT : value3.includes(ObscureReason.SELF_HARM_CONTENT) ? ObscureReason.SELF_HARM_CONTENT : r0 ? ObscureReason.POTENTIAL_EXPLICIT_CONTENT : r2 ? ObscureReason.SPOILER : null; return r0; } function useShouldObscure({channel, media}) { // fn#88577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2413, offset: 0x01fe978f, size: 188 bytes, params: 2, frame: 20 const value2 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([PermissionStore], _fun88578); const RenderSpoilers = (require(3829) /* metro dependency 3829: UserSettings */).RenderSpoilers; const value3 = RenderSpoilers.useSetting(); const obscuredMediaUtilsModule = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; const getEnabledHarmTypesBitmaskForChannelType = obscuredMediaUtilsModule.getEnabledHarmTypesBitmaskForChannelType; const ContentHarmTypeChannel = (require(4841) /* metro dependency 4841: ExplicitMediaRedactionModels */).ContentHarmTypeChannel; const GUILD = ContentHarmTypeChannel.GUILD; return getForumPostShouldObscure(media, !(importDefault(11334) /* metro dependency 11334: computeGlobalSpoilerDisplay */)(value3, value2), Reflect.apply(getEnabledHarmTypesBitmaskForChannelType, obscuredMediaUtilsModule, [GUILD])); } function getObscuredAlt(a0) { // fn#88579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2737, offset: 0x01fe987e, size: 269 bytes, params: 2, frame: 15 const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const ObscureReason = (require(4840) /* metro dependency 4840: ObscureMediaModels */).ObscureReason; const EXPLICIT_CONTENT = ObscureReason.EXPLICIT_CONTENT; if (EXPLICIT_CONTENT === a0) { return intl.string(t.SEgHFh); } const GORE_CONTENT = ObscureReason.GORE_CONTENT; if (GORE_CONTENT === a0) { return intl.string(t.SEgHFh); } const SELF_HARM_CONTENT = ObscureReason.SELF_HARM_CONTENT; if (SELF_HARM_CONTENT === a0) { return intl.string(t.SEgHFh); } const SPOILER = ObscureReason.SPOILER; if (SPOILER === a0) { return intl.string(t['XpfDH+']); } } function _fun88578() { // fn#88578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2498, offset: 0x01fe984b, size: 51 bytes, params: 1, frame: 14 return channel != null && PermissionStore.can(Permissions.MANAGE_MESSAGES, channel); }