570 lines
18 KiB
JavaScript
570 lines
18 KiB
JavaScript
// Module ID: 6881
|
|
// Function ID: 54644
|
|
// Name: _createForOfIteratorHelperLoose
|
|
// Dependencies: []
|
|
|
|
// Module 6881 (_createForOfIteratorHelperLoose)
|
|
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 hasBasicChannelChanged(type, type2) {
|
|
let tmp = null == type || type.type !== type2.type || type.parent_id !== type2.parent_id;
|
|
if (!tmp) {
|
|
const basicPermissions = closure_15.computeBasicPermissions(type);
|
|
tmp = basicPermissions !== closure_15.computeBasicPermissions(type2);
|
|
}
|
|
return tmp;
|
|
}
|
|
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 = arg1(dependencyMap[5]).createChannelRecordFromServer;
|
|
let closure_10 = importDefault(dependencyMap[6]);
|
|
let closure_11 = importDefault(dependencyMap[7]);
|
|
const ChannelLoader = arg1(dependencyMap[7]).ChannelLoader;
|
|
let closure_13 = importDefault(dependencyMap[8]);
|
|
let closure_14 = importDefault(dependencyMap[9]);
|
|
let closure_15 = importDefault(dependencyMap[10]);
|
|
let closure_16 = importDefault(dependencyMap[11]);
|
|
let importDefaultResult = importDefault(dependencyMap[12]);
|
|
importDefaultResult = new importDefaultResult("GuildBasicChannels");
|
|
let tmp4 = () => {
|
|
class GuildBasicChannels {
|
|
constructor() {
|
|
f54675 = this;
|
|
tmp = closure_6(this, GuildBasicChannels);
|
|
this.synced = null;
|
|
this.actions = {
|
|
BACKGROUND_SYNC(arg0, arg1) {
|
|
return self.handleBackgroundSync(arg0, arg1);
|
|
},
|
|
CHANNEL_CREATE(arg0, arg1) {
|
|
return self.handleChannelCreate(arg0, arg1);
|
|
},
|
|
CHANNEL_DELETE(arg0, arg1) {
|
|
return self.handleChannelDelete(arg0, arg1);
|
|
},
|
|
CHANNEL_UPDATES(arg0, arg1) {
|
|
return self.handleChannelUpdates(arg0, arg1);
|
|
},
|
|
CONNECTION_OPEN(arg0, arg1) {
|
|
return self.handleConnectionOpen(arg0, arg1);
|
|
},
|
|
GUILD_CREATE(arg0, arg1) {
|
|
return self.handleGuildCreate(arg0, arg1);
|
|
},
|
|
GUILD_DELETE(arg0, arg1) {
|
|
return self.handleGuildDelete(arg0, arg1);
|
|
},
|
|
GUILD_MEMBER_UPDATE(arg0, arg1) {
|
|
return self.handleGuildMemberUpdate(arg0, arg1);
|
|
},
|
|
GUILD_ROLE_UPDATE(arg0, arg1) {
|
|
return self.handleGuildRoleUpdate(arg0, arg1);
|
|
},
|
|
GUILD_UPDATE(arg0, arg1) {
|
|
return self.handleGuildUpdate(arg0, arg1);
|
|
},
|
|
POST_CONNECTION_OPEN() {
|
|
return self.handlePostConnectionOpen();
|
|
},
|
|
WRITE_CACHES(arg0, arg1) {
|
|
return self.handleWriteCaches(arg0, arg1);
|
|
}
|
|
};
|
|
return;
|
|
}
|
|
}
|
|
const importAll = GuildBasicChannels;
|
|
let obj = { key: "getAsync" };
|
|
let closure_1 = callback(async function(arg0) {
|
|
let iter2;
|
|
let set;
|
|
let obj = callback(closure_3[13]);
|
|
const nowResult = performance.now();
|
|
const items = [obj.basicChannels(arg0).getKvEntries(), ];
|
|
const basicChannelsResult = obj.basicChannels(arg0);
|
|
const obj3 = callback(closure_3[13]);
|
|
items[1] = callback(closure_3[13]).syncedBasicChannels(arg0).getKvEntries();
|
|
const tmp3 = callback2(yield Promise.all(items), 2);
|
|
const first = tmp3[0];
|
|
const diff = performance.now() - nowResult;
|
|
const items1 = [];
|
|
const items2 = [];
|
|
const tmp5 = callback3(tmp3[1]);
|
|
let iter = tmp5();
|
|
if (!iter.done) {
|
|
do {
|
|
let tmp6 = closure_4;
|
|
let tmp7 = closure_4(iter.value, 2);
|
|
let arr5 = items2;
|
|
if (tmp7[1]) {
|
|
arr5 = items1;
|
|
}
|
|
let arr = arr5.push(tmp7[0]);
|
|
iter2 = tmp5();
|
|
iter = iter2;
|
|
} while (!iter2.done);
|
|
}
|
|
const items3 = [items1, items2];
|
|
const tmp2Result = callback2(items3, 2);
|
|
set = new Set(tmp2Result[0]);
|
|
this.synced = set;
|
|
closure_17.verbose("loaded in " + diff + "ms (guilds: " + first.length + ", synced: " + set.size + " unsynced: " + tmp2Result[1].length + ")");
|
|
obj = {
|
|
all: first,
|
|
stale: arr7,
|
|
channels: first.filter((arg0) => {
|
|
let tmp;
|
|
[tmp, ] = arg0;
|
|
return set.has(tmp);
|
|
})
|
|
};
|
|
return obj;
|
|
});
|
|
obj.value = function getAsync() {
|
|
return callback2(...arguments);
|
|
};
|
|
const items = [obj, , , , , , , , , , , , , , , , , , , , ];
|
|
obj = {
|
|
key: "handleChannelCreate",
|
|
value(channel, value) {
|
|
const self = this;
|
|
if (null != channel.channel.guild_id) {
|
|
self.unsync(channel.channel.guild_id, value);
|
|
}
|
|
}
|
|
};
|
|
items[1] = obj;
|
|
obj = {
|
|
key: "handleChannelDelete",
|
|
value(channel, value) {
|
|
const self = this;
|
|
if (null != channel.channel.guild_id) {
|
|
self.unsync(channel.channel.guild_id, value);
|
|
}
|
|
}
|
|
};
|
|
items[2] = obj;
|
|
items[3] = {
|
|
key: "handleChannelUpdates",
|
|
value(channels, value) {
|
|
let iter2;
|
|
const self = this;
|
|
channels = channels.channels;
|
|
const tmp = callback4(channels.filter((guild_id) => null != guild_id.guild_id));
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
value = iter.value;
|
|
let tmp2 = closure_20;
|
|
let tmp3 = closure_11;
|
|
if (closure_20(closure_11.getBasicChannel(value.id), value)) {
|
|
let unsyncResult = self.unsync(value.guild_id, value);
|
|
}
|
|
iter2 = tmp();
|
|
iter = iter2;
|
|
} while (!iter2.done);
|
|
}
|
|
}
|
|
};
|
|
items[4] = {
|
|
key: "handleBackgroundSync",
|
|
value(guilds) {
|
|
let done;
|
|
let closure_0 = arg1;
|
|
let closure_1 = this;
|
|
function _loop(value) {
|
|
const arg1 = value;
|
|
const data_mode = value.data_mode;
|
|
if ("unavailable" !== data_mode) {
|
|
if ("partial" === data_mode) {
|
|
const id = value.id;
|
|
const channels = value.partial_updates.channels;
|
|
let mapped;
|
|
if (null != channels) {
|
|
mapped = channels.map((arg0) => callback(arg0, arg0.id));
|
|
}
|
|
if (null == mapped) {
|
|
mapped = [];
|
|
}
|
|
let deleted_channel_ids = value.partial_updates.deleted_channel_ids;
|
|
if (null == deleted_channel_ids) {
|
|
deleted_channel_ids = [];
|
|
}
|
|
self.onGuildUpdate(id, mapped, deleted_channel_ids, arg1);
|
|
const tmp4 = self;
|
|
} else {
|
|
self.onGuildSync(value.id, arg1);
|
|
}
|
|
}
|
|
}
|
|
const tmp = callback4(guilds.guilds);
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
let _loopResult = _loop(iter.value);
|
|
let iter2 = tmp();
|
|
iter = iter2;
|
|
done = iter2.done;
|
|
} while (!done);
|
|
}
|
|
}
|
|
};
|
|
items[5] = {
|
|
key: "handleConnectionOpen",
|
|
value: function handleConnectionOpen(guilds) {
|
|
let done;
|
|
const self = this;
|
|
const tmp = callback4(guilds.guilds);
|
|
let iter = tmp();
|
|
if (!iter.done) {
|
|
do {
|
|
let handleOneGuildCreateResult = self.handleOneGuildCreate(iter.value, arg1);
|
|
let iter2 = tmp();
|
|
iter = iter2;
|
|
done = iter2.done;
|
|
} while (!done);
|
|
}
|
|
}
|
|
};
|
|
const obj4 = { key: "handlePostConnectionOpen" };
|
|
let closure_0 = callback(async function() {
|
|
const self = this;
|
|
let closure_2;
|
|
let databaseResult;
|
|
closure_2 = closure_8.lastTimeConnectedChanged();
|
|
databaseResult = self(databaseResult[13]).database();
|
|
if (null != self.synced) {
|
|
if (null != databaseResult) {
|
|
if (obj2.isCacheEnabled()) {
|
|
const guildIds = guildIds.getGuildIds();
|
|
const _HermesInternal = HermesInternal;
|
|
closure_17.verbose("scheduling basic_channel optimstic writes (guilds: " + guildIds.filter((arg0) => {
|
|
const synced = self.synced;
|
|
return !synced.has(arg0);
|
|
}).length + ")");
|
|
function* _loop2(value) {
|
|
if (null != lib.synced) {
|
|
if (closure_3 === obj.database()) {
|
|
if (closure_2 === closure_8.lastTimeConnectedChanged()) {
|
|
const synced = lib.synced;
|
|
if (synced.has(tmp)) {
|
|
return 1;
|
|
} else {
|
|
const _HermesInternal = HermesInternal;
|
|
closure_17.verbose("optimstically writing basic_channels (guild: " + tmp + ")");
|
|
const items = [tmp];
|
|
yield closure_12.loadGuildIds(items);
|
|
yield closure_3.transaction((arg0) => closure_1.syncOne(arg0, arg0), "handlePostConnectionOpen");
|
|
yield new Promise((arg0) => setTimeout(arg0, 1000));
|
|
}
|
|
}
|
|
}
|
|
const obj = lib(closure_3[13]);
|
|
}
|
|
return 0;
|
|
}
|
|
const tmp7 = callback(guildIds);
|
|
const iter = tmp7();
|
|
let iter2 = iter;
|
|
if (!iter.done) {
|
|
const _Symbol = Symbol;
|
|
const _loop2Result = _loop2(iter2.value);
|
|
HermesBuiltin.ensureObject("iterator is not an object");
|
|
while (true) {
|
|
let iter3 = tmp12(undefined);
|
|
let tmp13 = iter3;
|
|
let str8 = "iterator.next() did not return an object";
|
|
let ensureObjectResult1 = HermesBuiltin.ensureObject("iterator.next() did not return an object");
|
|
if (!iter3.done) {
|
|
break;
|
|
} else {
|
|
while (true) {
|
|
let value = iter4.value;
|
|
if (0 === value) {
|
|
break;
|
|
} else {
|
|
if (1 !== value) {
|
|
if (value) {
|
|
return value.v;
|
|
}
|
|
}
|
|
let iter5 = tmp7();
|
|
iter2 = iter5;
|
|
if (iter5.done) {
|
|
break;
|
|
} else {
|
|
// continue label0
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
const tmp9 = _loop2(iter2.value)[Symbol.iterator]();
|
|
}
|
|
}
|
|
const obj2 = self(databaseResult[14]);
|
|
}
|
|
}
|
|
});
|
|
obj4.value = function handlePostConnectionOpen() {
|
|
return callback(...arguments);
|
|
};
|
|
items[6] = obj4;
|
|
items[7] = {
|
|
key: "handleGuildCreate",
|
|
value: function handleGuildCreate(guild) {
|
|
this.handleOneGuildCreate(guild.guild, arg1);
|
|
}
|
|
};
|
|
items[8] = {
|
|
key: "handleOneGuildCreate",
|
|
value: function handleOneGuildCreate(arg0, value) {
|
|
let channels;
|
|
let id;
|
|
const self = this;
|
|
({ id, channels } = arg0);
|
|
const op = channels.op;
|
|
if ("full_sync" === op) {
|
|
self.onGuildSync(id, value);
|
|
} else if ("update" === op) {
|
|
self.onGuildUpdate(id, channels.writes, channels.deletes, value);
|
|
}
|
|
}
|
|
};
|
|
items[9] = {
|
|
key: "handleGuildUpdate",
|
|
value: function handleGuildUpdate(guild, value) {
|
|
this.unsync(guild.guild.id, value);
|
|
}
|
|
};
|
|
items[10] = {
|
|
key: "handleGuildDelete",
|
|
value: function handleGuildDelete(guild) {
|
|
const self = this;
|
|
if (true !== guild.guild.unavailable) {
|
|
self.delete(guild.guild.id, arg1);
|
|
}
|
|
}
|
|
};
|
|
items[11] = {
|
|
key: "handleGuildRoleUpdate",
|
|
value: function handleGuildRoleUpdate(role, value) {
|
|
const self = this;
|
|
role = role.role;
|
|
role = role.getRole(role.guildId, role.id);
|
|
let equalsResult = null != role;
|
|
if (equalsResult) {
|
|
const obj = GuildBasicChannels(closure_3[15]);
|
|
equalsResult = obj.equals(GuildBasicChannels(closure_3[15]).deserialize(role.permissions), role.permissions);
|
|
const obj2 = GuildBasicChannels(closure_3[15]);
|
|
}
|
|
if (!equalsResult) {
|
|
self.unsync(role.guildId, value);
|
|
}
|
|
}
|
|
};
|
|
items[12] = {
|
|
key: "handleGuildMemberUpdate",
|
|
value: function handleGuildMemberUpdate(user, value) {
|
|
const self = this;
|
|
if (user.user.id === id.getId()) {
|
|
self.unsync(user.guildId, value);
|
|
}
|
|
}
|
|
};
|
|
items[13] = {
|
|
key: "handleWriteCaches",
|
|
value: function handleWriteCaches(arg0, arg1) {
|
|
this.sync(arg1);
|
|
}
|
|
};
|
|
items[14] = {
|
|
key: "resetInMemoryState",
|
|
value: function resetInMemoryState() {
|
|
this.synced = null;
|
|
}
|
|
};
|
|
items[15] = {
|
|
key: "onGuildUpdate",
|
|
value: function onGuildUpdate(id, mapped, deleted_channel_ids, value) {
|
|
const self = this;
|
|
if (tmp) {
|
|
self.unsync(id, value);
|
|
}
|
|
}
|
|
};
|
|
items[16] = {
|
|
key: "onGuildSync",
|
|
value: function onGuildSync(id, value) {
|
|
this.unsync(id, value);
|
|
}
|
|
};
|
|
items[17] = {
|
|
key: "delete",
|
|
value: function _delete(guild_id, value) {
|
|
this.unsync(guild_id, value);
|
|
const result = callback2(closure_3[13]).basicChannelsTransaction(value);
|
|
result.delete(guild_id);
|
|
const obj = callback2(closure_3[13]);
|
|
const result1 = callback2(closure_3[13]).syncedBasicChannelsTransaction(value);
|
|
result1.delete(guild_id);
|
|
}
|
|
};
|
|
items[18] = {
|
|
key: "unsync",
|
|
value: function unsync(guild_id, value) {
|
|
const synced = this.synced;
|
|
if (null != synced) {
|
|
synced.delete(guild_id);
|
|
}
|
|
const result = callback2(closure_3[13]).basicChannelsTransaction(value);
|
|
result.delete(guild_id);
|
|
const obj = callback2(closure_3[13]);
|
|
const result1 = callback2(closure_3[13]).syncedBasicChannelsTransaction(value);
|
|
result1.put(guild_id, false);
|
|
closure_16.invalidate(guild_id);
|
|
}
|
|
};
|
|
items[19] = {
|
|
key: "sync",
|
|
value: function sync(arg0) {
|
|
let iter2;
|
|
const self = this;
|
|
closure_17.verbose("Starting to write all basic channels");
|
|
const obj = { variant: false, allowFontScaling: true };
|
|
const tmp3 = callback4(store.getGuildIds());
|
|
let iter = tmp3();
|
|
if (!iter.done) {
|
|
do {
|
|
if (self.syncOne(iter.value, arg0)) {
|
|
obj.written = obj.written + 1;
|
|
} else {
|
|
obj.skipped = obj.skipped + 1;
|
|
}
|
|
iter2 = tmp3();
|
|
iter = iter2;
|
|
} while (!iter2.done);
|
|
}
|
|
closure_17.verbose("" + obj.written + " basic_channel guilds submitted (took: " + performance.now() - performance.now() + "ms, skipped: " + obj.skipped + " guilds)");
|
|
}
|
|
};
|
|
items[20] = {
|
|
key: "syncOne",
|
|
value: function syncOne(value, arg1) {
|
|
const self = this;
|
|
let tmp = null == store.getGuild(value);
|
|
if (!tmp) {
|
|
const synced = self.synced;
|
|
tmp = null != synced && synced.has(value);
|
|
const tmp2 = null != synced && synced.has(value);
|
|
}
|
|
let flag = !tmp;
|
|
if (flag) {
|
|
const synced2 = self.synced;
|
|
if (null != synced2) {
|
|
synced2.add(value);
|
|
}
|
|
const result = callback2(closure_3[13]).basicChannelsTransaction(arg1);
|
|
result.put(value, function computeBasicChannels(value) {
|
|
const values = Object.values(mutableGuildChannelsForGuild.getMutableGuildChannelsForGuild(value));
|
|
return values.map((id) => {
|
|
const obj = { id: id.id, type: id.type, guild_id: id.guild_id, parent_id: id.parent_id, basicPermissions: callback(closure_3[16]).asBasicFlag(closure_15.computePermissions(id)) };
|
|
return obj;
|
|
});
|
|
}(value));
|
|
const obj = callback2(closure_3[13]);
|
|
const result1 = callback2(closure_3[13]).syncedBasicChannelsTransaction(arg1);
|
|
result1.put(value, true);
|
|
flag = true;
|
|
const obj3 = callback2(closure_3[13]);
|
|
}
|
|
return flag;
|
|
}
|
|
};
|
|
return callback2(GuildBasicChannels, items);
|
|
}();
|
|
tmp4 = new tmp4();
|
|
const result = arg1(dependencyMap[17]).fileFinishedImporting("modules/app_database/modules/GuildBasicChannels.tsx");
|
|
|
|
export default tmp4;
|