/* Metro module 16138; source: modules/media_channel/MediaPostEmbedManager.tsx; dependencies: [6, 7, 15, 17, 18, 1936, 1226, 1945, 10604, 661, 678, 4803, 1391, 11467, 15767, 4860, 2] */ import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import GatedChannelStore from '../channel/GatedChannelStore.tsx'; /* Metro dependency 1936 */ import GuildMemberStore from '../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import MediaPostEmbedStore from './MediaPostEmbedStore.tsx'; /* Metro dependency 10604 */ import SetupLoadFromMessageManagerHandlers from '../messages/setupLoadFromMessageManagerHandlers.tsx'; /* Metro dependency 15767 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as MessageEmbedTypesModule from '../../external/discord_common/js/shared/shared-constants/MessageEmbedTypes.tsx'; /* Metro dependency 678 */ import * as MediaPostEmbedStoreModule from './MediaPostEmbedStore.tsx'; /* Metro dependency 10604 */ function _fun124610(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#124610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:6, offset: 0x025bf0ba, size: 376 bytes, params: 8, frame: 20 let env0_0 = require; const resolveMediaPostEmbeds = function(a0) { var r3; var env0_0 = a0; var embeds = a0.embeds; var value = undefined; r3 = embeds == null ? value : embeds.filter(_fun124615); if (r3 != null && r3.length !== 0) { r3.forEach(_fun124616); } return value; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const Set = global.Set; let set = new Set(); set = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */; set = _fun124617(set); set = new set(); (FileImportTrackerModule).fileFinishedImporting('modules/media_channel/MediaPostEmbedManager.tsx'); exports.default = set; function _isNativeReflectConstruct_124611() { // fn#124611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:232, offset: 0x025bf232, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_124611_isNativeReflectConstruct = function() { return !!result; })(); } function resolveMediaPostEmbeds(a0) { // fn#124614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:439, offset: 0x025bf294, size: 85 bytes, params: 2, frame: 15 const env0_0 = a0; const embeds = a0.embeds; const value = undefined; const r3 = embeds == null ? value : embeds.filter(function({type}) { return type === require(dependencyMap[10]).MessageEmbedTypes.POST_PREVIEW; }); if (r3 != null && r3.length !== 0) { r3.forEach(_fun124616); } return value; function _fun124615({type}) { // fn#124615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:518, offset: 0x025bf2e9, size: 51 bytes, params: 2, frame: 12 const MessageEmbedTypes = (MessageEmbedTypesModule).MessageEmbedTypes; const POST_PREVIEW = MessageEmbedTypes.POST_PREVIEW; return type === POST_PREVIEW; } function _fun124616(a0) { // fn#124616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:606, offset: 0x025bf31c, size: 399 bytes, params: 2, frame: 19 var guildId; var r2; var value; var value2; var moduleValue; var value3; var mediaPostEmbedStoreBinding; var binding; var id; var guildMemberStoreBinding; var isMember; var isMember2; var gatedChannelStoreBinding; var isChannelGated; var isChannelGated2; var moduleValue2; var hasFlag2; if (a0.url != null) { value = environment.__proto__; value2 = undefined; moduleValue = require(4803) /* metro dependency 4803: MediaPostEmbedUtils */; value3 = moduleValue.getMediaPostEmbedChannelPath(a0.url); if (value3 != null) { if ((value3 == null ? value2 : value3.threadId) != null) { if ((value3 == null ? value2 : value3.channelId) != null) { mediaPostEmbedStoreBinding = MediaPostEmbedStore; if (mediaPostEmbedStoreBinding.getEmbedFetchState(value3.threadId) === FetchState.NOT_FETCHED) { binding = env1_14; if (!binding.has(value3.threadId)) { binding = env1_14; binding.add(value3.threadId); id = AuthenticationStore.getId(); guildMemberStoreBinding = GuildMemberStore; isMember = guildMemberStoreBinding.isMember; guildId = value3 == null ? value2 : value3.guildId; isMember2 = Reflect.apply(isMember, guildMemberStoreBinding, [guildId, id]); gatedChannelStoreBinding = GatedChannelStore; isChannelGated = gatedChannelStoreBinding.isChannelGated; guildId = value3.guildId; isChannelGated2 = Reflect.apply(isChannelGated, gatedChannelStoreBinding, [guildId, value3.channelId]); moduleValue2 = require(1391) /* metro dependency 1391: FlagUtils */; hasFlag2 = moduleValue2.hasFlag(env0_0.flags ?? 0, MessageFlags.IS_CROSSPOST); r2 = isMember2 && isChannelGated2 === false; r2 = !r2 ? !isMember2 && hasFlag2 : r2; if (!r2) { value = require(11467) /* metro dependency 11467: MediaChannelActionCreators */; value.fetchMediaPostEmbed(value3.threadId); } } } } } } } } } function _fun124617(a0) { // fn#124617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1086, offset: 0x025bf4ab, size: 99 bytes, params: 2, frame: 16 const MediaPostEmbedManager2 = MediaPostEmbedManager; Inherits(MediaPostEmbedManager2, a0); return CreateClass(MediaPostEmbedManager2, [{key: 'handleLoadThreadsSuccess', value: value_124620}, {key: 'handleLoadForumPosts', value: value_124622}]); function MediaPostEmbedManager() { // fn#124618, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1098, offset: 0x025bf50e, size: 198 bytes, params: 1, frame: 20 env1_3(this, MediaPostEmbedManager); const value3 = env1_6(MediaPostEmbedManager); const value6 = env1_5(this, _isNativeReflectConstruct_124611() ? global.Reflect.construct(value3, [], env1_6(this).constructor) : value3.apply(this, undefined)); value6.actions = {LOAD_THREADS_SUCCESS: value6.handleLoadThreadsSuccess, LOAD_ARCHIVED_THREADS_SUCCESS: value6.handleLoadThreadsSuccess, LOAD_FORUM_POSTS: value6.handleLoadForumPosts}; (SetupLoadFromMessageManagerHandlers)(value6, resolveMediaPostEmbeds, {onBeforeBatch: onBeforeBatch}); return value6; function onBeforeBatch() { // fn#124619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1542, owner: MediaPostEmbedManager.onBeforeBatch, offset: 0x025bf5d4, size: 19 bytes, params: 1, frame: 9 return env2_14.clear(); } } function value_124620({firstMessages}) { // fn#124620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1657, offset: 0x025bf5e7, size: 63 bytes, params: 2, frame: 12 if (firstMessages == null) { return false; } env1_14.clear(); if (firstMessages != null) { firstMessages.forEach(function(a0) { resolveMediaPostEmbeds(a0); }); } } function value_124622({threads}) { // fn#124622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1802, offset: 0x025bf639, size: 67 bytes, params: 2, frame: 11 var environment; const value = environment.__proto__; env1_14.clear(); const Object = global.Object; Object.values(threads).map(_fun124623); function _fun124623({first_message}) { // fn#124623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16346:1856, offset: 0x025bf67c, size: 36 bytes, params: 2, frame: 12 var r0; var resolveMediaPostEmbedsBinding; let value = first_message != null; if (value) { value = environment.__proto__.__proto__; resolveMediaPostEmbedsBinding = resolveMediaPostEmbeds; value = undefined; resolveMediaPostEmbedsBinding(first_message); r0 = value; } else { r0 = value; } return r0; } } } } global.__d(_fun124610, 16138, [6, 7, 15, 17, 18, 1936, 1226, 1945, 10604, 661, 678, 4803, 1391, 11467, 15767, 4860, 2]) /* metro module 16138, dependencies: [6, 7, 15, 17, 18, 1936, 1226, 1945, 10604, 661, 678, 4803, 1391, 11467, 15767, 4860, 2] */;