/* Metro module 4792; source: modules/search/SearchMessageStore.tsx; dependencies: [15, 17, 18, 6, 7, 1226, 3793, 4131, 4625, 3795, 566, 694, 2] */ function _fun41434(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#41434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:6, offset: 0x0111ee0d, size: 563 bytes, params: 8, frame: 21 let env0_0 = require; const closure = function(a0) { var env0_0 = a0; var env0_1 = a0.type; var messageId = a0.messageId; var userId = a0.userId; var env0_2 = a0.emoji; if (require(dependencyMap[9]).shouldApplyReaction(a0)) { var env0_3 = AuthenticationStore.getId() === userId; return updateMessage(messageId, _fun41443); } return false; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let env0_2 = importDefault(15) /* metro dependency 15 */; let env0_3 = importDefault(17) /* metro dependency 17 */; const env0_4 = importDefault(18) /* metro dependency 18 */; const env0_5 = importDefault(6) /* metro dependency 6 */; const env0_6 = importDefault(7) /* metro dependency 7 */; const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */; const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */; const env0_9 = _fun41444(); let Map = global.Map; let map = new Map(); Map = global.Map; map = new Map(); Map = global.Map; map = new Map(); const Store = (importDefault(566) /* metro dependency 566: flux */).Store; _fun41451(Store).displayName = 'SearchMessageStore'; map = new map(importDefault(694) /* metro dependency 694: Dispatcher */, {SEARCH_MESSAGES_START: function({ids}) { ids.forEach(_fun41477); }, SEARCH_MESSAGES_SUCCESS: function({data}) { data.forEach(_fun41479); }, SEARCH_MESSAGES_INDEXING: function({ids}) { ids.forEach(_fun41483); }, SEARCH_MESSAGES_FAILURE: function(a0) { var env0_0 = a0; a0.ids.forEach(_fun41485); }, SEARCH_MESSAGES_CLEAR: SEARCH_MESSAGES_CLEAR, SEARCH_MESSAGES_CLEAR_ALL: function() { var Map = global.Map; env0_10 = new Map(); Map = global.Map; env0_11 = new Map(); Map = global.Map; env0_12 = new Map(); }, MESSAGE_UPDATE: MESSAGE_UPDATE, MESSAGE_REACTION_ADD: closure, MESSAGE_REACTION_ADD_MANY: function({messageId, reactions}) { var env0_1 = AuthenticationStore.getId(); return updateMessage(messageId, _fun41491); }, MESSAGE_REACTION_REMOVE: closure, MESSAGE_REACTION_REMOVE_ALL: function({messageId}) { return updateMessage(messageId, _fun41493); }, MESSAGE_REACTION_REMOVE_EMOJI: function({messageId, emoji}) { return updateMessage(messageId, _fun41495); }, CONNECTION_OPEN: function() { var Map = global.Map; env0_10 = new Map(); Map = global.Map; env0_11 = new Map(); Map = global.Map; env0_12 = new Map(); }}); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/search/SearchMessageStore.tsx'); exports.default = map; } function _isNativeReflectConstruct_41435() { // fn#41435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:168, offset: 0x0111f040, 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_41435_isNativeReflectConstruct = function() { return !!result; })(); } function getSearchStateOrDefault(a0) { // fn#41438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:1743, offset: 0x0111f09e, size: 52 bytes, params: 2, frame: 12 return env0_10.get(a0) ?? new env0_9(); } function getOrCreateSearchState(a0) { // fn#41439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:1819, offset: 0x0111f0d2, size: 34 bytes, params: 2, frame: 13 const searchStateOrDefault = getSearchStateOrDefault(a0); env0_10.set(a0, searchStateOrDefault); return searchStateOrDefault; } function updateMessage(a0, a1) { // fn#41440, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:1907, offset: 0x0111f0f4, size: 59 bytes, params: 3, frame: 14 const value2 = env0_11.get(a0); if (value2 == null) { return false; } env0_11.set(a0, a1(value2)); return true; } function withSearchState(a0, a1) { // fn#41441, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2002, offset: 0x0111f12f, size: 27 bytes, params: 3, frame: 11 return a1(getSearchStateOrDefault(a0)); } function MESSAGE_REACTION_ADD(a0) { // fn#41442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2069, offset: 0x0111f14a, size: 120 bytes, params: 2, frame: 17 const env0_0 = a0; const env0_1 = a0.type; const messageId = a0.messageId; const userId = a0.userId; const env0_2 = a0.emoji; const reactionUtilsModule = require(3795) /* metro dependency 3795: ReactionUtils */; if (reactionUtilsModule.shouldApplyReaction(a0)) { var result = AuthenticationStore.getId() === userId; return updateMessage(messageId, _fun41443); } return false; } function _fun41444() { // fn#41444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:367, offset: 0x0111f218, size: 126 bytes, params: 1, frame: 15 return env0_6(SearchState, [{key: 'handleSearchStart', value: function() { this.isFetching = true; this.isIndexing = false; this.analyticsId = null; this.error = null; }}, {key: 'handleSearchIndexing', value: function() { this.isInitialFetchComplete = true; this.isIndexing = true; this.isHistoricalIndexing = true; this.isFetching = false; this.error = null; }}, {key: 'handleSearchFailure', value: value_41448}, {key: 'handleSearchSuccess', value: value_41449}]); } function _fun41451(a0) { // fn#41451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2353, offset: 0x0111f4f5, size: 352 bytes, params: 2, frame: 16 const closure = SearchMessageStore; env0_4(closure, a0); return env0_6(closure, [{key: 'initialize', value: function() { this.waitFor(AuthenticationStore, RelationshipStore); }}, {key: 'getMessage', value: value_41454}, {key: 'getTotalCount', value: function(a0) { return withSearchState(a0, _fun41456); }}, {key: 'getIsInitialFetchComplete', value: function(a0) { return withSearchState(a0, _fun41458); }}, {key: 'getIsIndexing', value: function(a0) { return withSearchState(a0, _fun41460); }}, {key: 'getIsHistoricalIndexing', value: function(a0) { return withSearchState(a0, _fun41462); }}, {key: 'getDocumentsIndexed', value: function(a0) { return withSearchState(a0, _fun41464); }}, {key: 'getIsFetching', value: function(a0) { return withSearchState(a0, _fun41466); }}, {key: 'getError', value: function(a0) { return withSearchState(a0, _fun41468); }}, {key: 'getMessages', value: function(a0) { return withSearchState(a0, _fun41470); }}, {key: 'getCursor', value: function(a0) { return withSearchState(a0, _fun41472); }}, {key: 'getAnalyticsId', value: function(a0) { return withSearchState(a0, _fun41474); }}, {key: 'hasSearchState', value: value_41475}]); } function SEARCH_MESSAGES_START({ids}) { // fn#41476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3802, offset: 0x0111f840, size: 30 bytes, params: 2, frame: 11 ids.forEach(_fun41477); } function SEARCH_MESSAGES_SUCCESS({data}) { // fn#41478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3933, offset: 0x0111f87b, size: 29 bytes, params: 2, frame: 11 data.forEach(_fun41479); } function SEARCH_MESSAGES_INDEXING({ids}) { // fn#41482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4226, offset: 0x0111f981, size: 30 bytes, params: 2, frame: 11 ids.forEach(_fun41483); } function SEARCH_MESSAGES_FAILURE(a0) { // fn#41484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4363, offset: 0x0111f9be, size: 34 bytes, params: 2, frame: 11 const env0_0 = a0; a0.ids.forEach(_fun41485); } function SEARCH_MESSAGES_CLEAR(a0) { // fn#41486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4503, offset: 0x0111fa0a, size: 81 bytes, params: 2, frame: 13 const value2 = env0_10.get(a0.id); if (value2 == null) { return false; } value2.messageIds.forEach(_fun41487); env0_10.delete(a0.id); } function MESSAGE_UPDATE(a0) { // fn#41489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4811, offset: 0x0111fb1c, size: 104 bytes, params: 2, frame: 16 const id = a0.message.id; if (id == null) { return false; } const value2 = env0_11.get(id); if (value2 == null) { return false; } const messageRecordUtilsModule = require(4625) /* metro dependency 4625: MessageRecordUtils */; env0_11.set(id, messageRecordUtilsModule.updateMessageRecord(value2, a0.message)); } function MESSAGE_REACTION_ADD_MANY({messageId, reactions}) { // fn#41490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:5038, offset: 0x0111fb84, size: 60 bytes, params: 2, frame: 14 const env0_1 = AuthenticationStore.getId(); return updateMessage(messageId, _fun41491); } function MESSAGE_REACTION_REMOVE_ALL({messageId}) { // fn#41492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:5231, offset: 0x0111fbdc, size: 32 bytes, params: 2, frame: 13 return updateMessage(messageId, function(a0) { return a0.set('reactions', []); }); } function MESSAGE_REACTION_REMOVE_EMOJI({messageId, emoji}) { // fn#41494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:5362, offset: 0x0111fc14, size: 42 bytes, params: 2, frame: 13 return updateMessage(messageId, function(a0) { return a0.removeReactionsForEmoji(emoji); }); } function _fun41443(a0) { // fn#41443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2232, offset: 0x0111f1c2, size: 86 bytes, params: 2, frame: 18 const reactionType = env0_0.reactionType; return type === 'MESSAGE_REACTION_ADD' ? a0.addReaction(emoji, result, env0_0.colors, reactionType) : a0.removeReaction(emoji, result, reactionType); } function SearchState() { // fn#41445, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:388, offset: 0x0111f296, size: 127 bytes, params: 1, frame: 15 const value = environment.__proto__; env1_5(this, SearchState); this.isIndexing = false; this.isHistoricalIndexing = false; this.isFetching = false; this.analyticsId = null; this.error = null; this.messages = null; this.documentsIndexed = 0; this.totalResults = null; const Set = global.Set; this.messageIds = new Set(); this.isInitialFetchComplete = false; this.cursor = null; } function value_41448(a0) { // fn#41448, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:991, offset: 0x0111f365, size: 109 bytes, params: 2, frame: 13 this.isFetching = false; this.isIndexing = false; this.isInitialFetchComplete = true; this.isHistoricalIndexing = false; const value = environment.__proto__; const APIError = (require(4131) /* metro dependency 4131: errors */).APIError; this.error = new APIError(a0); this.analyticsId = null; this.documentsIndexed = 0; } function value_41449({analyticsId, cursor, totalResults, doingHistoricalIndex, documentsIndexed}, a1) { // fn#41449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:1218, offset: 0x0111f3d2, size: 179 bytes, params: 3, frame: 20 this.analyticsId = analyticsId; this.isFetching = false; this.isIndexing = false; this.isInitialFetchComplete = true; this.isHistoricalIndexing = doingHistoricalIndex; this.error = null; this.documentsIndexed = documentsIndexed; this.cursor = cursor; const r5 = this.messages ?? []; const items2 = []; arraySpread(items2, r5, 0, undefined); a1.forEach(_fun41450); this.messages = items2; this.totalResults = totalResults; return []; } function value_41455(a0) { // fn#41455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2785, offset: 0x0111f6c6, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.totalResults; }); } function value_41457(a0) { // fn#41457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2884, offset: 0x0111f6ec, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.isInitialFetchComplete; }); } function value_41459(a0) { // fn#41459, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:2981, offset: 0x0111f712, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.isIndexing; }); } function value_41461(a0) { // fn#41461, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3076, offset: 0x0111f738, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.isHistoricalIndexing; }); } function value_41463(a0) { // fn#41463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3177, offset: 0x0111f75e, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.documentsIndexed; }); } function value_41465(a0) { // fn#41465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3268, offset: 0x0111f784, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.isFetching; }); } function value_41467(a0) { // fn#41467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3348, offset: 0x0111f7aa, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.error; }); } function value_41469(a0) { // fn#41469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3426, offset: 0x0111f7cf, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.messages; }); } function value_41471(a0) { // fn#41471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3505, offset: 0x0111f7f5, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.cursor; }); } function value_41473(a0) { // fn#41473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3587, offset: 0x0111f81a, size: 27 bytes, params: 2, frame: 13 return withSearchState(a0, function(a0) { return a0.analyticsId; }); } function _fun41477(a0) { // fn#41477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3855, offset: 0x0111f85e, size: 29 bytes, params: 2, frame: 11 const value = environment.__proto__; getOrCreateSearchState(a0).handleSearchStart(); } function _fun41479(a0) { // fn#41479, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:3989, offset: 0x0111f898, size: 74 bytes, params: 2, frame: 16 var environment; let value = environment.__proto__; value = getOrCreateSearchState(a0.id); value = value.handleSearchSuccess(a0, a0.messages.map(function(a0) { var iterator = a0[Symbol.iterator](); var item2 = iterator.next(); var item = item2.value; item2 = item2.done ? undefined : iterator; var value = undefined; var value2 = item2 === value; var r2 = value2 ? value : item; if (!value2) { item2.return(); } return require(dependencyMap[8]).createMessageRecord(r2); })); value.forEach(_fun41481); } function _fun41483(a0) { // fn#41483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4282, offset: 0x0111f99f, size: 31 bytes, params: 2, frame: 11 const value = environment.__proto__; getOrCreateSearchState(a0).handleSearchIndexing(); } function _fun41485(a0) { // fn#41485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4418, offset: 0x0111f9e0, size: 42 bytes, params: 2, frame: 12 let value = environment.__proto__; value = getOrCreateSearchState(a0); value.handleSearchFailure(env0_0.error); } function _fun41487(a0) { // fn#41487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4601, offset: 0x0111fa5b, size: 94 bytes, params: 2, frame: 15 let binding = env1_12; const r5 = binding.get(a0) ?? 0; if (r5 <= 1) { binding = env1_11; binding.delete(a0); binding = env1_12; binding.delete(a0); } else { env1_12.set(a0, r5 - 1); } } function _fun41491(a0) { // fn#41491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:5134, offset: 0x0111fbc0, size: 28 bytes, params: 2, frame: 13 return a0.addReactionBatch(reactions, env0_1); } function _fun41450(a0) { // fn#41450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:1551, offset: 0x0111f485, size: 112 bytes, params: 2, frame: 13 var binding; let messageIds = env0_0.messageIds; if (!(messageIds.has(a0.id) || RelationshipStore.isBlockedOrIgnoredForMessage(a0))) { messageIds = env0_0.messageIds; messageIds.add(a0.id); binding = env0_1; binding.push(a0); binding = env0_2; binding.push(a0); } } function _fun41481(a0) { // fn#41481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4970:4122, offset: 0x0111f927, size: 90 bytes, params: 2, frame: 14 let binding = env2_11; binding.set(a0.id, a0); const r4 = env2_12.get(a0.id) ?? 0; binding = env2_12; binding.set(a0.id, r4 + 1); }