227 lines
6.1 KiB
TypeScript
227 lines
6.1 KiB
TypeScript
// Metro module 3818 (f3819).
|
|
import { isGuildLurker } from "../../records/GuildRecord";
|
|
import GuildMemberStore from "../../stores/GuildMemberStore";
|
|
import GuildStore from "../../stores/GuildStore";
|
|
import UserStore from "../../stores/UserStore";
|
|
import { JoinGuildSources, ME } from "../../Constants";
|
|
import Module589 from "../../_bundle/Module589";
|
|
import Dispatcher from "../../Dispatcher";
|
|
let c2157_6 = [];
|
|
let c2157_7 = {};
|
|
let c2157_8 = {};
|
|
let c2157_9 = {};
|
|
class LurkingStore extends Module589.Store {
|
|
static displayName = "LurkingStore";
|
|
initialize() {
|
|
this.waitFor(GuildMemberStore, GuildStore, UserStore);
|
|
}
|
|
lurkingGuildIds() {
|
|
return c2157_6;
|
|
}
|
|
mostRecentLurkedGuildId() {
|
|
const length = c2157_6.length;
|
|
let r4 = null;
|
|
if (length !== 0) {
|
|
r4 = c2157_6[c2157_6.length - 1];
|
|
}
|
|
return r4;
|
|
}
|
|
isLurking(a0) {
|
|
const guild = GuildStore.getGuild(a0);
|
|
if (guild == null) {
|
|
return false;
|
|
}
|
|
const isCurrentUserGuest = GuildMemberStore.isCurrentUserGuest(a0);
|
|
const isGuildLurker2 = isGuildLurker(guild);
|
|
return Boolean(isCurrentUserGuest ? !isCurrentUserGuest : isGuildLurker2);
|
|
}
|
|
getLurkingSourceForGuild(a0) {
|
|
const r1 = a0 == null;
|
|
let r2 = null;
|
|
if (!r1) {
|
|
let r6 = c2157_8[a0];
|
|
if (r6 == null) {
|
|
r6 = null;
|
|
}
|
|
r2 = r6;
|
|
}
|
|
return r2;
|
|
}
|
|
getLoadId(a0) {
|
|
return a0 != null ? c2157_7[a0] : null;
|
|
}
|
|
getLurkingPreviewExpirations() {
|
|
return c2157_9;
|
|
}
|
|
getLurkingPreviewExpiry(a0) {
|
|
const r1 = a0 == null;
|
|
let r2 = null;
|
|
if (!r1) {
|
|
let r6 = c2157_9[a0];
|
|
if (r6 == null) {
|
|
r6 = null;
|
|
}
|
|
r2 = r6;
|
|
}
|
|
return r2;
|
|
}
|
|
}
|
|
const lurkingStore = new LurkingStore(Dispatcher, {
|
|
CONNECTION_OPEN: function handleConnectionOpen() {
|
|
c2157_6 = GuildStore.getGuildsArray().filter((item) => isGuildLurker(item)).map((item) => item.id);
|
|
c2157_8 = {};
|
|
c2157_9 = {};
|
|
},
|
|
GUILD_JOIN: function handleGuildJoin({ guildId, lurker, source, directoryChannelId, loadId }) {
|
|
if (lurker) {
|
|
if (guildId !== ME && !c2157_6.includes(guildId)) {
|
|
c2157_6 = [...c2157_6, guildId];
|
|
}
|
|
if (loadId != null) {
|
|
c2157_7[guildId] = loadId;
|
|
}
|
|
delete c2157_9[guildId];
|
|
if (JoinGuildSources.MOBILE_GUILD_DISCOVERY === source) {
|
|
c2157_8[guildId] = {
|
|
type: JoinGuildSources.MOBILE_GUILD_DISCOVERY
|
|
};
|
|
} else if (JoinGuildSources.DIRECTORY_ENTRY === source) {
|
|
c2157_8[guildId] = {
|
|
type: JoinGuildSources.DIRECTORY_ENTRY,
|
|
directoryChannelId
|
|
};
|
|
} else {
|
|
delete c2157_8[guildId];
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
GUILD_STOP_LURKING: function handleGuildStopLurking({ ignoredGuildIds }) {
|
|
const r7 = Set;
|
|
if (ignoredGuildIds == null) {
|
|
ignoredGuildIds = [];
|
|
}
|
|
let c13623_0 = new r7([...ignoredGuildIds]);
|
|
return [...c2157_6].reduce((acc, item) => {
|
|
const r14 = c13623_0.has(item);
|
|
let r15 = acc;
|
|
if (!r14) {
|
|
const r9 = c2157_6.indexOf(item);
|
|
const r1 = r9 > -1;
|
|
let r17 = false;
|
|
if (r1) {
|
|
const r18 = [...c2157_6];
|
|
r18.splice(r9, 1);
|
|
c2157_6 = r18;
|
|
delete c2157_7[item];
|
|
delete c2157_8[item];
|
|
delete c2157_9[item];
|
|
r17 = true;
|
|
}
|
|
if (!r17) {
|
|
r17 = acc;
|
|
}
|
|
r15 = r17;
|
|
}
|
|
return r15;
|
|
}, false);
|
|
},
|
|
GUILD_STOP_LURKING_FOR_GUILD: function handleGuildStopLurkingForGuild({ lurkingGuildId }) {
|
|
const r7 = c2157_6.indexOf(lurkingGuildId);
|
|
const r2 = r7 > -1;
|
|
let r1 = false;
|
|
if (r2) {
|
|
const r12 = [...c2157_6];
|
|
r12.splice(r7, 1);
|
|
c2157_6 = r12;
|
|
delete c2157_7[lurkingGuildId];
|
|
delete c2157_8[lurkingGuildId];
|
|
delete c2157_9[lurkingGuildId];
|
|
r1 = true;
|
|
}
|
|
return r1;
|
|
},
|
|
GUILD_STOP_LURKING_FAILURE: function handleGuildStopLurkingFailure({ lurkingGuildId, lurkingSource }) {
|
|
if (lurkingGuildId !== ME && !c2157_6.includes(lurkingGuildId)) {
|
|
c2157_6 = [...c2157_6, lurkingGuildId];
|
|
}
|
|
if (lurkingSource == null) {
|
|
delete c2157_8[lurkingGuildId];
|
|
} else {
|
|
c2157_8[lurkingGuildId] = lurkingSource;
|
|
}
|
|
return true;
|
|
},
|
|
GUILD_CREATE: function handleGuildCreate({ guild }) {
|
|
const r1 = guild.joined_at == null || !c2157_6.includes(guild.id);
|
|
let r15 = !r1;
|
|
if (!r1) {
|
|
const id = guild.id;
|
|
const r19 = c2157_6.indexOf(id);
|
|
const r3 = r19 > -1;
|
|
r15 = true;
|
|
if (r3) {
|
|
const r20 = [...c2157_6];
|
|
r20.splice(r19, 1);
|
|
c2157_6 = r20;
|
|
delete c2157_7[id];
|
|
delete c2157_8[id];
|
|
delete c2157_9[id];
|
|
r15 = true;
|
|
}
|
|
}
|
|
return r15;
|
|
},
|
|
GUILD_DELETE: function handleGuildDelete({ guild }) {
|
|
let r14 = !!c2157_6.includes(guild.id);
|
|
if (r14) {
|
|
const id = guild.id;
|
|
const r18 = c2157_6.indexOf(id);
|
|
const r2 = r18 > -1;
|
|
r14 = true;
|
|
if (r2) {
|
|
const r19 = [...c2157_6];
|
|
r19.splice(r18, 1);
|
|
c2157_6 = r19;
|
|
delete c2157_7[id];
|
|
delete c2157_8[id];
|
|
delete c2157_9[id];
|
|
r14 = true;
|
|
}
|
|
}
|
|
return r14;
|
|
},
|
|
GUILD_MEMBER_ADD: function handleGuildMemberAdd(a0) {
|
|
const { guildId, joinedAt } = a0;
|
|
const r17 = a0.user.id !== UserStore.getCurrentUser()?.id || joinedAt == null || !c2157_6.includes(guildId);
|
|
let r21 = !r17;
|
|
if (!r17) {
|
|
const r24 = c2157_6.indexOf(guildId);
|
|
const r3 = r24 > -1;
|
|
r21 = true;
|
|
if (r3) {
|
|
const r25 = [...c2157_6];
|
|
r25.splice(r24, 1);
|
|
c2157_6 = r25;
|
|
delete c2157_7[guildId];
|
|
delete c2157_8[guildId];
|
|
delete c2157_9[guildId];
|
|
r21 = true;
|
|
}
|
|
}
|
|
return r21;
|
|
},
|
|
LURKER_PREVIEW_SET_EXPIRY: function handleLurkerPreviewSetExpiry({ guildIds, expiresAt }) {
|
|
let r0 = false;
|
|
for (const item of guildIds) {
|
|
if (c2157_6.includes(item) && c2157_9[item] !== expiresAt) {
|
|
c2157_9[item] = expiresAt;
|
|
r0 = true;
|
|
}
|
|
}
|
|
return r0;
|
|
}
|
|
});
|
|
export default lurkingStore;
|