// Module ID: 4861 // Function ID: 4862 // Name: EphemeralMessageStore // Dependencies: [1958, 1074, 1385, 4862, 504, 573, 2] // Module 4861 (EphemeralMessageStore) import initializeDefault from "initialize" /* 504 */; import DispatcherDefault from "Dispatcher" /* 573 */; import FlagUtils from "FlagUtils" /* 1385 */; import ChannelStore from "ChannelStore" /* 1958 */; const MessageRecordUtils = tmp(4862); require = fn; function dropChannelIfEmpty(channelId, value) { if (0 === value.size) { map.delete(channelId); } } function clearAll() { if (0 === map.size) { return false; } else { obj.clear(); } obj = map; } const MessageFlags = fn(1074).MessageFlags; let closure_4 = []; let map = new Map(); const Store = initializeDefault.Store; class EphemeralMessageStore extends Store { } const prototype = EphemeralMessageStore.prototype; prototype["initialize"] = function initialize() { this.waitFor(ChannelStore); }; prototype["getMessages"] = function getMessages(arg0) { value = map.get(arg0); if (null != value) { if (0 !== value.size) { const _Array = Array; let arr = Array.from(value.values()); } return arr; } arr = closure_4; }; EphemeralMessageStore.displayName = "EphemeralMessageStore"; const ephemeralMessageStore = new EphemeralMessageStore(DispatcherDefault, { MESSAGE_CREATE: function handleMessageCreate(arg0) { ({ channelId, message } = arg0); let num = message.flags; if (num == null) { num = 0; } if (obj.hasFlag(num, MessageFlags.EPHEMERAL)) { value = map.get(channelId); if (null == value) { const _Map = Map; map = new Map(); const result = map.set(channelId, map); value = map; } const result1 = value.set(message.id, MessageRecordUtils.createMessageRecord(message)); if (value.size > 50) { const iter2 = value.keys().next(); while (true !== iter2.done) { let deleteResult = value.delete(iter2.value); if (value.size <= 50) { break; } } const iter = value.keys(); } } else { return false; } obj = FlagUtils; }, MESSAGE_UPDATE: function handleMessageUpdate(message) { message = message.message; ({ channel_id, id } = message); if (null != channel_id) { if (null != id) { value = map.get(channel_id); if (null == value) { return false; } else { value2 = value.get(id); if (null == value2) { return false; } else { const result = value.set(id, MessageRecordUtils.updateMessageRecord(value2, message)); } } } } return false; }, MESSAGE_DELETE: function handleMessageDelete(channelId) { channelId = channelId.channelId; value = map.get(channelId); if (null != value) { if (value.delete(channelId.id)) { if (0 === value.size) { map.delete(channelId); } } } return false; }, MESSAGE_DELETE_BULK: function handleMessageDeleteBulk(arg0) { ({ channelId, ids } = arg0); value = map.get(channelId); if (null == value) { return false; } else { let flag2 = false; for (const item10014 of ids) { if (value.delete(item10014)) { flag2 = true; } continue; } if (flag2) { dropChannelIfEmpty(channelId, value); } else { return false; } } }, CLEAR_MESSAGES: function handleClearMessages(channelId) { channelId = channelId.channelId; if (map.has(channelId)) { obj.delete(channelId); } else { return false; } obj = map; }, CHANNEL_DELETE: function handleChannelDelete(channel) { if (!map.delete(channel.channel.id)) { return false; } }, THREAD_DELETE: function handleThreadDelete(channel) { if (!map.delete(channel.channel.id)) { return false; } }, GUILD_DELETE: function handleGuildDelete() { if (0 === map.size) { return false; } else { let flag = false; const keys = obj.keys(); const iter = keys[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { let tmp9 = nextResult; if (null == ChannelStore.getChannel(nextResult)) { let deleteResult = map.delete(tmp9); flag = true; } continue; } return flag && undefined; } obj = map; }, CACHE_LOADED: clearAll, CONNECTION_OPEN: clearAll, OVERLAY_INITIALIZE: clearAll, LOGOUT: clearAll }); const size = fn(2); let result = size.fileFinishedImporting("modules/messages/EphemeralMessageStore.tsx"); export default ephemeralMessageStore;