// Metro module 12373 (f12374). import AuthenticationStore from "./AuthenticationStore"; import RelationshipStore from "./RelationshipStore"; import SelfPresenceStore from "./SelfPresenceStore"; import { StatusTypes, ME } from "../Constants"; import Module12 from "../_bundle/Module12"; import Module589 from "../_bundle/Module589"; import Dispatcher from "../Dispatcher"; function $mk89737($env) { return (a0) => { const r3 = $env; if (a0 != null && (0, $env.$parent[9])(r3[0], a0.user.id, a0.activities, a0.status)) { r3[1] = true; } }; } let handleGuildCreate, handleLocalPresenceUpdate, c8544_12; let env8544 = {}; const updateParty = function updateParty(a0, a1, a2, a3) { const r18 = a2.find((item) => item.party != null && Boolean(item.party.id)); const r13 = r18 != null ? r18.party != null ? r18.party.id : null : null; let r24 = env8544[7][a1]; if (r24 == null) { r24 = {}; } const r26 = r24[a0]; if (r13 != null && a3 !== StatusTypes.OFFLINE) { if (r26 != null) { if (r26 === r13) { return false; } let r29 = env8544[7][a1]; if (r29 == null) { r29 = {}; } const r12 = r29[a0]; if (r12 != null) { const r14 = env8544[7][a1]; delete r14[a0]; if (Module12.isEmpty(r14)) { delete env8544[7][a1]; } const r42 = env8544[8].get(r12); if (r42 != null) { r42.delete(a1); if (r42.size === 0) { env8544[8].delete(r12); } } } } let r50 = env8544[7][a1]; if (r50 == null) { const r51 = env8544[7]; const r52 = {}; r51[a1] = r52; r50 = r52; } r50[a0] = r13; if (!RelationshipStore.isBlocked(a1) && !RelationshipStore.isIgnored(a1)) { let r60 = env8544[8].get(r13); if (r60 == null) { r60 = new Set(); } env8544[8].set(r13, r60); r60.add(a1); } return true; } let r72 = r26 != null; if (r72) { let r74 = env8544[7][a1]; if (r74 == null) { r74 = {}; } const r75 = r74[a0]; const r5 = r75 != null; r72 = true; if (r5) { const r77 = env8544[7][a1]; delete r77[a0]; if (Module12.isEmpty(r77)) { delete env8544[7][a1]; } const r89 = env8544[8].get(r75); const r90 = r89 != null; r72 = true; if (r90) { r89.delete(a1); const size = r89.size; r72 = true; if (size === 0) { env8544[8].delete(r75); r72 = true; } } } } return r72; }; handleGuildCreate = function handleGuildCreate({ guild }) { let r0 = false; for (const presence of guild.presences) { if (updateParty(guild.id, presence.user.id, presence.activities, presence.status) !== false) { r0 = true; } } return r0; }; handleLocalPresenceUpdate = function handleLocalPresenceUpdate() { return updateParty(ME, AuthenticationStore.getId(), SelfPresenceStore.getActivities()); }; const handleRelationshipAddOrUpdate = function handleRelationshipAddOrUpdate({ relationship }) { if (!RelationshipStore.isBlocked(relationship.id) && !RelationshipStore.isIgnored(relationship.id)) { return false; } const r7 = env8544[7][relationship.id]; if (r7 == null) { return false; } for (const item of Module12.values(r7)) { const r42 = env8544[8].get(item); if (r42 != null) { r42.delete(relationship.id); } } }; env8544[7] = {}; env8544[8] = new Map(); class GamePartyStore extends Module589.Store { static displayName = "GamePartyStore"; constructor() { super(...arguments); } initialize() { this.syncWith([SelfPresenceStore], handleLocalPresenceUpdate); this.waitFor(AuthenticationStore, RelationshipStore, SelfPresenceStore); } getParty(a0) { return a0 != null ? env8544[8].has(a0) ? env8544[8].get(a0) : null : null; } getUserParties() { return env8544[7]; } getParties() { return env8544[8]; } } c8544_12 = GamePartyStore; const r60 = new GamePartyStore(Dispatcher, { CONNECTION_OPEN_SUPPLEMENTAL: function handleConnectionOpenSupplemental({ guilds, presences }) { let r0 = false; for (const item of presences) { const { user, status, activities } = item; if (user != null && updateParty(ME, user.id, activities, status) !== false) { r0 = true; } } for (const item2 of guilds) { if (handleGuildCreate({ guild: item2 }) !== false) { r0 = true; } } return r0; }, OVERLAY_INITIALIZE: function handleOverlayInitialize({ parties, userParties }) { env8544[8] = new Map(); env8544[7] = { ...userParties }; Object.keys(parties).forEach((item) => env8544[8].set(item, new Set(parties[item]))); }, GUILD_CREATE: handleGuildCreate, PRESENCES_REPLACE: function handlePresenceReplace({ presences }) { let r0 = false; for (const item of presences) { const { user, activities } = item; if (user != null && updateParty(ME, user.id, activities) !== false) { r0 = true; } } return r0; }, PRESENCE_UPDATES: function handlePresenceUpdates(a0) { return a0.updates.map((update) => { let guildId = update.guildId; const { user, status, activities } = update; if (guildId == null) { guildId = ME; } return updateParty(guildId, user.id, activities, status); }).some((item) => item); }, THREAD_MEMBER_LIST_UPDATE: function handleThreadMemberListUpdate(a0) { let env19812; const guildId = a0.guildId; const r6 = a0.members.map((member) => member.presence); const r7 = env19812 = { $parent: env8544 }; env19812[0] = guildId; env19812[1] = false; r6.forEach($mk89737(r7)); return env19812[1]; }, THREAD_MEMBERS_UPDATE: function handleThreadMembersUpdate({ guildId, addedMembers }) { let r6 = addedMembers != null; if (r6) { let env19813; const r8 = addedMembers.map((addedMember) => addedMember.presence); const r9 = env19813 = { $parent: env8544 }; env19813[0] = guildId; env19813[1] = false; r8.forEach($mk89737(r9)); r6 = env19813[1]; } return r6; }, RELATIONSHIP_ADD: handleRelationshipAddOrUpdate, RELATIONSHIP_UPDATE: handleRelationshipAddOrUpdate, RELATIONSHIP_REMOVE: function handleRelationshipRemove({ relationship }) { const r7 = env8544[7][relationship.id]; if (r7 == null) { return false; } for (const item of Module12.values(r7)) { const r34 = env8544[8].get(item); if (r34 != null) { r34.add(relationship.id); } } } }); export default r60;