// Module ID: 6064 // Function ID: 6065 // Name: updateState // Dependencies: [1376, 3827, 1882, 1372, 4407, 1235, 676, 12, 11, 4409, 589, 709, 2] // Module 6064 (updateState) import createChannelRecord from "createChannelRecord"; import hasFlag from "hasFlag"; import createdAt from "createdAt"; import ensureGuildLoaded from "ensureGuildLoaded"; import reinjectEphemerals from "reinjectEphemerals"; import { MAX_THREAD_MESSAGE_COUNT } from "AbortCodes"; import { MessageTypes } from "ME"; import { Store } from "initialize"; import set from "createdAt"; let c3; let c4; function updateState(type) { let messageCount; if (set.has(type.type)) { if (!(type.id in dependencyMap)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = type); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[type.id] = obj; const tmp2 = dependencyMap; } let num = dependencyMap2[tmp5.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[type.id].parentId] = num + 1; arg1(dependencyMap[type.id]); } } function updateFromGuild(threads) { threads = threads.threads; if (threads != null) { const item = threads.forEach(updateFromThread); } const threadMessages = threads.threadMessages; if (threadMessages != null) { const item1 = threadMessages.forEach(updateFromThreadMessages); } } function updateFromThreadMessages(type) { let messageCount; let closure_0 = type; if (type.type !== MessageTypes.THREAD_STARTER_MESSAGE) { const channel = store.getChannel(type.channel_id); if (null != channel) { if (set.has(channel.type)) { if (!(channel.id in dependencyMap)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[channel.id] = obj; const tmp2 = dependencyMap; } let num = dependencyMap2[tmp4.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[channel.id].parentId] = num + 1; ((arg0) => { arg0.mostRecentRawMessage = closure_0; arg0.mostRecentMessage = null; })(dependencyMap[channel.id]); } } } } function updateFromThread(type) { let messageCount; let closure_0 = type; if (set.has(type.type)) { if (!(type.id in dependencyMap)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = type); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[type.id] = obj; const tmp2 = dependencyMap; } let num = dependencyMap2[tmp5.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[type.id].parentId] = num + 1; ((mostRecentRawMessage) => { if (null != channel.messageCount) { mostRecentRawMessage.count = tmp.messageCount; } let mostRecentMessage = mostRecentRawMessage.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = mostRecentRawMessage.mostRecentMessage; } let tmp2 = null != tmp.lastMessageId; if (tmp2) { let id; if (mostRecentMessage != null) { id = mostRecentMessage.id; } tmp2 = id !== tmp.lastMessageId; } if (tmp2) { mostRecentRawMessage.mostRecentRawMessage = null; mostRecentRawMessage.mostRecentMessage = null; } })(dependencyMap[type.id]); } } function updateFromServerThread(id) { let messageCount; if (null != id) { if (!(id.id in dependencyMap)) { const channel = store.getChannel(id.id); if (null != channel) { if (set.has(channel.type)) { if (!(channel.id in dependencyMap)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[channel.id] = obj; const tmp4 = dependencyMap; } let num = dependencyMap2[tmp6.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[channel.id].parentId] = num + 1; ((mostRecentRawMessage) => { if (null != channel.messageCount) { mostRecentRawMessage.count = tmp.messageCount; } let mostRecentMessage = mostRecentRawMessage.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = mostRecentRawMessage.mostRecentMessage; } let tmp2 = null != tmp.lastMessageId; if (tmp2) { let id; if (mostRecentMessage != null) { id = mostRecentMessage.id; } tmp2 = id !== tmp.lastMessageId; } if (tmp2) { mostRecentRawMessage.mostRecentRawMessage = null; mostRecentRawMessage.mostRecentMessage = null; } })(dependencyMap[channel.id]); } return true; } } } return false; } function handleThreadCreateOrUpdate(channel) { let messageCount; channel = channel.channel; if (set.has(channel.type)) { if (!(channel.id in dependencyMap)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[channel.id] = obj; const tmp2 = dependencyMap; } let num = dependencyMap2[tmp5.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[channel.id].parentId] = num + 1; ((mostRecentRawMessage) => { if (null != channel.messageCount) { mostRecentRawMessage.count = tmp.messageCount; } let mostRecentMessage = mostRecentRawMessage.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = mostRecentRawMessage.mostRecentMessage; } let tmp2 = null != tmp.lastMessageId; if (tmp2) { let id; if (mostRecentMessage != null) { id = mostRecentMessage.id; } tmp2 = id !== tmp.lastMessageId; } if (tmp2) { mostRecentRawMessage.mostRecentRawMessage = null; mostRecentRawMessage.mostRecentMessage = null; } })(dependencyMap[channel.id]); } } function handleLoadArchivedThreadsSuccess(threads) { threads = threads.threads; const item = threads.forEach(updateFromServerThread); } function handleSearchMessagesSuccess(data) { data = data.data; let item = data.forEach((arg0) => { let messages; let threads; ({ messages, threads } = arg0); let item = messages.forEach((arr) => { const item = arr.forEach((thread) => { let messageCount; thread = thread.thread; if (null != thread) { if (!(thread.id in table)) { channel = channel.getChannel(thread.id); if (null != channel) { if (set.has(channel.type)) { if (!(channel.id in table)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; table[channel.id] = obj; const tmp4 = table; } let num = table2[tmp6.parentId]; if (num == null) { num = 0; } table2[table[channel.id].parentId] = num + 1; ((mostRecentRawMessage) => { if (null != channel.messageCount) { mostRecentRawMessage.count = tmp.messageCount; } let mostRecentMessage = mostRecentRawMessage.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = mostRecentRawMessage.mostRecentMessage; } let tmp2 = null != tmp.lastMessageId; if (tmp2) { let id; if (mostRecentMessage != null) { id = mostRecentMessage.id; } tmp2 = id !== tmp.lastMessageId; } if (tmp2) { mostRecentRawMessage.mostRecentRawMessage = null; mostRecentRawMessage.mostRecentMessage = null; } })(table[channel.id]); } } } } }); }); const item1 = threads.forEach(closure_18); }); } function handleRelationshipUpdate() { for (const key10003 in closure_12) { let tmp3 = key10003; let tmp4 = dependencyMap; let tmp5 = dependencyMap[key10003]; if (null == tmp5) { continue; } else { if (null == tmp5.mostRecentMessage) { continue; } else { let tmp = store2; let message = store2.getMessage(key10003, tmp5.mostRecentMessage.id); if (null == message) { continue; } else { tmp5.mostRecentMessage = message; continue; } continue; } continue; } continue; } } ({ ALL_CHANNEL_TYPES: c3, THREAD_CHANNEL_TYPES: c4 } = createChannelRecord); let set = new Set(); let closure_12 = {}; let closure_13 = {}; class ThreadMessageStore extends Store { } const prototype = ThreadMessageStore.prototype; prototype["initialize"] = function initialize() { this.waitFor(ensureGuildLoaded, reinjectEphemerals); }; prototype["getCount"] = function getCount(arg0) { let count; if (dependencyMap[arg0] != null) { count = tmp.count; } if (count == null) { count = null; } return count; }; prototype["getMostRecentMessage"] = function getMostRecentMessage(id) { let tmp2 = null; if (null != dependencyMap[id]) { if (tmp3) { let message = store2.getMessage(id, tmp.mostRecentRawMessage.id); if (message == null) { message = require(4409) /* createMinimalMessageRecord */.createMessageRecord(tmp.mostRecentRawMessage); const obj = require(4409) /* createMinimalMessageRecord */; } tmp.mostRecentMessage = message; tmp.mostRecentRawMessage = null; } let mostRecentMessage = tmp.mostRecentMessage; if (mostRecentMessage == null) { mostRecentMessage = null; } tmp2 = mostRecentMessage; tmp3 = null == tmp.mostRecentMessage && null != tmp.mostRecentRawMessage; } return tmp2; }; prototype["getChannelThreadsVersion"] = function getChannelThreadsVersion(memo1) { return dependencyMap2[memo1]; }; prototype["getInitialOverlayState"] = function getInitialOverlayState() { return closure_12; }; ThreadMessageStore.displayName = "ThreadMessageStore"; const threadMessageStore = new ThreadMessageStore(require("dispatcher"), { CONNECTION_OPEN: function handleConnectionOpen(guilds) { let closure_13 = {}; set.clear(); guilds = guilds.guilds; const item = guilds.forEach(updateFromGuild); }, OVERLAY_INITIALIZE: function handleOverlayInitialize(threadMessages) { threadMessages = threadMessages.threadMessages; let obj = {}; const merged = Object.assign(threadMessages); for (const key10009 in obj) { let tmp16 = key10009; let mostRecentMessage = threadMessages[key10009].mostRecentMessage; if (null == mostRecentMessage) { continue; } else { let tmp2 = hasFlag; obj = {}; let tmp3 = obj; let tmp4 = mostRecentMessage; let merged1 = Object.assign(mostRecentMessage); let tmp6 = createdAt; let tmp7 = new.target; let tmp8 = new.target; let tmp9 = new createdAt(mostRecentMessage.author); let tmp10 = tmp9; obj.author = tmp9; let tmp11 = new.target; let tmp12 = new.target; let tmp13 = obj; let tmp14 = new hasFlag(obj); let tmp15 = tmp14; threadMessages[key10009].mostRecentMessage = tmp14; continue; } continue; } }, GUILD_CREATE: function handleGuildCreate(guild) { guild = guild.guild; const threads = guild.threads; if (threads != null) { const item = threads.forEach(updateFromThread); } const threadMessages = guild.threadMessages; if (threadMessages != null) { const item1 = threadMessages.forEach(updateFromThreadMessages); } }, GUILD_DELETE: function handleGuildDelete(guild) { const id = guild.guild.id; closure_12 = importDefault(12).omitBy(closure_12, (guildId) => { if (guildId.guildId === id) { const parentId = guildId.parentId; delete tmp2[tmp]; } return guildId.guildId === id; }); }, THREAD_CREATE: handleThreadCreateOrUpdate, THREAD_UPDATE: handleThreadCreateOrUpdate, THREAD_LIST_SYNC: function handleThreadListSync(arg0) { let mostRecentMessages; let threads; ({ threads, mostRecentMessages } = arg0); const item = threads.forEach(updateFromThread); if (mostRecentMessages != null) { const item1 = mostRecentMessages.forEach((channel_id) => { let messageCount; let closure_0 = channel_id; channel = channel.getChannel(channel_id.channel_id); let tmp2 = null != channel; if (tmp2) { tmp2 = channel_id.type !== constants.THREAD_STARTER_MESSAGE; } if (tmp2) { if (set.has(channel.type)) { if (!(channel.id in table)) { const obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj[0], parent_id: obj[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; table[channel.id] = obj; const tmp6 = table; } let num = table2[tmp8.parentId]; if (num == null) { num = 0; } table2[table[channel.id].parentId] = num + 1; ((arg0) => { arg0.mostRecentRawMessage = closure_0; arg0.mostRecentMessage = null; })(table[channel.id]); } } }); } }, LOAD_THREADS_SUCCESS: handleLoadArchivedThreadsSuccess, LOAD_ARCHIVED_THREADS_SUCCESS: handleLoadArchivedThreadsSuccess, RELATIONSHIP_ADD: handleRelationshipUpdate, RELATIONSHIP_UPDATE: handleRelationshipUpdate, RELATIONSHIP_REMOVE: handleRelationshipUpdate, SEARCH_MESSAGES_SUCCESS: handleSearchMessagesSuccess, MOD_VIEW_SEARCH_MESSAGES_SUCCESS: handleSearchMessagesSuccess, THREAD_DELETE: function handleThreadDelete(arg0) { delete tmp2[tmp]; }, CHANNEL_DELETE: function handleChannelDelete(channel) { const id = channel.channel.id; closure_12 = importDefault(12).omitBy(closure_12, (parentId) => parentId.parentId === id); delete tmp[tmp2]; }, MESSAGE_CREATE: function handleMessageCreate(message) { let messageCount; message = message.message; if (!message.optimistic) { if (!message.isPushNotification) { if (null == tmp) { const channel = store.getChannel(message.channel_id); let tmp4 = null == channel; if (!tmp4) { tmp4 = !set2.has(channel.type); } let tmp5 = !tmp4; if (!tmp4) { let tmp7 = message.type !== MessageTypes.THREAD_STARTER_MESSAGE; if (tmp7) { const isForumPostResult = channel.isForumPost(); let tmp9 = !isForumPostResult; if (isForumPostResult) { let obj = importDefault(11); tmp9 = message.id !== obj.castChannelIdAsMessageId(channel.id); } tmp7 = tmp9; } if (tmp7) { if (set.has(channel.type)) { if (!(channel.id in dependencyMap)) { obj = { guildId: null, parentId: null, count: null, mostRecentRawMessage: null, mostRecentMessage: null }; ({ guild_id: obj2[0], parent_id: obj2[1], messageCount } = channel); if (messageCount == null) { messageCount = 0; } obj[2] = messageCount; dependencyMap[channel.id] = obj; const tmp15 = dependencyMap; } let num = dependencyMap2[tmp17.parentId]; if (num == null) { num = 0; } dependencyMap2[dependencyMap[channel.id].parentId] = num + 1; ((count) => { count.count = Math.min(count.count + 1, outer1_9); count.mostRecentRawMessage = message; count.mostRecentMessage = null; })(dependencyMap[channel.id]); } } tmp5 = tmp12; } return tmp5; } } } return false; }, MESSAGE_UPDATE: function handleMessageUpdate(message) { message = message.message; let mostRecentRawMessage; if (dependencyMap[message.channel_id] != null) { mostRecentRawMessage = tmp.mostRecentRawMessage; } if (mostRecentRawMessage == null) { let mostRecentMessage; if (tmp != null) { mostRecentMessage = tmp.mostRecentMessage; } mostRecentRawMessage = mostRecentMessage; } if (null != dependencyMap[message.channel_id]) { if (null != mostRecentRawMessage) { if (mostRecentRawMessage.id === message.id) { let num = dependencyMap2[tmp.parentId]; if (num == null) { num = 0; } dependencyMap2[tmp.parentId] = num + 1; if (null != tmp.mostRecentMessage) { tmp.mostRecentMessage = require(4409) /* createMinimalMessageRecord */.updateMessageRecord(tmp.mostRecentMessage, message); const obj = require(4409) /* createMinimalMessageRecord */; } if (null != tmp.mostRecentRawMessage) { tmp.mostRecentRawMessage = require(4409) /* createMinimalMessageRecord */.updateServerMessage(tmp.mostRecentRawMessage, message); const obj2 = require(4409) /* createMinimalMessageRecord */; } } } } return false; }, MESSAGE_DELETE: function handleMessageDelete(arg0) { let channelId; let id; ({ id, channelId } = arg0); if (null == dependencyMap[channelId]) { return false; } else { const result = importDefault(11).castChannelIdAsMessageId(channelId); const hasItem = set.has(id); let num = dependencyMap2[tmp.parentId]; if (num == null) { num = 0; } dependencyMap2[tmp.parentId] = num + 1; let mostRecentMessage = tmp.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = tmp.mostRecentMessage; } if (tmp3) { tmp.mostRecentMessage = null; tmp.mostRecentRawMessage = null; } if (result !== id) { if (!hasItem) { const _Math = Math; let count = Math.max(tmp.count - 1, 0); } tmp.count = count; obj2.add(id); } count = tmp.count; const obj = importDefault(11); obj2 = set; tmp3 = null != mostRecentMessage && mostRecentMessage.id === id; } }, MESSAGE_DELETE_BULK: function handleMessageDeleteBulk(arg0) { let channelId; let ids; ({ ids, channelId } = arg0); if (null == dependencyMap[channelId]) { return false; } else { const length = ids.filter((arg0) => { let tmp = outer1_1(outer1_2[8]).castChannelIdAsMessageId(channelId) !== arg0; if (tmp) { tmp = !outer1_11.has(arg0); } return tmp; }).length; if (length > 0) { let num = dependencyMap2[tmp.parentId]; if (num == null) { num = 0; } dependencyMap2[tmp.parentId] = num + 1; let mostRecentMessage = tmp.mostRecentRawMessage; if (mostRecentMessage == null) { mostRecentMessage = tmp.mostRecentMessage; } if (tmp3) { tmp.mostRecentMessage = null; tmp.mostRecentRawMessage = null; } tmp.count = tmp.count - length; const item = ids.forEach((arg0) => set.add(arg0)); tmp3 = null != mostRecentMessage && ids.includes(mostRecentMessage.id); } } }, LOAD_MESSAGES_SUCCESS: function handleLoadMessagesSuccess(isAfter) { let closure_0 = isAfter; let flag = false; for (const item10007 of tmp) { let tmp2 = updateFromServerThread; let tmp3 = updateFromServerThread(item10007.thread); if (!tmp3) { tmp3 = flag; } flag = tmp3; continue; } if (!isAfter.isAfter) { if (!isAfter.isBefore) { if (!isAfter.hasMoreAfter) { const channel = store.getChannel(isAfter.channelId); if (null != channel) { if (set2.has(channel.type)) { updateState(channel, (count) => { if (0 === isAfter.messages.length) { count.mostRecentRawMessage = null; count.mostRecentMessage = null; count.count = 0; } else { let first = tmp.messages[0]; if (first == null) { first = null; } count.count = tmp.messages.length >= outer1_9 ? outer1_9 : count.count; let type; if (first != null) { type = first.type; } if (type !== outer1_10.THREAD_STARTER_MESSAGE) { count.mostRecentRawMessage = first; count.mostRecentMessage = null; } } }); } } return flag; } } } return flag; } }); let result = set.fileFinishedImporting("modules/threads/ThreadMessageStore.tsx"); export default threadMessageStore;