// Metro module 9553 (f9554). import UserStore from "../../stores/UserStore"; import { SecondaryIndexMap } from "../../_bundle/Module3813"; import { SavedMessageSortTypes } from "./SavedMessagesTypes"; import { updateMessageRecord } from "../messages/MessageRecordUtils"; import Module589 from "../../_bundle/Module589"; import Dispatcher from "../../Dispatcher"; let c6299_3, c6299_5, c6299_6, c6299_7, c6299_8, c6299_9, c6299_10, isChannelRelevant, upsertSavedMessage, nullifyMessageObject; const getTimeSafe = function getTimeSafe(a0) { let time; if (a0 == null) { return c6299_3; } try { time = new Date(a0).getTime(); } catch ($e) { throw new Error(`Invalid date given (${a0})`); } return time; }; isChannelRelevant = function isChannelRelevant(id) { const r7 = c6299_10.get(id); return r7 != null && r7.size > 0; }; upsertSavedMessage = function upsertSavedMessage(a0) { const saveData = a0.saveData; const r16 = `${saveData.channelId}-${saveData.messageId}`; if (c6299_5.get(r16) == null) { c6299_7 = Date.now(); } c6299_5.set(r16, a0); const messageId = a0.saveData.messageId; const channelId = a0.saveData.channelId; let r31 = c6299_10.get(channelId); if (r31 == null) { r31 = new Set(); } r31.add(messageId); c6299_10.set(channelId, r31); if (a0.message == null) { c6299_9.add(messageId); } if (a0.saveData.dueAt != null && new Date() > a0.saveData.dueAt) { c6299_8.add(messageId); } else { c6299_8.delete(messageId); } }; nullifyMessageObject = function nullifyMessageObject(a0) { const r13 = `${a0.channelId}-${a0.messageId}`; const r17 = c6299_5.get(r13); if (r17?.message == null) { return false; } c6299_5.set(r13, { ...r17, message: null }); return true; }; const handleGuild = function handleGuild() { let r1 = c6299_9.size !== 0; if (r1) { const r3 = c6299_6; let r2 = !r3; if (!r3) { c6299_6 = true; r2 = void 0; } r1 = r2; } return r1; }; c6299_3 = 10000000000000; c6299_5 = new SecondaryIndexMap((a0) => [SavedMessageSortTypes.ALL, a0.saveData.dueAt != null ? SavedMessageSortTypes.REMINDER : SavedMessageSortTypes.BOOKMARK], ({ saveData }) => saveData.dueAt != null ? getTimeSafe(saveData.dueAt) : c6299_3 - getTimeSafe(saveData.savedAt)); c6299_6 = true; c6299_7 = 0; c6299_8 = new Set(); c6299_9 = new Set(); c6299_10 = new Map(); class SavedMessagesStore extends Module589.Store { static displayName = "SavedMessagesStore"; initialize() { this.waitFor(UserStore); } getSavedMessages() { return c6299_5.values(SavedMessageSortTypes.ALL); } getSavedMessage(a0, a1) { return c6299_5.get(`${a0}-${a1}`); } getMessageBookmarks() { return c6299_5.values(SavedMessageSortTypes.BOOKMARK); } getMessageReminders() { return c6299_5.values(SavedMessageSortTypes.REMINDER); } getOverdueMessageReminderCount() { return c6299_8.size; } hasOverdueReminder() { return c6299_8.size > 0; } getMostRecentOverdueDueAt() { const r4 = Date.now(); let r22 = 0; for (const item of c6299_5.values(SavedMessageSortTypes.REMINDER)) { const timeSafe = getTimeSafe(item.saveData.dueAt); if (!(timeSafe > r4)) { r22 = timeSafe; continue; } break; } return r22; } getSavedMessageCount() { return c6299_5.size(); } getIsStale() { return c6299_6; } getLastChanged() { return c6299_7; } isMessageBookmarked(a0, a1) { const r13 = c6299_5.get(`${a0}-${a1}`); return r13 != null && r13.saveData.dueAt == null; } isMessageReminder(a0, a1) { const r13 = c6299_5.get(`${a0}-${a1}`); return r13 != null && r13.saveData.dueAt != null; } } const savedMessagesStore = new SavedMessagesStore(Dispatcher, { POST_CONNECTION_OPEN: function handlePostConnectionOpen() { c6299_6 = true; }, LOGOUT: function handleLogout() { c6299_6 = true; c6299_5.clear(); c6299_10.clear(); c6299_9.clear(); }, SAVED_MESSAGES_UPDATE: function handleUpdate({ savedMessages }) { c6299_6 = false; c6299_5.clear(); c6299_10.clear(); c6299_9.clear(); for (const item of savedMessages) { upsertSavedMessage(item); } }, SAVED_MESSAGE_CREATE: function handleCreate(a0) { upsertSavedMessage(a0.savedMessage); }, SAVED_MESSAGE_DELETE: function handleDelete({ savedMessageData }) { const r13 = `${savedMessageData.channelId}-${savedMessageData.messageId}`; const r16 = c6299_5.get(r13); const r2 = r16 == null; let r0 = false; if (!r2) { c6299_5.delete(r13); const messageId = savedMessageData.messageId; const r24 = c6299_10.get(r16.saveData.channelId); if (r24 != null) { r24.delete(messageId); } c6299_9.delete(messageId); c6299_8.delete(messageId); c6299_7 = Date.now(); r0 = void 0; } return r0; }, MESSAGE_DELETE: function handleMessageDelete(a0) { const r14 = `${a0.channelId}-${a0.id}`; const r18 = c6299_5.get(r14); const r2 = r18?.message == null; let r20 = false; if (!r2) { c6299_5.set(r14, { ...r18, message: null }); r20 = true; } return r20; }, MESSAGE_DELETE_BULK: function handleMessageDeleteBulk({ ids, channelId }) { for (const item of ids) { nullifyMessageObject({ messageId: item, channelId }); } }, MESSAGE_UPDATE: function handleMessageUpdate({ message }) { if (message.id != null && message.channel_id != null) { const r18 = `${message.channel_id}-${message.id}`; const r21 = c6299_5.get(r18); if (r21?.message == null) { return false; } c6299_5.set(r18, { ...r21, message: updateMessageRecord(r21.message, message) }); return void 0; } return false; }, GUILD_CREATE: handleGuild, GUILD_UPDATE: handleGuild, GUILD_DELETE: handleGuild, CHANNEL_CREATE: function handleChannelCreate({ channel }) { let r2 = c6299_9.size !== 0; if (r2) { const r1 = c6299_6; let r3 = !r1; if (!r1) { const r13 = c6299_10.get(channel.id); let r18 = !!(r13 != null && r13.size > 0); if (r18) { c6299_6 = true; r18 = void 0; } r3 = r18; } r2 = r3; } return r2; }, CHANNEL_UPDATES: function handleChannelUpdates({ channels }) { if (c6299_9.size === 0) { return false; } if (c6299_6) { return false; } let r24 = false; for (const item of channels) { if (isChannelRelevant(item.id)) { c6299_6 = true; r24 = true; } } return r24; }, CHANNEL_DELETE: function handleChannelDelete({ channel }) { let r2 = c6299_9.size !== 0; if (r2) { const r1 = c6299_6; let r3 = !r1; if (!r1) { const r13 = c6299_10.get(channel.id); let r18 = !!(r13 != null && r13.size > 0); if (r18) { c6299_6 = true; r18 = void 0; } r3 = r18; } r2 = r3; } return r2; }, GUILD_MEMBER_UPDATE: function handleGuildMemberUpdate({ user }) { let r2 = c6299_9.size !== 0; if (r2) { const r1 = c6299_6; let r3 = !r1; if (!r1) { let r18 = user.id === UserStore.getCurrentUser()?.id; if (r18) { c6299_6 = true; r18 = void 0; } r3 = r18; } r2 = r3; } return r2; }, GUILD_ROLE_CREATE: handleGuild, GUILD_ROLE_UPDATE: handleGuild, GUILD_ROLE_DELETE: handleGuild, MESSAGE_REMINDER_DUE: function handleMessageReminderDue(a0) { c6299_8.add(a0.savedMessage.saveData.messageId); } }); export default savedMessagesStore; export function getComparator(a0) { return a0.dueAt != null ? getTimeSafe(a0.dueAt) : c6299_3 - getTimeSafe(a0.savedAt); }