decord/source/modules/icymi/ICYMIUnreadStateStore.tsx

99 lines
3.4 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 9092
// Function ID: 9093
2026-07-29 08:29:29 +00:00
// Name: initialize
2026-08-24 06:08:38 +00:00
// Dependencies: [687, 7627, 9093, 589, 709, 2]
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 9092 (initialize)
import initializeDefault from "initialize" /* 589 */;
import setDefault from "set" /* 687 */;
import dispatcherDefault from "dispatcher" /* 709 */;
import MessageEmbedTypes from "MessageEmbedTypes" /* 7627 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
let closure_2 = 7 * setDefault.Millis.DAY;
2026-07-29 08:29:29 +00:00
let closure_3 = { readIdToTimestampMap: {} };
2026-08-24 06:08:38 +00:00
const DeviceSettingsStore = initializeDefault.DeviceSettingsStore;
2026-07-29 08:29:29 +00:00
class ICYMIUnreadStateStore extends DeviceSettingsStore {
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const prototype = ICYMIUnreadStateStore.prototype;
prototype["initialize"] = function initialize(arg0) {
let tmp = arg0;
if (null == arg0) {
let obj = { readIdToTimestampMap: null };
obj[0] = {};
const _Date = Date;
2026-08-24 06:08:38 +00:00
closure_0 = Date.now() - closure_2;
2026-07-29 08:29:29 +00:00
const _Object = Object;
const keys = Object.keys(obj.readIdToTimestampMap);
const found = keys.filter((arg0) => obj.readIdToTimestampMap[arg0] < closure_0);
tmp = found[Symbol.iterator]();
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { readIdToTimestampMap: tmp.readIdToTimestampMap };
};
prototype["getReadTimestamp"] = function getReadTimestamp(id) {
return closure_3.readIdToTimestampMap[id];
};
prototype["getState"] = function getState() {
return closure_3;
};
prototype["getUserAgnosticState"] = function getUserAgnosticState() {
return closure_3;
};
ICYMIUnreadStateStore.displayName = "ICYMIUnreadStateStore";
ICYMIUnreadStateStore.persistKey = "ICYMIUnreadStateStore";
2026-08-24 06:08:38 +00:00
const iCYMIUnreadStateStore = new ICYMIUnreadStateStore(dispatcherDefault, {
2026-07-20 16:05:17 +00:00
ICYMI_ACK_ITEMS: function handleTabAck(arg0) {
2026-07-23 10:11:24 +00:00
({ items, override: require } = arg0);
2026-07-20 16:05:17 +00:00
const item = items.forEach((id) => {
let tmp = null != id;
if (tmp) {
2026-08-24 06:08:38 +00:00
tmp = null == closure_1_3.readIdToTimestampMap[id.id] || closure_0;
const tmp3 = null == closure_1_3.readIdToTimestampMap[id.id] || closure_0;
2026-07-20 16:05:17 +00:00
}
if (tmp) {
2026-08-24 06:08:38 +00:00
closure_1_3.readIdToTimestampMap[id.id] = id.timestamp;
2026-07-20 16:05:17 +00:00
}
});
},
2026-07-29 08:29:29 +00:00
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;
let tmp4 = dependencyMap;
2026-08-24 06:08:38 +00:00
if (nextResult.type === MessageEmbedTypes.ICYMIItemTypes.MESSAGE) {
2026-07-29 08:29:29 +00:00
let tmp11 = closure_3;
let tmp12 = nextResult;
let result = null != closure_3.readIdToTimestampMap[tmp2.id];
if (!result) {
let tmp5 = nextResult;
let message_context = tmp2.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
result = null != prop;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (!result) {
2026-08-24 06:08:38 +00:00
let tmp3Result = tmp3(9093);
2026-07-29 08:29:29 +00:00
let tmp8 = nextResult;
result = tmp3Result.isItemUnreadInChannel(tmp2.data.channel_id, tmp2.data.message_id);
}
if (!result) {
let tmp9 = closure_3;
let tmp10 = nextResult;
closure_3.readIdToTimestampMap[tmp2.id] = 0;
}
}
continue;
2026-07-20 16:05:17 +00:00
}
},
CLEAR_ICYMI_READ_STATES: function handleClearReadStates() {
2026-07-29 08:29:29 +00:00
closure_3.readIdToTimestampMap = {};
2026-07-20 16:05:17 +00:00
}
});
2026-08-24 06:08:38 +00:00
let result = require("set").fileFinishedImporting("modules/icymi/ICYMIUnreadStateStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default iCYMIUnreadStateStore;