296 lines
7.7 KiB
TypeScript
296 lines
7.7 KiB
TypeScript
// 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);
|
|
}
|