decord/alpha/source/modules/messages/EphemeralMessageStore.tsx

202 lines
5.1 KiB
TypeScript
Raw Normal View History

2026-10-09 10:00:15 +00:00
// Module ID: 5430
// Function ID: 5431
// Name: EphemeralMessageStore
2026-10-09 10:00:15 +00:00
// Dependencies: [2064, 1085, 1403, 5431, 504, 584, 2]
2026-07-20 16:05:17 +00:00
2026-10-09 10:00:15 +00:00
// Module 5430 (EphemeralMessageStore)
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import Constants from "Constants" /* 1085 */;
2026-10-09 10:00:15 +00:00
import FlagUtils from "FlagUtils" /* 1403 */;
import ChannelStore from "ChannelStore" /* 2064 */;
2026-10-03 08:58:59 +00:00
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let set;
let tmp;
2026-10-09 10:00:15 +00:00
const MessageRecordUtils = tmp(5431);
2026-07-20 16:05:17 +00:00
function dropChannelIfEmpty(channelId, value) {
if (0 === value.size) {
map.delete(channelId);
}
}
function clearAll() {
2026-10-03 08:58:59 +00:00
const obj = map;
2026-07-20 16:05:17 +00:00
if (0 === map.size) {
return false;
} else {
2026-07-29 08:29:29 +00:00
obj.clear();
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
const MessageFlags = Constants.MessageFlags;
2026-07-29 08:29:29 +00:00
let closure_4 = [];
2026-07-23 10:11:24 +00:00
let map = new Map();
2026-10-03 08:58:59 +00:00
const Store = get_initializedDefault.Store;
2026-07-29 08:29:29 +00:00
class EphemeralMessageStore extends Store {
2026-10-03 08:58:59 +00:00
initialize() {
this.waitFor(ChannelStore);
}
getMessages(arg0) {
const value = map.get(arg0);
if (null != value) {
let arr;
if (0 !== value.size) {
const _Array = Array;
arr = Array.from(value.values());
}
return arr;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
arr = closure_4;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
}
const prototype = EphemeralMessageStore.prototype;
2026-07-29 08:29:29 +00:00
EphemeralMessageStore.displayName = "EphemeralMessageStore";
2026-10-03 08:58:59 +00:00
let obj = {
2026-07-20 16:05:17 +00:00
MESSAGE_CREATE: function handleMessageCreate(arg0) {
2026-10-03 08:58:59 +00:00
let channelId;
let message;
2026-07-20 16:05:17 +00:00
({ channelId, message } = arg0);
2026-07-29 08:29:29 +00:00
let num = message.flags;
2026-10-03 08:58:59 +00:00
const hasFlag = FlagUtils.hasFlag;
FlagUtils;
2026-07-29 08:29:29 +00:00
if (num == null) {
num = 0;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if (hasFlag(num, MessageFlags.EPHEMERAL)) {
let value = map.get(channelId);
const obj = map;
2026-07-20 16:05:17 +00:00
if (null == value) {
const _Map = Map;
2026-10-03 08:58:59 +00:00
const self = this;
const self2 = this;
2026-07-23 10:11:24 +00:00
map = new Map();
2026-10-03 08:58:59 +00:00
const result = obj.set(channelId, map);
2026-07-20 16:05:17 +00:00
value = map;
}
2026-10-03 08:58:59 +00:00
const id = message.id;
set = value.set;
const tmpResult = MessageRecordUtils;
const result1 = set(id, tmpResult.createMessageRecord(message));
2026-07-20 16:05:17 +00:00
if (value.size > 50) {
2026-10-03 08:58:59 +00:00
const iter = value.keys();
const iter2 = iter.next();
2026-07-20 16:05:17 +00:00
while (true !== iter2.done) {
let deleteResult = value.delete(iter2.value);
if (value.size <= 50) {
break;
}
}
}
} else {
return false;
}
},
MESSAGE_UPDATE: function handleMessageUpdate(message) {
2026-10-03 08:58:59 +00:00
let channel_id;
let id;
2026-07-20 16:05:17 +00:00
message = message.message;
({ channel_id, id } = message);
if (null != channel_id) {
if (null != id) {
2026-10-03 08:58:59 +00:00
const value = map.get(channel_id);
2026-07-20 16:05:17 +00:00
if (null == value) {
return false;
} else {
2026-10-03 08:58:59 +00:00
const value2 = value.get(id);
if (null == value2) {
2026-07-20 16:05:17 +00:00
return false;
} else {
2026-10-03 08:58:59 +00:00
set = value.set;
const obj2 = MessageRecordUtils;
const result = set(id, obj2.updateMessageRecord(value2, message));
2026-07-20 16:05:17 +00:00
}
}
}
}
return false;
},
MESSAGE_DELETE: function handleMessageDelete(channelId) {
channelId = channelId.channelId;
2026-10-03 08:58:59 +00:00
const id = channelId.id;
const value = map.get(channelId);
const obj = map;
2026-07-20 16:05:17 +00:00
if (null != value) {
2026-10-03 08:58:59 +00:00
if (value.delete(id)) {
2026-07-29 08:29:29 +00:00
if (0 === value.size) {
2026-10-03 08:58:59 +00:00
obj.delete(channelId);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
}
}
return false;
},
2026-07-29 08:29:29 +00:00
MESSAGE_DELETE_BULK: function handleMessageDeleteBulk(arg0) {
2026-10-03 08:58:59 +00:00
let channelId;
let ids;
2026-07-29 08:29:29 +00:00
({ channelId, ids } = arg0);
2026-10-03 08:58:59 +00:00
const value = map.get(channelId);
2026-07-20 16:05:17 +00:00
if (null == value) {
return false;
} else {
let flag2 = false;
2026-07-29 08:29:29 +00:00
for (const item10014 of ids) {
if (value.delete(item10014)) {
flag2 = true;
}
continue;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (flag2) {
2026-07-20 16:05:17 +00:00
dropChannelIfEmpty(channelId, value);
} else {
return false;
}
}
},
CLEAR_MESSAGES: function handleClearMessages(channelId) {
channelId = channelId.channelId;
2026-10-03 08:58:59 +00:00
const obj = map;
2026-07-20 16:05:17 +00:00
if (map.has(channelId)) {
2026-07-29 08:29:29 +00:00
obj.delete(channelId);
2026-07-20 16:05:17 +00:00
} else {
return false;
}
},
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() {
2026-10-03 08:58:59 +00:00
const obj = map;
2026-07-20 16:05:17 +00:00
if (0 === map.size) {
return false;
} else {
let flag = false;
2026-07-29 08:29:29 +00:00
const keys = obj.keys();
const iter = keys[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp9 = nextResult;
if (null == ChannelStore.getChannel(nextResult)) {
2026-07-29 08:29:29 +00:00
let deleteResult = map.delete(tmp9);
flag = true;
}
continue;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return flag && undefined;
2026-07-20 16:05:17 +00:00
}
},
CACHE_LOADED: clearAll,
CONNECTION_OPEN: clearAll,
OVERLAY_INITIALIZE: clearAll,
LOGOUT: clearAll
2026-10-03 08:58:59 +00:00
};
const ephemeralMessageStore = new EphemeralMessageStore(DispatcherDefault, obj);
let result = size.fileFinishedImporting("modules/messages/EphemeralMessageStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default ephemeralMessageStore;