decord/source/modules/messages/EphemeralMessageStore.tsx
github-actions f0f877e8ce chore: update source for alpha 347.1
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4824.js (118.4 MB)
2026-09-15 14:23:42 +00:00

179 lines
4.7 KiB
TypeScript

// 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;