/* Metro module 4790; source: modules/threads/ActiveThreadsStore.tsx; dependencies: [6, 7, 15, 17, 18, 1383, 1379, 22, 21, 566, 694, 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 SnowflakeUtils from '../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */ import Module00022 from '../../by-id/module-00022.js'; /* Metro dependency 22 */ import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ChannelRecordModule from '../../records/ChannelRecord.tsx'; /* Metro dependency 1383 */ function _fun41366(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#41366, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:6, offset: 0x0111d46f, size: 477 bytes, params: 8, frame: 21 const threadStateFromChannel = function(a0) { return {id: a0.id, parentId: a0.parent_id}; }; const THREAD_CREATE_413762 = THREAD_CREATE_41376; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_10 = {}; const Set = global.Set; let set = new Set(); const env0_12 = {}; const Store = (Flux).Store; _fun41378(Store).displayName = 'ActiveThreadsStore'; set = new set(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: CONNECTION_OPEN_41388, OVERLAY_INITIALIZE: OVERLAY_INITIALIZE_41390, GUILD_CREATE: function({guild}) { deleteGuildThreads_41371(guild.id); storeThreads_41372(guild); }, GUILD_DELETE: function({guild}) { deleteGuildThreads_41371(guild.id); }, THREAD_CREATE: THREAD_CREATE_413762, THREAD_UPDATE: THREAD_CREATE_413762, THREAD_LIST_SYNC: THREAD_LIST_SYNC_41396, THREAD_DELETE: function({channel}) { return deleteThread(channel); }, CHANNEL_DELETE: CHANNEL_DELETE_41399}); (FileImportTrackerModule).fileFinishedImporting('modules/threads/ActiveThreadsStore.tsx'); exports.default = set; function _isNativeReflectConstruct_41367() { // fn#41367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:215, offset: 0x0111d64c, size: 94 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_41367_isNativeReflectConstruct = function() { return !!result; })(); } function deleteGuildThreads_41371(a0) { // fn#41371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:499, offset: 0x0111d6c5, size: 29 bytes, params: 2, frame: 3 if (a0 in env0_10) { delete env0_10[a0]; } } function storeThreads_41372(a0) { // fn#41372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:550, offset: 0x0111d6e2, size: 133 bytes, params: 2, frame: 13 var binding; const env0_0 = a0; if (a0.threads != null && a0.threads.length > 0) { env0_10[a0.id] = {}; a0.threads.filter(function(a0) { return ALL_CHANNEL_TYPES.has(a0.type); }).forEach(_fun41374); } if (a0.hasThreadsSubscription) { binding = env0_11; binding.add(a0.id); } function _fun41374(a0) { // fn#41374, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:670, offset: 0x0111d782, size: 32 bytes, params: 2, frame: 13 storeThread_41375(env0_0.id, a0); } } function storeThread_41375(a0, a1) { // fn#41375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:734, offset: 0x0111d7a2, size: 70 bytes, params: 3, frame: 14 const property = env0_10[a0]; const parent_id = a1.parent_id; if (!(parent_id in property)) { property[parent_id] = {}; } env0_10[a0][parent_id][a1.id] = threadStateFromChannel(a1); } function THREAD_CREATE_41376({channel}) { // fn#41376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:843, offset: 0x0111d7e8, size: 174 bytes, params: 2, frame: 19 var r9; var threadMetadata; var value2; var binding; var guild_id; var object; var parent_id; var object2; if (ALL_CHANNEL_TYPES.has(channel.type)) { threadMetadata = channel.threadMetadata; value2 = undefined; if ((threadMetadata == null ? value2 : threadMetadata.archived) === true) { return deleteThread(channel); } binding = env0_10; guild_id = channel.guild_id; r9 = binding[guild_id] ?? ({}); binding = env0_10; guild_id = channel.guild_id; object = {}; copyDataProperties(object, r9, r9); parent_id = channel.parent_id; object2 = {}; copyDataProperties(object2, r9[channel.parent_id], r9); object2[channel.id] = threadStateFromChannel(channel); object[parent_id] = object2; binding[guild_id] = object; return value2; } return false; } function deleteThread({guild_id, parent_id, id}) { // fn#41377, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:1128, offset: 0x0111d896, size: 231 bytes, params: 2, frame: 21 var r3; var r2; var r1; var value2; var value3; var value4; var binding; var object; var object2; var property; var value5; var defaultImport; let r0 = guild_id != null && parent_id != null; if (r0) { value2 = guild_id in env0_10; if (value2) { value3 = parent_id in env0_10[guild_id]; if (value3) { value4 = id in env0_10[guild_id][parent_id]; if (value4) { binding = env0_10; object = {}; copyDataProperties(object, binding[guild_id], undefined); object2 = {}; property = env0_10[guild_id]; copyDataProperties(object2, property[parent_id], property); object[parent_id] = object2; binding[guild_id] = object; delete env0_10[guild_id][parent_id][id]; value5 = undefined; defaultImport = importDefault(22) /* metro dependency 22 */; if (defaultImport.isEmpty(env0_10[guild_id][parent_id])) { delete env0_10[guild_id][parent_id]; r3 = value5; } else { r3 = value5; } } else { r3 = value4; } r2 = r3; } else { r2 = value3; } r1 = r2; } else { r1 = value2; } r0 = r1; } return r0; } function _fun41378(a0) { // fn#41378, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:1365, offset: 0x0111d97d, size: 208 bytes, params: 2, frame: 16 const ActiveThreadsStore2 = ActiveThreadsStore; Inherits(ActiveThreadsStore2, a0); return CreateClass(ActiveThreadsStore2, [{key: 'initialize', value: function() { this.waitFor(ChannelStore); }}, {key: 'isActive', value: function(a0, a1, a2) { var r0; var value = a0 != null; if (value) { value = this.getThreadsForParent(a0, a1); value = value[a2] != null; r0 = value; } else { r0 = value; } return r0; }}, {key: 'getThreadsForGuild', value: value_41382}, {key: 'getThreadsForParent', value: value_41383}, {key: 'hasThreadsForChannel', value: value_41384}, {key: 'forEachGuild', value: value_41385}, {key: 'hasLoaded', value: value_41387}]); function ActiveThreadsStore() { // fn#41379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:1377, offset: 0x00ea76ec, size: 113 bytes, params: 1, frame: 20 const value = environment.__proto__; env1_2(this, ActiveThreadsStore); const value3 = env1_5(ActiveThreadsStore); return env1_4(this, _isNativeReflectConstruct_41367() ? global.Reflect.construct(value3, arguments, env1_5(this).constructor) : value3.apply(this, arguments)); } function value_41382(a0) { // fn#41382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:1841, offset: 0x0111da78, size: 26 bytes, params: 2, frame: 3 return env1_10[a0] ?? env1_12; } function value_41383(a0, a1) { // fn#41383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:1920, offset: 0x0111da92, size: 39 bytes, params: 3, frame: 11 return this.getThreadsForGuild(a0)[a1] ?? env1_12; } function value_41384(a0, a1) { // fn#41384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2027, offset: 0x0111dab9, size: 62 bytes, params: 3, frame: 15 let value = environment.__proto__; value = importDefault(22) /* metro dependency 22 */; const isEmpty = value.isEmpty; const getThreadsForParent = this.getThreadsForParent; return !Reflect.apply(isEmpty, value, [Reflect.apply(getThreadsForParent, this, [a0, a1])]); } function value_41385(a0) { // fn#41385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2123, offset: 0x0111daf7, size: 65 bytes, params: 2, frame: 13 var environment; const env0_0 = a0; const value = environment.__proto__; (SnowflakeUtils).keys(env1_10).forEach(_fun41386); function _fun41386(a0) { // fn#41386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2160, offset: 0x0111db38, size: 31 bytes, params: 2, frame: 13 env0_0(a0, env2_10[a0]); } } function value_41387(a0) { // fn#41387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2202, offset: 0x00f82460, size: 22 bytes, params: 2, frame: 11 return env1_11.has(a0); } } function CONNECTION_OPEN_41388({guilds}) { // fn#41388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2323, offset: 0x0111db57, size: 53 bytes, params: 2, frame: 11 env0_10 = {}; env0_11.clear(); guilds.forEach(function(a0) { storeThreads_41372(a0); }); } function OVERLAY_INITIALIZE_41390({channels}) { // fn#41390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2432, offset: 0x0111db9f, size: 94 bytes, params: 2, frame: 13 env0_10 = {}; let value = (Module00022)(channels); value = value.filter(function(a0) { return THREAD_CHANNEL_TYPES.has(a0.type); }); value = value.groupBy('guild_id'); value.forEach(_fun41392); function _fun41392(a0, a1) { // fn#41392, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2551, offset: 0x0111dc18, size: 44 bytes, params: 3, frame: 13 const env0_0 = a1; env1_10[a1] = {}; a0.forEach(function(a0) { storeThread_41375(require, a0); }); } } function THREAD_LIST_SYNC_41396({guildId, threads, channelIds}) { // fn#41396, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:2873, offset: 0x0111dca2, size: 155 bytes, params: 2, frame: 22 var propertyName; var property2; var property3; if (channelIds == null) { env0_11.add(guildId); } const binding = env0_10; let object = {}; copyDataProperties(object, binding[guildId], undefined); binding[guildId] = object; for (propertyName in env0_10[guildId]) { property2 = env0_10[guildId]; object = {}; property3 = env0_10[guildId]; copyDataProperties(object, property3[propertyName], property3); property2[propertyName] = object; } threads.forEach(function(a0) { storeThread_41375(guildId, a0); }); } function CHANNEL_DELETE_41399({channel}) { // fn#41399, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4968:3139, offset: 0x0111dd70, size: 103 bytes, params: 2, frame: 16 var binding; var object; var binding2; let guild_id = channel.guild_id; if (guild_id != null) { guild_id = channel.guild_id; if (guild_id in env0_10) { binding = env0_10; guild_id = channel.guild_id; object = {}; binding2 = env0_10; copyDataProperties(object, binding2[channel.guild_id], binding2); binding[guild_id] = object; binding = env0_10; guild_id = channel.guild_id; delete binding[guild_id][channel.id]; return undefined; } } return false; } } global.__d(_fun41366, 4790, [6, 7, 15, 17, 18, 1383, 1379, 22, 21, 566, 694, 2]) /* metro module 4790, dependencies: [6, 7, 15, 17, 18, 1383, 1379, 22, 21, 566, 694, 2] */;