decord/source/stores/GuildAvailabilityStore.tsx

99 lines
3 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 4743
// Function ID: 4744
2026-07-29 08:29:29 +00:00
// Name: handleConnectionOpen
2026-08-11 06:20:06 +00:00
// Dependencies: [1910, 3, 589, 709, 2]
2026-07-23 10:11:24 +00:00
2026-08-25 06:04:03 +00:00
// Module 4743 (handleConnectionOpen)
2026-08-24 06:08:38 +00:00
import timestampDefault from "timestamp" /* 3 */;
import initializeDefault from "initialize" /* 589 */;
import dispatcherDefault from "dispatcher" /* 709 */;
import closure_0 from "createGuildRecordFromRust" /* 1910 */;
import set from "set" /* 2 */;
2026-07-20 16:05:17 +00:00
function handleConnectionOpen(unavailableGuilds) {
2026-08-24 06:08:38 +00:00
set = new Set(unavailableGuilds.unavailableGuilds);
2026-07-20 16:05:17 +00:00
if (unavailableGuilds.unavailableGuilds.length > 0) {
const _HermesInternal = HermesInternal;
2026-08-24 06:08:38 +00:00
logger.warn("" + unavailableGuilds.unavailableGuilds.length + " guilds are unavailable on connection open: " + unavailableGuilds.unavailableGuilds);
2026-07-20 16:05:17 +00:00
}
}
function handleGuild(guild) {
if (set.has(guild.guild.id)) {
set.delete(guild.guild.id);
const _HermesInternal = HermesInternal;
2026-08-24 06:08:38 +00:00
logger.info("Guild has become available: " + guild.guild.id);
2026-07-20 16:05:17 +00:00
} else {
return false;
}
}
2026-08-24 06:08:38 +00:00
let closure_1 = new timestampDefault("GuildAvailabilityStore");
2026-07-23 10:11:24 +00:00
let set = new Set();
2026-08-24 06:08:38 +00:00
const Store = initializeDefault.Store;
2026-07-29 08:29:29 +00:00
class GuildAvailabilityStore extends Store {
}
const prototype = GuildAvailabilityStore.prototype;
prototype["initialize"] = function initialize() {
2026-08-24 06:08:38 +00:00
this.waitFor(closure_0);
2026-07-29 08:29:29 +00:00
};
2026-08-04 08:36:32 +00:00
prototype["isUnavailable"] = function isUnavailable(guildId, token, selected) {
2026-07-29 08:29:29 +00:00
let hasItem = null != guildId;
if (hasItem) {
hasItem = set.has(guildId);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return hasItem;
};
Object.defineProperty(prototype, "totalGuilds", {
get: function totalGuilds() {
return store.getGuildCount() + set.size;
},
set: undefined
});
Object.defineProperty(prototype, "totalUnavailableGuilds", {
get: function totalUnavailableGuilds() {
return set.size;
},
set: undefined
});
Object.defineProperty(prototype, "unavailableGuilds", {
get: function unavailableGuilds() {
return Array.from(set);
},
set: undefined
});
GuildAvailabilityStore.displayName = "GuildAvailabilityStore";
2026-08-24 06:08:38 +00:00
const guildAvailabilityStore = new GuildAvailabilityStore(dispatcherDefault, {
2026-07-20 16:05:17 +00:00
CONNECTION_OPEN: handleConnectionOpen,
OVERLAY_INITIALIZE: handleConnectionOpen,
GUILD_UNAVAILABLE: function handleGuildUnavailable(guildId) {
if (set.has(guildId.guildId)) {
return false;
} else {
2026-07-29 08:29:29 +00:00
const guild = store.getGuild(guildId.guildId);
2026-07-20 16:05:17 +00:00
let str = "???";
if (tmp4) {
str = guild.name;
}
const _HermesInternal = HermesInternal;
2026-08-24 06:08:38 +00:00
logger.warn("Guild has gone unavailable: " + guildId.guildId + " (" + str + ")");
2026-07-20 16:05:17 +00:00
set.add(guildId.guildId);
}
},
GUILD_DELETE: function handleGuildDelete(guild) {
if (true !== guild.guild.unavailable) {
set.delete(guild.guild.id);
}
},
GUILD_CREATE: handleGuild,
GUILD_UPDATE: handleGuild,
GUILD_GEO_RESTRICTED: function handleGuildGeoRestrict(guildId) {
if (set.has(guildId.guildId)) {
set.delete(guildId.guildId);
} else {
return false;
}
}
});
2026-07-29 08:29:29 +00:00
const result = set.fileFinishedImporting("stores/GuildAvailabilityStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default guildAvailabilityStore;