decord/stable/source/modules/icymi/ICYMIUnreadStateStore.tsx
2026-10-06 22:12:49 +00:00

92 lines
3.1 KiB
TypeScript

// Module ID: 7801
// Function ID: 7802
// Name: ICYMIUnreadStateStore
// Dependencies: [1103, 7800, 7802, 504, 585, 2]
// Module 7801 (ICYMIUnreadStateStore)
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 585 */;
import DurationsDefault from "Durations" /* 1103 */;
import ICYMITypes from "ICYMITypes" /* 7800 */;
import size from "module_2" /* 2 */;
let closure_2 = 7 * DurationsDefault.Millis.DAY;
const _false = { readIdToTimestampMap: {} };
const DeviceSettingsStore = get_initializedDefault.DeviceSettingsStore;
class ICYMIUnreadStateStore extends DeviceSettingsStore {
initialize(readIdToTimestampMap) {
if (null != readIdToTimestampMap) {
readIdToTimestampMap = { readIdToTimestampMap: {} };
const _Date = Date;
let closure_0 = Date.now() - closure_2;
const _Object = Object;
const keys = Object.keys(readIdToTimestampMap.readIdToTimestampMap);
const found = keys.filter((item) => readIdToTimestampMap.readIdToTimestampMap[item] < closure_0);
for (const item10025 of found) {
delete readIdToTimestampMap.readIdToTimestampMap[item10025];
continue;
}
}
}
getReadTimestamp(id) {
return closure_3.readIdToTimestampMap[id];
}
getState() {
return closure_3;
}
getUserAgnosticState() {
return closure_3;
}
}
const prototype = ICYMIUnreadStateStore.prototype;
ICYMIUnreadStateStore.displayName = "ICYMIUnreadStateStore";
ICYMIUnreadStateStore.persistKey = "ICYMIUnreadStateStore";
const obj = {
ICYMI_ACK_ITEMS: function handleTabAck(arg0) {
let items;
({ items, override: require } = arg0);
const item = items.forEach((id) => {
let tmp = null != id;
if (tmp) {
tmp = null == closure_3.readIdToTimestampMap[id.id] || require;
}
if (tmp) {
closure_3.readIdToTimestampMap[id.id] = id.timestamp;
}
});
},
LOAD_ICYMI_DEHYDRATED: function handleLoadDehydrated(arg0) {
const iter = arg0.items[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
let tmp3 = require;
if (nextResult.type === ICYMITypes.ICYMIItemTypes.MESSAGE) {
let result = null != closure_3.readIdToTimestampMap[tmp2.id];
if (!result) {
let message_context = tmp2.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
}
result = null != prop;
}
if (!result) {
let tmp3Result = tmp3(7802);
result = tmp3Result.isItemUnreadInChannel(tmp2.data.channel_id, tmp2.data.message_id);
}
if (!result) {
closure_3.readIdToTimestampMap[tmp2.id] = 0;
}
}
continue;
}
},
CLEAR_ICYMI_READ_STATES: function handleClearReadStates() {
closure_3.readIdToTimestampMap = {};
}
};
const iCYMIUnreadStateStore = new ICYMIUnreadStateStore(DispatcherDefault, obj);
let result = size.fileFinishedImporting("modules/icymi/ICYMIUnreadStateStore.tsx");
export default iCYMIUnreadStateStore;