From 2971eccbd22f973ab5ccba64661c3ca6929c0fbb Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Wed, 26 Aug 2015 13:01:59 +0100 Subject: [PATCH] Moved to resolve destination --- lib/Client.js | 357 +++++++++++++++++++++++++------------------------- src/Client.js | 72 +++++----- 2 files changed, 220 insertions(+), 209 deletions(-) diff --git a/lib/Client.js b/lib/Client.js index 02687d0f2..467651f1e 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -528,6 +528,9 @@ var Client = (function () { }); }); } + }, { + key: "sendFile", + value: function sendFile(destination) {} }, { key: "sendMessage", value: function sendMessage(destination, message) { @@ -540,7 +543,7 @@ var Client = (function () { message = premessage + resolveMessage(message); var mentions = resolveMentions(); - destination = resolveDestination(destination); + destination = self.resolveDestination(destination); if (destination) send(); @@ -596,58 +599,6 @@ var Client = (function () { }); } - function resolveDestination() { - var channId = false; - - if (destination instanceof Server) { - channId = destination.id; //general is the same as server id - } else if (destination instanceof Channel) { - channId = destination.id; - } else if (destination instanceof Message) { - channId = destination.channel.id; - } else if (destination instanceof User) { - - //check if we have a PM - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = self.pmChannelCache[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var pmc = _step4.value; - - if (pmc.user.equals(destination)) { - return pmc.id; - } - } - - //we don't, at this point we're late - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4["return"]) { - _iterator4["return"](); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - self.startPM(destination).then(function (pmc) { - destination = pmc.id; - send(); - }); - } else { - channId = destination; - } - - return channId; - } - function resolveMessage() { var msg = message; if (message instanceof Array) { @@ -658,27 +609,27 @@ var Client = (function () { function resolveMentions() { var _mentions = []; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; try { - for (var _iterator5 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var mention = _step5.value; + for (var _iterator4 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var mention = _step4.value; _mentions.push(mention.substring(2, mention.length - 1)); } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _didIteratorError4 = true; + _iteratorError4 = err; } finally { try { - if (!_iteratorNormalCompletion5 && _iterator5["return"]) { - _iterator5["return"](); + if (!_iteratorNormalCompletion4 && _iterator4["return"]) { + _iterator4["return"](); } } finally { - if (_didIteratorError5) { - throw _iteratorError5; + if (_didIteratorError4) { + throw _iteratorError4; } } } @@ -731,15 +682,40 @@ var Client = (function () { self.user = self.addUser(data.user); + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = data.guilds[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var _server = _step5.value; + + var server = self.addServer(_server); + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5["return"]) { + _iterator5["return"](); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + var _iteratorNormalCompletion6 = true; var _didIteratorError6 = false; var _iteratorError6 = undefined; try { - for (var _iterator6 = data.guilds[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var _server = _step6.value; + for (var _iterator6 = data.private_channels[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var _pmc = _step6.value; - var server = self.addServer(_server); + var pmc = self.addPMChannel(_pmc); } } catch (err) { _didIteratorError6 = true; @@ -756,31 +732,6 @@ var Client = (function () { } } - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; - - try { - for (var _iterator7 = data.private_channels[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var _pmc = _step7.value; - - var pmc = self.addPMChannel(_pmc); - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7["return"]) { - _iterator7["return"](); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } - } - self.trigger("ready"); self.readyTime = Date.now(); self.debug("cached " + self.serverCache.length + " servers, " + self.channelCache.length + " channels, " + self.pmChannelCache.length + " PMs and " + self.userCache.length + " users."); @@ -795,27 +746,27 @@ var Client = (function () { var mentions = []; data.mentions = data.mentions || []; //for some reason this was not defined at some point? - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; + var _iteratorNormalCompletion7 = true; + var _didIteratorError7 = false; + var _iteratorError7 = undefined; try { - for (var _iterator8 = data.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { - var mention = _step8.value; + for (var _iterator7 = data.mentions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + var mention = _step7.value; mentions.push(self.addUser(mention)); } } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; + _didIteratorError7 = true; + _iteratorError7 = err; } finally { try { - if (!_iteratorNormalCompletion8 && _iterator8["return"]) { - _iterator8["return"](); + if (!_iteratorNormalCompletion7 && _iterator7["return"]) { + _iterator7["return"](); } } finally { - if (_didIteratorError8) { - throw _iteratorError8; + if (_didIteratorError7) { + throw _iteratorError7; } } } @@ -860,27 +811,27 @@ var Client = (function () { } var mentions = []; - var _iteratorNormalCompletion9 = true; - var _didIteratorError9 = false; - var _iteratorError9 = undefined; + var _iteratorNormalCompletion8 = true; + var _didIteratorError8 = false; + var _iteratorError8 = undefined; try { - for (var _iterator9 = info.mentions[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { - var mention = _step9.value; + for (var _iterator8 = info.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { + var mention = _step8.value; mentions.push(self.addUser(mention)); } } catch (err) { - _didIteratorError9 = true; - _iteratorError9 = err; + _didIteratorError8 = true; + _iteratorError8 = err; } finally { try { - if (!_iteratorNormalCompletion9 && _iterator9["return"]) { - _iterator9["return"](); + if (!_iteratorNormalCompletion8 && _iterator8["return"]) { + _iterator8["return"](); } } finally { - if (_didIteratorError9) { - throw _iteratorError9; + if (_didIteratorError8) { + throw _iteratorError8; } } } @@ -1095,27 +1046,27 @@ var Client = (function () { server = new Server(data, this); this.serverCache.push(server); if (data.channels) { - var _iteratorNormalCompletion10 = true; - var _didIteratorError10 = false; - var _iteratorError10 = undefined; + var _iteratorNormalCompletion9 = true; + var _didIteratorError9 = false; + var _iteratorError9 = undefined; try { - for (var _iterator10 = data.channels[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { - var channel = _step10.value; + for (var _iterator9 = data.channels[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { + var channel = _step9.value; server.channels.push(this.addChannel(channel, server.id)); } } catch (err) { - _didIteratorError10 = true; - _iteratorError10 = err; + _didIteratorError9 = true; + _iteratorError9 = err; } finally { try { - if (!_iteratorNormalCompletion10 && _iterator10["return"]) { - _iterator10["return"](); + if (!_iteratorNormalCompletion9 && _iterator9["return"]) { + _iterator9["return"](); } } finally { - if (_didIteratorError10) { - throw _iteratorError10; + if (_didIteratorError9) { + throw _iteratorError9; } } } @@ -1129,16 +1080,50 @@ var Client = (function () { }, { key: "getUser", value: function getUser(key, value) { + var _iteratorNormalCompletion10 = true; + var _didIteratorError10 = false; + var _iteratorError10 = undefined; + + try { + for (var _iterator10 = this.userCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { + var user = _step10.value; + + if (user[key] === value) { + return user; + } + } + } catch (err) { + _didIteratorError10 = true; + _iteratorError10 = err; + } finally { + try { + if (!_iteratorNormalCompletion10 && _iterator10["return"]) { + _iterator10["return"](); + } + } finally { + if (_didIteratorError10) { + throw _iteratorError10; + } + } + } + + return null; + } + + //def getChannel + }, { + key: "getChannel", + value: function getChannel(key, value) { var _iteratorNormalCompletion11 = true; var _didIteratorError11 = false; var _iteratorError11 = undefined; try { - for (var _iterator11 = this.userCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { - var user = _step11.value; + for (var _iterator11 = this.channelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { + var channel = _step11.value; - if (user[key] === value) { - return user; + if (channel[key] === value) { + return channel; } } } catch (err) { @@ -1156,19 +1141,17 @@ var Client = (function () { } } - return null; + return this.getPMChannel(key, value); //might be a PM } - - //def getChannel }, { - key: "getChannel", - value: function getChannel(key, value) { + key: "getPMChannel", + value: function getPMChannel(key, value) { var _iteratorNormalCompletion12 = true; var _didIteratorError12 = false; var _iteratorError12 = undefined; try { - for (var _iterator12 = this.channelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { + for (var _iterator12 = this.pmChannelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { var channel = _step12.value; if (channel[key] === value) { @@ -1190,21 +1173,23 @@ var Client = (function () { } } - return this.getPMChannel(key, value); //might be a PM + return null; } + + //def getServer }, { - key: "getPMChannel", - value: function getPMChannel(key, value) { + key: "getServer", + value: function getServer(key, value) { var _iteratorNormalCompletion13 = true; var _didIteratorError13 = false; var _iteratorError13 = undefined; try { - for (var _iterator13 = this.pmChannelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { - var channel = _step13.value; + for (var _iterator13 = this.serverCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { + var server = _step13.value; - if (channel[key] === value) { - return channel; + if (server[key] === value) { + return server; } } } catch (err) { @@ -1225,40 +1210,6 @@ var Client = (function () { return null; } - //def getServer - }, { - key: "getServer", - value: function getServer(key, value) { - var _iteratorNormalCompletion14 = true; - var _didIteratorError14 = false; - var _iteratorError14 = undefined; - - try { - for (var _iterator14 = this.serverCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { - var server = _step14.value; - - if (server[key] === value) { - return server; - } - } - } catch (err) { - _didIteratorError14 = true; - _iteratorError14 = err; - } finally { - try { - if (!_iteratorNormalCompletion14 && _iterator14["return"]) { - _iterator14["return"](); - } - } finally { - if (_didIteratorError14) { - throw _iteratorError14; - } - } - } - - return null; - } - //def trySendConnData }, { key: "trySendConnData", @@ -1295,6 +1246,60 @@ var Client = (function () { return resource; } } + }, { + key: "resolveDestination", + value: function resolveDestination(destination) { + var channId = false; + var self = this; + + return new Promise(function (resolve, reject) { + if (destination instanceof Server) { + channId = destination.id; //general is the same as server id + } else if (destination instanceof Channel) { + channId = destination.id; + } else if (destination instanceof Message) { + channId = destination.channel.id; + } else if (destination instanceof User) { + + //check if we have a PM + var _iteratorNormalCompletion14 = true; + var _didIteratorError14 = false; + var _iteratorError14 = undefined; + + try { + for (var _iterator14 = self.pmChannelCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { + var pmc = _step14.value; + + if (pmc.user.equals(destination)) { + return pmc.id; + } + } + + //we don't, at this point we're late + } catch (err) { + _didIteratorError14 = true; + _iteratorError14 = err; + } finally { + try { + if (!_iteratorNormalCompletion14 && _iterator14["return"]) { + _iterator14["return"](); + } + } finally { + if (_didIteratorError14) { + throw _iteratorError14; + } + } + } + + self.startPM(destination).then(function (pmc) { + resolve(pmc.id); + })["catch"](reject); + } else { + channId = destination; + } + if (channId) resolve(channId); + }); + } }, { key: "uptime", get: function get() { diff --git a/src/Client.js b/src/Client.js index 3f152c711..5cfd2e44a 100644 --- a/src/Client.js +++ b/src/Client.js @@ -72,7 +72,7 @@ class Client { get users() { return this.userCache; } - + get PMChannels() { return this.pmChannelCache; } @@ -543,6 +543,10 @@ class Client { } + sendFile(destination) { + + } + sendMessage(destination, message, callback = function (err, msg) { }, premessage = "") { var self = this; @@ -551,7 +555,7 @@ class Client { message = premessage + resolveMessage(message); var mentions = resolveMentions(); - destination = resolveDestination(destination); + destination = self.resolveDestination(destination); if (destination) send(); @@ -593,37 +597,6 @@ class Client { } - function resolveDestination() { - var channId = false; - - if (destination instanceof Server) { - channId = destination.id; //general is the same as server id - } else if (destination instanceof Channel) { - channId = destination.id; - } else if (destination instanceof Message) { - channId = destination.channel.id; - } else if (destination instanceof User) { - - //check if we have a PM - for (var pmc of self.pmChannelCache) { - if (pmc.user.equals(destination)) { - return pmc.id; - } - } - - //we don't, at this point we're late - self.startPM(destination).then(function (pmc) { - destination = pmc.id; - send(); - }); - - } else { - channId = destination; - } - - return channId; - } - function resolveMessage() { var msg = message; if (message instanceof Array) { @@ -1049,6 +1022,39 @@ class Client { } + resolveDestination(destination) { + var channId = false; + var self = this; + + return new Promise(function (resolve, reject) { + if (destination instanceof Server) { + channId = destination.id; //general is the same as server id + } else if (destination instanceof Channel) { + channId = destination.id; + } else if (destination instanceof Message) { + channId = destination.channel.id; + } else if (destination instanceof User) { + + //check if we have a PM + for (var pmc of self.pmChannelCache) { + if (pmc.user.equals(destination)) { + return pmc.id; + } + } + + //we don't, at this point we're late + self.startPM(destination).then(function (pmc) { + resolve(pmc.id); + }).catch(reject); + + } else { + channId = destination; + } + if(channId) + resolve(channId); + }); + } + } module.exports = Client; \ No newline at end of file