/* Metro module 14849; source: modules/icymi/useICYMIItems.tsx; dependencies: [31, 9569, 7230, 566, 9580, 2] */ function _fun112218(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#112218, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15046:6, offset: 0x023bf748, size: 148 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importAll(31) /* metro dependency 31 */; const icymiStore = importDefault(9569) /* metro dependency 9569: ICYMIStore */; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/icymi/useICYMIItems.tsx'); exports.default = useICYMIItems; } function createItem(a0, a1, a2) { // fn#112219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15046:120, offset: 0x023bf7dc, size: 833 bytes, params: 4, frame: 17 var r0; var object2; var id; var JSON; var message; var data; var object3; const type = a1.type; const ICYMIItemTypes = (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (MESSAGE === type) { message = a1.message; id = message.id; message = a1.message; if (id !== message.channel_id) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); data = a0.data; object2.channelType = data.channel_type; object3 = {kind: 'message'}; object3.message = a1.message; data = a0.data; object3.mentioned = data.has_mention; data = a0.data; object3.messageContext = data.message_context; object2.data = object3; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; r0 = object2; } else if (a1.threadChannel != null) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); object2.channelType = a0.data.channel_type; object2.data = {kind: 'forumThread', message: a1.message, threadChannel: a1.threadChannel}; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; r0 = object2; } else { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); data = a0.data; object2.channelType = data.channel_type; object3 = {kind: 'message'}; object3.message = a1.message; data = a0.data; object3.mentioned = data.has_mention; data = a0.data; object3.messageContext = data.message_context; object2.data = object3; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; r0 = object2; } return r0; } const ACTIVITY = ICYMIItemTypes.ACTIVITY; if (ACTIVITY === type) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); object2.data = {kind: 'contentInventory', content: a1.activity}; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; return object2; } const CUSTOM_STATUS = ICYMIItemTypes.CUSTOM_STATUS; if (CUSTOM_STATUS === type) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); object2.data = {kind: 'contentInventory', content: a1.activity}; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; return object2; } const GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; if (GUILD_EVENT === type) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); object2.data = {kind: 'guildEvent', eventId: a1.event_id}; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; return object2; } const RECOMMENDED_GUILDS = ICYMIItemTypes.RECOMMENDED_GUILDS; if (RECOMMENDED_GUILDS === type) { object2 = {}; object2.id = a0.id; object2.timestamp = global.Date.now(); object2.data = {kind: 'recommendedGuilds'}; object2.score = a0.score; JSON = global.JSON; object2.debugScore = JSON.stringify(a0.score_components); object2.unread = a2; return object2; } return null; } function useICYMIItems() { // fn#112220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15046:1415, offset: 0x023bfb1d, size: 778 bytes, params: 1, frame: 38 var r8; var r18; var r0; var reference_message_id; var r23; var r9; var r12; var r20; var property; var value5; var id; var property2; var value6; var type; const ICYMIItemTypes = (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes; var MESSAGE; var value7; var data; var message_context; var value8; var message_id; var property3; var item; var value9; var value10; var property4; var value11; var value12; var value13; var property5; var item2; var value14; const value2 = undefined; const unreadDisplayItems = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.getUnreadDisplayItems(); }); const readDisplayItems = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.getReadDisplayItems(); }); const nextIndexToHydrate = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.getNextIndexToHydrate(); }); const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ICYMIStore], function() { return ICYMIStore.getHydratedItems(); }); const missingItems = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.getMissingItems(); }); env0_3.useEffect(_fun112226, [readDisplayItems]); items3 = []; const items2 = []; let length = unreadDisplayItems.length; const value4 = 0; if (value4 < length) { r8 = value4; r18 = value4; while (true) { if (r18 >= nextIndexToHydrate) { r9 = r18; break; } property = unreadDisplayItems[r8]; value5 = typeof r18 === 'bigint' ? r18 + 1n : +r18 + 1; id = property.id; if (missingItems[id]) { continue; } id = property.id; property2 = value3[id]; value6 = property2 == null; if (!value6) { r0 = value6; continue; } type = property.type; MESSAGE = ICYMIItemTypes.MESSAGE; value7 = type === MESSAGE; r0 = value7; if (!r0) { continue; } data = property.data; message_context = data.message_context; if (message_context == null) { reference_message_id = value2; continue; } reference_message_id = message_context.reference_message_id; value8 = reference_message_id != null; r0 = value8; if (!r0) { r23 = property2; continue; } data = property.data; message_id = data.message_id; property3 = value3[message_id]; r23 = property3; if (r23 == null) { continue; } item = createItem(property, r23, true); if (item == null) { continue; } items3.push(item); value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; length = unreadDisplayItems.length; if (value9 < length) { r8 = value9; r18 = value5; continue; } r9 = value5; break; } } else { r9 = value4; } length = readDisplayItems.length; if (value4 < length) { r12 = value4; while (true) { if (r9 >= nextIndexToHydrate) { break; } property = readDisplayItems[r12]; value10 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1; id = property.id; if (missingItems[id]) { continue; } id = property.id; property4 = value3[id]; value11 = property4 == null; if (!value11) { r0 = value11; continue; } type = property.type; MESSAGE = ICYMIItemTypes.MESSAGE; value12 = type === MESSAGE; r0 = value12; if (!r0) { continue; } data = property.data; message_context = data.message_context; if (message_context == null) { reference_message_id = value2; continue; } reference_message_id = message_context.reference_message_id; value13 = reference_message_id != null; r0 = value13; if (!r0) { r20 = property4; continue; } data = property.data; message_id = data.message_id; property5 = value3[message_id]; r20 = property5; if (r20 == null) { continue; } item2 = createItem(property, r20, false); if (item2 == null) { continue; } items2.push(item2); value14 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; length = readDisplayItems.length; if (value14 < length) { r9 = value10; r12 = value14; continue; } break; } } return {unreadItems: items3, readItems: items2, allUnreadItemsHydrated: nextIndexToHydrate >= unreadDisplayItems.length}; } function _fun112226() { // fn#112226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15046:1780, offset: 0x023bfe88, size: 97 bytes, params: 1, frame: 16 var environment; const Date = global.Date; let value = Date.now(); const readDisplayItemsBinding = readDisplayItems; const env0_0 = value + readDisplayItemsBinding.length; value = environment.__proto__; value = importDefault(9580) /* metro dependency 9580: ICYMIActionCreators */; value.ackGravityItems(readDisplayItemsBinding.map(_fun112227, true)); } function _fun112227({id}) { // fn#112227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15046:1844, offset: 0x023bfee9, size: 38 bytes, params: 2, frame: 4 const binding = env0_0; const value2 = typeof binding === 'bigint' ? binding : +binding; env0_0 = typeof value2 === 'bigint' ? value2 - 1n : +value2 - 1; return {id: id, timestamp: value2}; }