386 lines
11 KiB
JavaScript
386 lines
11 KiB
JavaScript
// Module ID: 4950
|
|
// Function ID: 42459
|
|
// Name: _isNativeReflectConstruct
|
|
// Dependencies: []
|
|
|
|
// Module 4950 (_isNativeReflectConstruct)
|
|
function _isNativeReflectConstruct() {
|
|
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
|
|
|
|
}));
|
|
function _isNativeReflectConstruct() {
|
|
return closure_0;
|
|
}
|
|
const result = _isNativeReflectConstruct();
|
|
}
|
|
function _createForOfIteratorHelperLoose(@@iterator) {
|
|
let arg1 = Symbol_iterator;
|
|
@@iterator = "undefined" !== typeof Symbol;
|
|
if (Symbol_iterator) {
|
|
const _Symbol = Symbol;
|
|
@@iterator = Symbol_iterator[Symbol.iterator];
|
|
}
|
|
if (!Symbol_iterator) {
|
|
@@iterator = Symbol_iterator[Symbol.iterator];
|
|
}
|
|
if (Symbol_iterator) {
|
|
const iter = Symbol_iterator.call(Symbol_iterator);
|
|
const next = iter.next;
|
|
return next.bind(iter);
|
|
} else {
|
|
const _Array = Array;
|
|
let tmp = Symbol_iterator;
|
|
if (!Array.isArray(Symbol_iterator)) {
|
|
let tmp2;
|
|
if (Symbol_iterator) {
|
|
if ("string" === typeof Symbol_iterator) {
|
|
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
|
|
} else {
|
|
const toString = {}.toString;
|
|
const substr = toString.call(Symbol_iterator).slice(8, -1);
|
|
let name = substr;
|
|
if (tmp3) {
|
|
name = Symbol_iterator.constructor.name;
|
|
}
|
|
if ("Map" !== name) {
|
|
if ("Set" !== name) {
|
|
if ("Arguments" === name) {
|
|
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
|
|
} else {
|
|
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
|
|
}
|
|
}
|
|
tmp2 = arr;
|
|
}
|
|
const _Array2 = Array;
|
|
arr = Array.from(Symbol_iterator);
|
|
const callResult = toString.call(Symbol_iterator);
|
|
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
|
|
}
|
|
}
|
|
tmp = tmp2;
|
|
if (!tmp2) {
|
|
const _TypeError = TypeError;
|
|
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
throw typeError;
|
|
}
|
|
}
|
|
if (tmp) {
|
|
arg1 = tmp;
|
|
}
|
|
let closure_1 = 0;
|
|
return () => {
|
|
if (closure_1 >= tmp.length) {
|
|
let obj = { done: true };
|
|
} else {
|
|
obj = { done: false };
|
|
closure_1 = tmp3 + 1;
|
|
obj.value = tmp[+closure_1];
|
|
}
|
|
return obj;
|
|
};
|
|
}
|
|
}
|
|
function _arrayLikeToArray(arg0, arg1) {
|
|
let length;
|
|
if (tmp) {
|
|
length = arg0.length;
|
|
}
|
|
const ArrayResult = Array(length);
|
|
for (let num = 0; num < length; num = num + 1) {
|
|
ArrayResult[num] = arg0[num];
|
|
}
|
|
return ArrayResult;
|
|
}
|
|
function isSpeaker(id, id2) {
|
|
const voiceStateForChannel = voiceStateForChannel.getVoiceStateForChannel(id2, id);
|
|
const audienceRequestToSpeakState = id2(dependencyMap[11]).getAudienceRequestToSpeakState(voiceStateForChannel);
|
|
return audienceRequestToSpeakState === id2(dependencyMap[11]).RequestToSpeakStates.ON_STAGE;
|
|
}
|
|
function isModerator(id, id2, channel) {
|
|
let obj = importAll(dependencyMap[12]);
|
|
obj = { permission: id2(dependencyMap[13]).MODERATE_STAGE_CHANNEL_PERMISSIONS, user: id, context: id2, overwrites: channel.permissionOverwrites, roles: unsafeMutableRoles.getUnsafeMutableRoles(id2.id) };
|
|
return obj.can(obj);
|
|
}
|
|
function buildStageChannelUserRoles(id, channelId) {
|
|
let flag = arg2;
|
|
if (arg2 === undefined) {
|
|
flag = false;
|
|
}
|
|
if (null == closure_16[channelId]) {
|
|
closure_16[channelId] = {};
|
|
}
|
|
if (flag === undefined) {
|
|
flag = false;
|
|
}
|
|
const channel = store.getChannel(channelId);
|
|
let guildId;
|
|
if (null != channel) {
|
|
guildId = channel.getGuildId();
|
|
}
|
|
const guild = guild.getGuild(guildId);
|
|
if (null != guild) {
|
|
if (null != channel) {
|
|
if (channel.isGuildStageVoice()) {
|
|
const obj = {};
|
|
obj[obj.SPEAKER] = isSpeaker(id, channelId);
|
|
let tmp8 = null;
|
|
if (flag) {
|
|
tmp8 = isModerator(id, guild, channel);
|
|
}
|
|
obj[obj.MODERATOR] = tmp8;
|
|
let tmp4 = obj;
|
|
}
|
|
closure_16[channelId][id] = tmp4;
|
|
return tmp4;
|
|
}
|
|
}
|
|
tmp4 = obj;
|
|
}
|
|
function resetStageChannelRolesForGuild(guildId) {
|
|
let done;
|
|
const values = Object.values(store.getMutableGuildChannelsForGuild(guildId));
|
|
const found = values.filter((isGuildStageVoice) => isGuildStageVoice.isGuildStageVoice());
|
|
const tmp = _createForOfIteratorHelperLoose(found);
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
let tmp2 = closure_16;
|
|
let id = iter.value.id;
|
|
delete r6[r1];
|
|
let iter2 = tmp();
|
|
iter = iter2;
|
|
done = iter2.done;
|
|
} while (!done);
|
|
}
|
|
return found.length > 0;
|
|
}
|
|
function handleGuildMemberUpdate(arg0) {
|
|
let guildId;
|
|
let user;
|
|
({ guildId, user } = arg0);
|
|
let flag = null != user && null != guildId;
|
|
if (flag) {
|
|
const id = user.id;
|
|
flag = true;
|
|
const keys = Object.keys();
|
|
if (keys !== undefined) {
|
|
flag = true;
|
|
while (keys[tmp] !== undefined) {
|
|
let tmp8 = tmp4;
|
|
let tmp9 = store;
|
|
let basicChannel = store.getBasicChannel(tmp4);
|
|
let tmp5 = null != basicChannel && basicChannel.guild_id === guildId;
|
|
if (!tmp5) {
|
|
continue;
|
|
} else {
|
|
let tmp6 = closure_16;
|
|
let tmp7 = closure_16[tmp4];
|
|
delete r11[r8];
|
|
// continue
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
return flag;
|
|
}
|
|
function handleGuildCreateOrDelete(arg0) {
|
|
for (const key10005 in closure_16) {
|
|
let tmp4 = key10005;
|
|
let tmp5 = closure_9;
|
|
let basicChannel = closure_9.getBasicChannel(key10005);
|
|
let tmp2 = null != basicChannel;
|
|
if (tmp2) {
|
|
tmp2 = basicChannel.guild_id !== tmp.id;
|
|
}
|
|
if (tmp2) {
|
|
continue;
|
|
} else {
|
|
let tmp3 = closure_16;
|
|
delete r8[r9];
|
|
// continue
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
let closure_4 = importDefault(dependencyMap[0]);
|
|
let closure_5 = importDefault(dependencyMap[1]);
|
|
let closure_6 = importDefault(dependencyMap[2]);
|
|
let closure_7 = importDefault(dependencyMap[3]);
|
|
let closure_8 = importDefault(dependencyMap[4]);
|
|
let closure_9 = importDefault(dependencyMap[5]);
|
|
let closure_10 = importDefault(dependencyMap[6]);
|
|
let closure_11 = importDefault(dependencyMap[7]);
|
|
let closure_12 = importDefault(dependencyMap[8]);
|
|
let closure_13 = importDefault(dependencyMap[9]);
|
|
let closure_14 = importDefault(dependencyMap[10]);
|
|
let obj = { SPEAKER: "speaker", MODERATOR: "moderator" };
|
|
let closure_16 = {};
|
|
obj = { [obj.SPEAKER]: false, [obj.MODERATOR]: false };
|
|
let tmp2 = (Store) => {
|
|
class StageChannelRoleStore {
|
|
constructor() {
|
|
self = this;
|
|
tmp = closure_4(this, StageChannelRoleStore);
|
|
obj = closure_7(StageChannelRoleStore);
|
|
tmp2 = closure_6;
|
|
if (closure_18()) {
|
|
tmp6 = globalThis;
|
|
_Reflect = Reflect;
|
|
tmp7 = closure_7;
|
|
tmp8 = arguments;
|
|
constructResult = Reflect.construct(obj, arguments, closure_7(self).constructor);
|
|
} else {
|
|
tmp3 = arguments;
|
|
tmp4 = arguments;
|
|
constructResult = obj(...arguments);
|
|
}
|
|
return tmp2(self, constructResult);
|
|
}
|
|
}
|
|
const arg1 = StageChannelRoleStore;
|
|
callback2(StageChannelRoleStore, Store);
|
|
let obj = {
|
|
key: "initialize",
|
|
value() {
|
|
this.waitFor(closure_10, closure_9, closure_12, closure_13, closure_14, closure_11);
|
|
}
|
|
};
|
|
const items = [obj, , , , ];
|
|
obj = {
|
|
key: "isSpeaker",
|
|
value(arg0, arg1) {
|
|
return this.getPermissionsForUser(arg0, arg1)[closure_15.SPEAKER];
|
|
}
|
|
};
|
|
items[1] = obj;
|
|
obj = {
|
|
key: "isModerator",
|
|
value(arg0, arg1) {
|
|
const tmp = this.getPermissionsForUser(arg0, arg1, true)[closure_15.MODERATOR];
|
|
return null != tmp && tmp;
|
|
}
|
|
};
|
|
items[2] = obj;
|
|
items[3] = {
|
|
key: "isAudienceMember",
|
|
value(arg0, arg1) {
|
|
const permissionsForUser = this.getPermissionsForUser(arg0, arg1);
|
|
let tmp2 = !permissionsForUser[closure_15.SPEAKER];
|
|
if (tmp2) {
|
|
tmp2 = !permissionsForUser[closure_15.MODERATOR];
|
|
}
|
|
return tmp2;
|
|
}
|
|
};
|
|
items[4] = {
|
|
key: "getPermissionsForUser",
|
|
value(arg0, arg1) {
|
|
let flag = arg2;
|
|
if (arg2 === undefined) {
|
|
flag = false;
|
|
}
|
|
if (null != arg0) {
|
|
if (null != arg1) {
|
|
const currentUser = currentUser.getCurrentUser();
|
|
let id;
|
|
if (null != currentUser) {
|
|
id = currentUser.id;
|
|
}
|
|
if (arg0 === id) {
|
|
if (obj.isStageSpeakingDisabledForCurrentUser()) {
|
|
return closure_17;
|
|
}
|
|
const obj = StageChannelRoleStore(closure_3[15]);
|
|
}
|
|
let tmp6;
|
|
if (null != closure_16[arg1]) {
|
|
tmp6 = tmp5[arg0];
|
|
}
|
|
if (null != tmp6) {
|
|
let tmp9 = tmp6;
|
|
if (flag) {
|
|
tmp9 = tmp6;
|
|
if (null == tmp6[closure_15.MODERATOR]) {
|
|
tmp9 = callback4(arg0, arg1, true);
|
|
}
|
|
}
|
|
let tmp8 = tmp9;
|
|
} else {
|
|
tmp8 = callback4(arg0, arg1, flag);
|
|
}
|
|
return tmp8;
|
|
}
|
|
}
|
|
return closure_17;
|
|
}
|
|
};
|
|
return callback(StageChannelRoleStore, items);
|
|
}(importDefault(dependencyMap[16]).Store);
|
|
tmp2.displayName = "StageChannelRoleStore";
|
|
obj = {
|
|
CHANNEL_UPDATES: function handleChannelUpdate(channels) {
|
|
let done;
|
|
const tmp = _createForOfIteratorHelperLoose(channels.channels);
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
let tmp2 = closure_16;
|
|
let id = iter.value.id;
|
|
delete r5[r1];
|
|
let iter2 = tmp();
|
|
iter = iter2;
|
|
done = iter2.done;
|
|
} while (!done);
|
|
}
|
|
},
|
|
CONNECTION_OPEN: function handleConnectionOpen() {
|
|
let closure_16 = {};
|
|
},
|
|
GUILD_MEMBER_REMOVE: handleGuildMemberUpdate,
|
|
GUILD_MEMBER_UPDATE: handleGuildMemberUpdate,
|
|
GUILD_ROLE_UPDATE: function handleGuildRoleUpdate(guildId) {
|
|
resetStageChannelRolesForGuild(guildId.guildId);
|
|
},
|
|
PASSIVE_UPDATE_V2: function handlePassiveUpdateV2(guildId) {
|
|
return resetStageChannelRolesForGuild(guildId.guildId);
|
|
},
|
|
VOICE_STATE_UPDATES: function handleVoiceStateUpdates(voiceStates) {
|
|
voiceStates = voiceStates.voiceStates;
|
|
let reduced = !importDefault(dependencyMap[14]).isEmpty(closure_16);
|
|
if (reduced) {
|
|
reduced = voiceStates.reduce((arg0, arg1) => {
|
|
let channelId;
|
|
let userId;
|
|
({ userId, channelId } = arg1);
|
|
let flag = false;
|
|
if (null != channelId) {
|
|
const channel = channel.getChannel(channelId);
|
|
let num = null == channel || !channel.isGuildStageVoice();
|
|
if (!num) {
|
|
num = 0;
|
|
if (null != closure_16[channelId]) {
|
|
delete r4[r5];
|
|
num = 0;
|
|
}
|
|
}
|
|
flag = !num;
|
|
}
|
|
if (!flag) {
|
|
flag = arg0;
|
|
}
|
|
return flag;
|
|
}, false);
|
|
}
|
|
return reduced;
|
|
},
|
|
GUILD_CREATE: handleGuildCreateOrDelete,
|
|
GUILD_DELETE: handleGuildCreateOrDelete
|
|
};
|
|
tmp2 = new tmp2(importDefault(dependencyMap[17]), obj);
|
|
const result = arg1(dependencyMap[18]).fileFinishedImporting("modules/stage_channels/StageChannelRoleStore.tsx");
|
|
|
|
export default tmp2;
|
|
export const StagePermissionBuckets = obj;
|
|
export const NO_PERMISSIONS = obj;
|