// Metro module 12755 (f12756). import UserAffinitiesV2Store from "../user_affinities/UserAffinitiesV2Store"; import ConsentStore from "../../stores/ConsentStore"; import RelationshipStore from "../../stores/RelationshipStore"; import UserStore from "../../stores/UserStore"; import Module589 from "../../_bundle/Module589"; import Dispatcher from "../../Dispatcher"; const groups = []; let isInitialized2 = false; class FriendGroupsStore extends Module589.PersistedStore { static displayName = "FriendGroupsStore"; static persistKey = "FriendGroupsStoreV2"; initialize(a0) { this.waitFor(ConsentStore, RelationshipStore, UserAffinitiesV2Store, UserStore); if (a0 != null) { let groups2 = a0.groups; if (groups2 == null) { groups2 = []; } groups = groups2; let isInitialized3 = a0.isInitialized; if (isInitialized3 == null) { isInitialized3 = false; } isInitialized2 = isInitialized3; } } getGroups() { return groups; } getGroup(c20188_0) { let r7 = groups.find((group) => group.id === c20188_0); if (r7 == null) { r7 = null; } return r7; } getGroupIds() { return groups.map((group) => group.id); } getUserGroups(c20189_0) { return groups.filter((group) => group.userIds.includes(c20189_0)); } isGroupEmpty(a0) { const group = this.getGroup(a0); return group == null || group.userIds.length === 0; } isInitialized() { return isInitialized2; } getState() { return { groups, isInitialized: isInitialized2 }; } } const friendGroupsStore = new FriendGroupsStore(Dispatcher, { POST_CONNECTION_OPEN: function handleInitializeFriendGroups() { if (!isInitialized2 && !(groups.length > 0)) { groups = []; isInitialized2 = true; return void 0; } return false; }, CREATE_FRIEND_GROUP: function handleCreateFriendGroup({ groupId, name }) { const r10 = groups.some((group) => group.id === groupId); let r0 = !r10; if (!r10) { groups.push({ id: groupId, name, userIds: [] }); r0 = true; } return r0; }, UPDATE_FRIEND_GROUP: function handleUpdateFriendGroup({ groupId: groupId2, name }) { const r13 = groups.findIndex((group) => group.id === groupId2); let r1 = r13 !== -1; if (r1) { groups[r13] = { ...groups[r13], name }; r1 = true; } return r1; }, DELETE_FRIEND_GROUP: function handleDeleteFriendGroup({ groupId: groupId3 }) { const length = groups.length; groups = groups.filter((group) => group.id !== groupId3); return groups.length !== length; }, REORDER_FRIEND_GROUPS: function handleReorderFriendGroups({ groupIds }) { const r1 = []; const map = new Map(groups.map((group) => [group.id, group])); for (const item of groupIds) { const r33 = map.get(item); if (r33 != null) { r1.push(r33); } } let r42 = r1.length === groups.length; if (r42) { groups = r1; r42 = true; } return r42; }, ADD_USERS_TO_GROUP: function handleAddUsersToGroup({ groupId: groupId4, userIds }) { let c20193_1; c20193_1 = void 0; const r17 = groups.findIndex((group) => group.id === groupId4); if (r17 === -1) { return false; } const r19 = groups[r17]; c20193_1 = new Set(r19.userIds); const r25 = userIds.filter((userId) => !c20193_1.has(userId)); let r28 = r25.length !== 0; if (r28) { groups[r17] = { ...r19, userIds: [...r19.userIds, ...r25] }; r28 = true; } return r28; }, REMOVE_USERS_FROM_GROUP: function handleRemoveUsersFromGroup({ groupId: groupId5, userIds }) { let c20194_1; c20194_1 = void 0; const r15 = groups.findIndex((group) => group.id === groupId5); if (r15 === -1) { return false; } const r17 = groups[r15]; c20194_1 = new Set(userIds); const userIds2 = r17.userIds.filter((userId) => !c20194_1.has(userId)); let r29 = userIds2.length !== r17.userIds.length; if (r29) { groups[r15] = { ...r17, userIds: userIds2 }; r29 = true; } return r29; } }); export default friendGroupsStore;