// Module ID: 4953 // Function ID: 42496 // Name: sortKey // Dependencies: [] // Module 4953 (sortKey) function sortKey(speaker) { let connectedOn; let role; let type; let user; let userNick; let voiceState; ({ role, connectedOn, voiceState } = speaker); let str = "\u0001"; let str2 = "\u0001"; ({ user, userNick, type } = speaker); if (speaker.speaker) { str2 = "\0"; } let str3 = str; if (type === obj.STREAM) { str3 = "\0"; } let str4 = "\0"; if (voiceState.selfMute) { str4 = str; } if (voiceState.selfVideo) { str = "\0"; } let position; if (null != role) { position = role.position; } let num = 999; if (null != position) { num = position; } const combined = "" + num; return "" + str2 + str3 + str4 + str + combined.padStart(3, "0") + connectedOn + importDefault(dependencyMap[12])(userNick, user); } function requestToSpeakSortKey(user) { user = user.user; const requestToSpeakTimestamp = user.voiceState.requestToSpeakTimestamp; if (null == requestToSpeakTimestamp) { let id = user.id; } else { const _Date = Date; const _HermesInternal = HermesInternal; id = "" + Date.parse(requestToSpeakTimestamp) + user.id; } return id; } function isRequestedToSpeakAll(rtsState) { let tmp = rtsState === arg1(dependencyMap[13]).RequestToSpeakStates.REQUESTED_TO_SPEAK; if (!tmp) { tmp = rtsState === arg1(dependencyMap[13]).RequestToSpeakStates.REQUESTED_TO_SPEAK_AND_AWAITING_USER_ACK; } return tmp; } function getParticipantIndex(arg0) { let blocked; let ignored; let isFriend; let role; let rtsState; let speaker; ({ role, rtsState } = arg0); const items = []; ({ speaker, blocked, ignored, isFriend } = arg0); if (isRequestedToSpeakAll(rtsState)) { items.push(obj.ALL_REQUESTED_TO_SPEAK); } if (rtsState === arg1(dependencyMap[13]).RequestToSpeakStates.REQUESTED_TO_SPEAK) { items.push(obj.REQUESTED_TO_SPEAK_ONLY); } if (speaker) { items.push(obj.SPEAKER); } else { if (null != role) { items.push(role.id); } else { items.push(obj.NO_ROLE); } items.push(obj.AUDIENCE); } if (blocked) { items.push(obj.BLOCKED); } else if (ignored) { items.push(obj.IGNORED); } if (isFriend) { items.push(obj.FRIEND); } return items; } let closure_3 = importDefault(dependencyMap[0]); let closure_4 = importDefault(dependencyMap[1]); let closure_5 = importDefault(dependencyMap[2]); let closure_6 = importDefault(dependencyMap[3]); let closure_7 = importDefault(dependencyMap[4]); let closure_8 = importDefault(dependencyMap[5]); let closure_9 = importDefault(dependencyMap[6]); let closure_10 = importDefault(dependencyMap[7]); let closure_11 = importDefault(dependencyMap[8]); const getComparator = arg1(dependencyMap[9]).getComparator; let closure_13 = importDefault(dependencyMap[10]); let closure_14 = importDefault(dependencyMap[11]); let obj = { SPEAKER: "SPEAKER", AUDIENCE: "AUDIENCE", NO_ROLE: "NO_ROLE", ALL_REQUESTED_TO_SPEAK: "ALL_REQUESTED_TO_SPEAK", REQUESTED_TO_SPEAK_ONLY: "REQUESTED_TO_SPEAK_ONLY", BLOCKED: "BLOCKED", IGNORED: "IGNORED", FRIEND: "FRIEND", SELECTED: "SELECTED", MEDIA: "MEDIA" }; obj = { VOICE: "VOICE", STREAM: "STREAM" }; const tmp2 = () => { class StageChannelParticipants { constructor(arg0) { tmp = closure_3(this, StageChannelParticipants); this.participants = {}; secondaryIndexMap = new StageChannelParticipants(closure_2[14]).SecondaryIndexMap(closure_20, closure_17); this._participantsIndex = secondaryIndexMap; secondaryIndexMap1 = new StageChannelParticipants(closure_2[14]).SecondaryIndexMap(() => [], closure_18); this._requestToSpeakIndex = secondaryIndexMap1; this.channelId = arg0; channel = closure_6.getChannel(arg0); guildId = undefined; if (null != channel) { guildId = channel.getGuildId(); } this.guildId = guildId; return; } } const arg1 = StageChannelParticipants; let obj = { key: "_getParticipantsForUser", value(id) { const self = this; const items = []; const voiceStateForChannel = store2.getVoiceStateForChannel(this.channelId, id); if (null == voiceStateForChannel) { return items; } else { const user = user.getUser(id); if (null == user) { let isPublicResult = null != self.guildId; if (isPublicResult) { isPublicResult = _public.isPublic(self.channelId); } if (isPublicResult) { const member = closure_7.requestMember(self.guildId, id); } return items; } else { let first = null; if (null != arg1) { first = arg1[0]; } let member1 = null; if (null != self.guildId) { member1 = member.getMember(self.guildId, id); } let nick; if (null != member1) { nick = member1.nick; } if (null == nick) { let obj = callback(closure_2[15]); nick = obj.getName(self.guildId, self.channelId, user); } obj = { user, userNick: callback(closure_2[15]).getName(self.guildId, self.channelId, user), nick, comparator: callback3(voiceStateForChannel, nick), voiceState: voiceStateForChannel }; const obj3 = callback(closure_2[15]); obj.role = StageChannelParticipants(closure_2[16]).getHighestHoistedRole(self.guildId, id); obj.speaker = speaker.isSpeaker(id, self.channelId); obj.member = member1; obj.blocked = closure_9.isBlocked(user.id); obj.ignored = closure_9.isIgnored(user.id); obj.isFriend = closure_9.isFriend(user.id); let connectedOn; if (null != first) { connectedOn = first.connectedOn; } if (null == connectedOn) { const _Date = Date; connectedOn = Date.now(); } obj.connectedOn = connectedOn; obj = {}; const merged = Object.assign(obj); obj["type"] = constants.VOICE; obj["id"] = user.id; const obj4 = StageChannelParticipants(closure_2[16]); obj["rtsState"] = StageChannelParticipants(closure_2[13]).getAudienceRequestToSpeakState(voiceStateForChannel); items.push(obj); let streamForUser = authStore.getStreamForUser(id, self.guildId); if (null == streamForUser) { streamForUser = authStore.getActiveStreamForUser(id, self.guildId); } if (null != streamForUser) { if (streamForUser.channelId === self.channelId) { const obj1 = {}; const obj7 = StageChannelParticipants(closure_2[17]); const merged1 = Object.assign(obj); obj1["id"] = StageChannelParticipants(closure_2[17]).encodeStreamKey(streamForUser); obj1["type"] = constants.STREAM; obj1["rtsState"] = StageChannelParticipants(closure_2[13]).RequestToSpeakStates.NONE; items.push(obj1); const encodeStreamKeyResult = StageChannelParticipants(closure_2[17]).encodeStreamKey(streamForUser); } } return items; } } } }; const items = [obj, , , , , , , , ]; obj = { key: "updateParticipant", value(arg0) { const StageChannelParticipants = this; const arr = this.participants[arg0]; const result = this._getParticipantsForUser(arg0, arr); let flag = null != arr; if (!flag) { flag = 0 !== result.length; } if (flag) { if (null != arr) { const item = arr.forEach((id) => { const _participantsIndex = self._participantsIndex; _participantsIndex.delete(id.id); const _requestToSpeakIndex = self._requestToSpeakIndex; _requestToSpeakIndex.delete(id.id); }); } const item1 = result.forEach((id) => { const _participantsIndex = self._participantsIndex; const result = _participantsIndex.set(id.id, id); if (id.id === id) { if (callback(id.rtsState)) { const _requestToSpeakIndex2 = self._requestToSpeakIndex; const result1 = _requestToSpeakIndex2.set(id, id); } } const _requestToSpeakIndex = self._requestToSpeakIndex; _requestToSpeakIndex.delete(id); }); this.participants[arg0] = result; flag = true; } return flag; } }; items[1] = obj; obj = { key: "rebuild", value() { const self = this; const StageChannelParticipants = this; const channel = store.getChannel(this.channelId); if (null != channel) { if (channel.isGuildStageVoice()) { const _Set = Set; const _Object = Object; const set = new Set(Object.keys(store2.getVoiceStatesForChannel(channel.id))); const _participantsIndex = self._participantsIndex; _participantsIndex.clear(); const _requestToSpeakIndex = self._requestToSpeakIndex; _requestToSpeakIndex.clear(); self.participants = {}; const item = set.forEach((arg0) => self.updateParticipant(arg0)); return true; } } return false; } }; items[2] = obj; items[3] = { key: "version", get() { return this._participantsIndex.version; } }; items[4] = { key: "size", value(arg0) { const _participantsIndex = this._participantsIndex; return _participantsIndex.size(arg0); } }; items[5] = { key: "toArray", value(arg0) { const _participantsIndex = this._participantsIndex; return _participantsIndex.values(arg0, true); } }; items[6] = { key: "getParticipant", value(arg0) { const _participantsIndex = this._participantsIndex; const value = _participantsIndex.get(arg0); let tmp2 = null; if (null != value) { tmp2 = value; } return tmp2; } }; items[7] = { key: "requestToSpeakVersion", get() { return this._requestToSpeakIndex.version; } }; items[8] = { key: "getRequestToSpeakParticipants", value() { const _requestToSpeakIndex = this._requestToSpeakIndex; return _requestToSpeakIndex.values(undefined, true); } }; return callback(StageChannelParticipants, items); }(); const result = arg1(dependencyMap[18]).fileFinishedImporting("modules/stage_channels/StageChannelParticipants.tsx"); export default tmp2; export const StageChannelParticipantNamedIndex = obj; export const StageChannelParticipantTypes = obj; export { isRequestedToSpeakAll };