diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index e813048a5..49b919e44 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -943,9 +943,24 @@ var InternalClient = (function () { var roledata = role.server.rolesOf(member); if (roledata) { - return roledata.find(function (r) { - return r.id == role.id; - }); + for (var _iterator6 = roledata, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { + var _ref6; + + if (_isArray6) { + if (_i6 >= _iterator6.length) break; + _ref6 = _iterator6[_i6++]; + } else { + _i6 = _iterator6.next(); + if (_i6.done) break; + _ref6 = _i6.value; + } + + var r = _ref6; + + if (r.id == role.id) { + return r; + } + } } return null; }; @@ -978,19 +993,19 @@ var InternalClient = (function () { return r.id; }); - for (var _iterator6 = roles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref6; + for (var _iterator7 = roles, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { + var _ref7; - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; + if (_isArray7) { + if (_i7 >= _iterator7.length) break; + _ref7 = _iterator7[_i7++]; } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; + _i7 = _iterator7.next(); + if (_i7.done) break; + _ref7 = _i7.value; } - var role = _ref6; + var role = _ref7; if (!role.server.memberMap[member.id]) { return Promise.reject(new Error("member not in server")); @@ -1512,26 +1527,7 @@ var InternalClient = (function () { if (!data.unavailable) { client.emit("serverDeleted", server); - for (var _iterator7 = server.channels, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref7; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref7 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref7 = _i7.value; - } - - var channel = _ref7; - - self.channels.remove(channel); - } - - self.servers.remove(server); - - for (var _iterator8 = server.members, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { + for (var _iterator8 = server.channels, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { var _ref8; if (_isArray8) { @@ -1543,11 +1539,48 @@ var InternalClient = (function () { _ref8 = _i8.value; } - var user = _ref8; + var channel = _ref8; - if (!self.servers.find(function (s) { - return !!s.members.get("id", user.id); - })) { + self.channels.remove(channel); + } + + self.servers.remove(server); + + for (var _iterator9 = server.members, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { + var _ref9; + + if (_isArray9) { + if (_i9 >= _iterator9.length) break; + _ref9 = _iterator9[_i9++]; + } else { + _i9 = _iterator9.next(); + if (_i9.done) break; + _ref9 = _i9.value; + } + + var user = _ref9; + + var found = false; + for (var _iterator10 = self.servers, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { + var _ref10; + + if (_isArray10) { + if (_i10 >= _iterator10.length) break; + _ref10 = _iterator10[_i10++]; + } else { + _i10 = _iterator10.next(); + if (_i10.done) break; + _ref10 = _i10.value; + } + + var server = _ref10; + + if (s.members.get("id", user.id)) { + found = true; + break; + } + } + if (!found) { self.users.remove(user); } } @@ -1718,9 +1751,27 @@ var InternalClient = (function () { server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - if (!self.servers.find(function (s) { - return !!s.members.get("id", user.id); - })) { + var found = false; + for (var _iterator11 = self.servers, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { + var _ref11; + + if (_isArray11) { + if (_i11 >= _iterator11.length) break; + _ref11 = _iterator11[_i11++]; + } else { + _i11 = _iterator11.next(); + if (_i11.done) break; + _ref11 = _i11.value; + } + + var server = _ref11; + + if (s.members.get("id", user.id)) { + found = true; + break; + } + } + if (!found) { self.users.remove(user); } } else { @@ -1876,19 +1927,19 @@ var InternalClient = (function () { var testtime = new Date().getTime(); - for (var _iterator9 = data.members, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref9; + for (var _iterator12 = data.members, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { + var _ref12; - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref9 = _iterator9[_i9++]; + if (_isArray12) { + if (_i12 >= _iterator12.length) break; + _ref12 = _iterator12[_i12++]; } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref9 = _i9.value; + _i12 = _iterator12.next(); + if (_i12.done) break; + _ref12 = _i12.value; } - var user = _ref9; + var user = _ref12; server.memberMap[user.user.id] = { roles: user.roles.map(function (pid) { diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index b5594bd6c..0cb5d2be3 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -758,7 +758,11 @@ export default class InternalClient { var roledata = role.server.rolesOf(member); if (roledata) { - return roledata.find(r => r.id == role.id); + for (var r of roledata) { + if (r.id == role.id) { + return r; + } + } } return null; } @@ -1274,7 +1278,14 @@ export default class InternalClient { self.servers.remove(server); for (var user of server.members) { - if (!self.servers.find((s) => !!s.members.get("id", user.id))) { + var found = false; + for (var server of self.servers) { + if (s.members.get("id", user.id)) { + found = true; + break; + } + } + if (!found) { self.users.remove(user); } } @@ -1452,7 +1463,14 @@ export default class InternalClient { server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - if (!self.servers.find((s) => !!s.members.get("id", user.id))) { + var found = false; + for (var server of self.servers) { + if (s.members.get("id", user.id)) { + found = true; + break; + } + } + if (!found) { self.users.remove(user); } } else {