decord/beta/source/stores/GamePartyStore.tsx
2026-10-12 16:32:48 +00:00

320 lines
8.7 KiB
TypeScript

// Module ID: 13536
// Function ID: 13537
// Name: GamePartyStore
// Dependencies: [502, 4760, 5759, 1085, 12, 504, 584, 2]
// Module 13536 (GamePartyStore)
import _modDef12 from "module_12" /* 12 */;
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import AuthenticationStore from "AuthenticationStore" /* 502 */;
import RelationshipStore from "RelationshipStore" /* 4760 */;
import SelfPresenceStore from "SelfPresenceStore" /* 5759 */;
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
let importDefault, set;
let hasOwnProperty;
let metroRequire;
function updateParty(id, id2, activities, status) {
const found = activities.find((party) => {
let BooleanResult = null != party.party;
if (BooleanResult) {
const _Boolean = Boolean;
BooleanResult = Boolean(party.party.id);
}
return BooleanResult;
});
id = null;
if (null != found) {
id = null;
if (null != found.party) {
id = found.party.id;
}
}
let obj = closure_7[id2];
if (obj == null) {
obj = {};
}
if (null != id) {
if (status !== hasOwnProperty.OFFLINE) {
if (null != obj[id]) {
if (obj[id] === id) {
return false;
} else {
let obj2 = closure_7[id2];
if (obj2 == null) {
obj2 = {};
}
if (null != obj2[id]) {
delete closure_7[id2][id];
const obj3 = _modDef12;
if (obj3.isEmpty(closure_7[id2])) {
delete closure_7[id2];
}
const value = map.get(tmp6);
if (null != value) {
value.delete(id2);
if (0 === value.size) {
map.delete(obj2[id]);
}
}
}
}
}
let tmp16 = closure_7[id2];
if (null == tmp16) {
const obj4 = {};
closure_7[id2] = obj4;
tmp16 = obj4;
}
tmp16[id] = id;
const obj6 = RelationshipStore;
if (!RelationshipStore.isBlocked(id2)) {
if (!obj6.isIgnored(id2)) {
let value3 = map.get(id);
if (value3 == null) {
const _Set = Set;
const self = this;
const self2 = this;
value3 = new Set();
}
const result = map.set(id, value3);
value3.add(id2);
}
}
return true;
}
}
let flag3 = null != tmp5;
if (flag3) {
let obj5 = closure_7[id2];
if (obj5 == null) {
obj5 = {};
}
flag3 = true;
if (null != obj5[id]) {
delete closure_7[id2][id];
const obj9 = _modDef12;
if (obj9.isEmpty(closure_7[id2])) {
delete closure_7[id2];
}
const value4 = map.get(tmp24);
flag3 = true;
if (null != value4) {
value4.delete(id2);
flag3 = true;
if (0 === value4.size) {
map.delete(obj5[id]);
flag3 = true;
}
}
}
}
return flag3;
}
function handleGuildCreate(guild) {
guild = guild.guild;
let flag = false;
const presences = guild.presences;
for (const item10009 of presences) {
if (false !== updateParty(guild.id, item10009.user.id, item10009.activities, item10009.status)) {
flag = true;
}
continue;
}
return flag;
}
function handleLocalPresenceUpdate() {
const id = AuthenticationStore.getId();
return updateParty(metroRequire, id, SelfPresenceStore.getActivities());
}
function handleRelationshipAddOrUpdate(relationship) {
relationship = relationship.relationship;
const obj = RelationshipStore;
if (!RelationshipStore.isBlocked(relationship.id)) {
if (!obj.isIgnored(relationship.id)) {
return false;
}
}
if (null == closure_7[relationship.id]) {
return false;
} else {
const obj2 = _modDef12;
const values = obj2.values(tmp);
for (const item10025 of values) {
let value = map.get(item10025);
let obj3 = value;
if (null != value) {
let deleteResult = obj3.delete(relationship.id);
}
continue;
}
}
}
({ StatusTypes: hasOwnProperty, ME: metroRequire } = Constants);
let closure_7 = {};
let map = new Map();
const Store = get_initializedDefault.Store;
class GamePartyStore extends Store {
initialize() {
const items = [SelfPresenceStore];
this.syncWith(items, handleLocalPresenceUpdate);
this.waitFor(AuthenticationStore, RelationshipStore, SelfPresenceStore);
}
getParty(id) {
let value = null;
if (null != id) {
value = null;
if (map.has(id)) {
value = map.get(id);
}
}
return value;
}
getUserParties() {
return closure_7;
}
getParties() {
return map;
}
}
const prototype = GamePartyStore.prototype;
GamePartyStore.displayName = "GamePartyStore";
let obj = {
CONNECTION_OPEN_SUPPLEMENTAL: function handleConnectionOpenSupplemental(arg0) {
let activities;
let guilds;
let presences;
let status;
let user;
({ guilds, presences } = arg0);
let flag = false;
const iter = presences[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
({ user, status, activities } = nextResult);
let tmp3 = null != user;
if (tmp3) {
tmp3 = false !== updateParty(metroRequire, tmp2.id, activities, status);
}
if (tmp3) {
flag = true;
}
continue;
}
for (const item10032 of guilds) {
let obj = { guild: item10032 };
if (false !== handleGuildCreate(obj)) {
flag = true;
}
continue;
}
return flag;
},
OVERLAY_INITIALIZE: function handleOverlayInitialize(parties) {
parties = parties.parties;
const userParties = parties.userParties;
map = new Map();
const obj = {};
const merged = Object.assign(userParties);
const keys = Object.keys(parties);
const item = keys.forEach((item) => {
set = map.set;
const set1 = new Set(parties[item]);
return set(item, set1);
});
},
GUILD_CREATE: handleGuildCreate,
PRESENCES_REPLACE: function handlePresenceReplace(arg0) {
let activities;
let user;
let flag = false;
const iter = arg0.presences[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
({ user, activities } = nextResult);
let tmp3 = null != user;
if (tmp3) {
tmp3 = false !== updateParty(metroRequire, tmp2.id, activities);
}
if (tmp3) {
flag = true;
}
continue;
}
return flag;
},
PRESENCE_UPDATES: function handlePresenceUpdates(updates) {
updates = updates.updates;
const mapped = updates.map((user) => {
let activities;
let guildId;
let status;
({ guildId, status, activities } = user);
user = user.user;
const tmp = updateParty;
if (guildId == null) {
guildId = closure_1_6;
}
return tmp(guildId, user.id, activities, status);
});
return mapped.some((item) => item);
},
THREAD_MEMBER_LIST_UPDATE: function handleThreadMemberListUpdate(members) {
members = members.members;
const guildId = members.guildId;
const mapped = members.map((presence) => presence.presence);
let c1 = false;
const item = mapped.forEach((user) => {
const tmp = null != user && updateParty(importDefault, user.user.id, user.activities, user.status);
if (tmp) {
c1 = true;
}
});
return c1;
},
THREAD_MEMBERS_UPDATE: function handleThreadMembersUpdate(addedMembers) {
let closure_0;
let tmp;
addedMembers = addedMembers.addedMembers;
let tmp2 = null != addedMembers;
if (tmp2) {
const mapped = addedMembers.map((presence) => presence.presence);
importDefault = tmp;
let c1 = false;
const item = mapped.forEach((user) => {
const tmp = null != user && updateParty(importDefault, user.user.id, user.activities, user.status);
if (tmp) {
c1 = true;
}
});
tmp2 = c1;
}
return tmp2;
},
RELATIONSHIP_ADD: handleRelationshipAddOrUpdate,
RELATIONSHIP_UPDATE: handleRelationshipAddOrUpdate,
RELATIONSHIP_REMOVE: function handleRelationshipRemove(relationship) {
relationship = relationship.relationship;
if (null == closure_7[relationship.id]) {
return false;
} else {
const obj = _modDef12;
const values = obj.values(tmp);
for (const item10017 of values) {
let value = map.get(item10017);
let obj2 = value;
if (null != value) {
let addResult = obj2.add(relationship.id);
}
continue;
}
}
}
};
const gamePartyStore = new GamePartyStore(DispatcherDefault, obj);
let result = size.fileFinishedImporting("stores/GamePartyStore.tsx");
export default gamePartyStore;