Potential patch

when calling create server, a partial server was returned. fixed that
This commit is contained in:
hydrabolt
2015-08-25 14:42:38 +01:00
parent dd941ab604
commit 4f179901c6
4 changed files with 106 additions and 105 deletions

View File

@@ -39,6 +39,7 @@ var Client = (function () {
this.events = new Map(); this.events = new Map();
this.user = null; this.user = null;
this.alreadySentData = false; this.alreadySentData = false;
this.serverCreateListener = new Map();
/* /*
State values: State values:
0 - idle 0 - idle
@@ -179,9 +180,13 @@ var Client = (function () {
callback(err); callback(err);
reject(err); reject(err);
} else { } else {
var srv = self.addServer(res.body); // potentially redundant in future
callback(null, srv); // creating here does NOT give us the channels of the server
resolve(srv); // so we must wait for the guild_create event.
self.serverCreateListener.set(res.body.id, [resolve, callback]);
/*var srv = self.addServer(res.body);
callback(null, srv);
resolve(srv);*/
} }
}); });
}); });
@@ -495,36 +500,21 @@ var Client = (function () {
if (!server) { if (!server) {
//if server doesn't already exist because duh //if server doesn't already exist because duh
var serv = self.addServer(data); server = self.addServer(data);
} else if (server.channels.length === 0) { } /*else if(server.channels.length === 0){
var srv = new Server(data, self);
for(channel of data.channels){
srv.channels.push(new Channel(channel, data.id));
}
self.serverCache[self.serverCache.indexOf(server)] = srv;
}*/
var srv = new Server(data, self); if (self.serverCreateListener.get(data.id)) {
var _iteratorNormalCompletion4 = true; var cbs = self.serverCreateListener.get(data.id);
var _didIteratorError4 = false; cbs[0](server); //promise then callback
var _iteratorError4 = undefined; cbs[1](null, server); //legacy callback
try {
for (var _iterator4 = data.channels[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
channel = _step4.value;
srv.channels.push(new Channel(channel, data.id));
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
self.serverCache[self.serverCache.indexOf(server)] = srv;
} }
self.trigger("serverCreate", server); self.trigger("serverCreate", server);
@@ -661,27 +651,27 @@ var Client = (function () {
if (!server) { if (!server) {
server = new Server(data, this); server = new Server(data, this);
if (data.channels) { if (data.channels) {
var _iteratorNormalCompletion5 = true; var _iteratorNormalCompletion4 = true;
var _didIteratorError5 = false; var _didIteratorError4 = false;
var _iteratorError5 = undefined; var _iteratorError4 = undefined;
try { try {
for (var _iterator5 = data.channels[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { for (var _iterator4 = data.channels[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var channel = _step5.value; var channel = _step4.value;
server.channels.push(this.addChannel(channel, server.id)); server.channels.push(this.addChannel(channel, server.id));
} }
} catch (err) { } catch (err) {
_didIteratorError5 = true; _didIteratorError4 = true;
_iteratorError5 = err; _iteratorError4 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) { if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator5["return"](); _iterator4["return"]();
} }
} finally { } finally {
if (_didIteratorError5) { if (_didIteratorError4) {
throw _iteratorError5; throw _iteratorError4;
} }
} }
} }
@@ -696,16 +686,50 @@ var Client = (function () {
}, { }, {
key: "getUser", key: "getUser",
value: function getUser(key, value) { value: function getUser(key, value) {
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator5 = this.userCache[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var user = _step5.value;
if (user[key] === value) {
return user;
}
}
} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
return null;
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion6 = true; var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false; var _didIteratorError6 = false;
var _iteratorError6 = undefined; var _iteratorError6 = undefined;
try { try {
for (var _iterator6 = this.userCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { for (var _iterator6 = this.channelCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var user = _step6.value; var channel = _step6.value;
if (user[key] === value) { if (channel[key] === value) {
return user; return channel;
} }
} }
} catch (err) { } catch (err) {
@@ -726,20 +750,20 @@ var Client = (function () {
return null; return null;
} }
//def getChannel //def getServer
}, { }, {
key: "getChannel", key: "getServer",
value: function getChannel(key, value) { value: function getServer(key, value) {
var _iteratorNormalCompletion7 = true; var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false; var _didIteratorError7 = false;
var _iteratorError7 = undefined; var _iteratorError7 = undefined;
try { try {
for (var _iterator7 = this.channelCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { for (var _iterator7 = this.serverCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var channel = _step7.value; var server = _step7.value;
if (channel[key] === value) { if (server[key] === value) {
return channel; return server;
} }
} }
} catch (err) { } catch (err) {
@@ -760,40 +784,6 @@ var Client = (function () {
return null; return null;
} }
//def getServer
}, {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator8 = this.serverCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var server = _step8.value;
if (server[key] === value) {
return server;
}
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
return null;
}
//def trySendConnData //def trySendConnData
}, { }, {
key: "trySendConnData", key: "trySendConnData",
@@ -861,27 +851,27 @@ var Client = (function () {
get: function get() { get: function get() {
var msgs = []; var msgs = [];
var _iteratorNormalCompletion9 = true; var _iteratorNormalCompletion8 = true;
var _didIteratorError9 = false; var _didIteratorError8 = false;
var _iteratorError9 = undefined; var _iteratorError8 = undefined;
try { try {
for (var _iterator9 = this.channelCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { for (var _iterator8 = this.channelCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var channel = _step9.value; var channel = _step8.value;
msgs = msgs.concat(channel.messages); msgs = msgs.concat(channel.messages);
} }
} catch (err) { } catch (err) {
_didIteratorError9 = true; _didIteratorError8 = true;
_iteratorError9 = err; _iteratorError8 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion9 && _iterator9["return"]) { if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator9["return"](); _iterator8["return"]();
} }
} finally { } finally {
if (_didIteratorError9) { if (_didIteratorError8) {
throw _iteratorError9; throw _iteratorError8;
} }
} }
} }

View File

@@ -24,7 +24,7 @@ var Invite = (function () {
} }
_createClass(Invite, [{ _createClass(Invite, [{
key: "inviteURL", key: "URL",
get: function get() { get: function get() {
var code = this.xkcd ? this.xkcdpass : this.code; var code = this.xkcd ? this.xkcdpass : this.code;
return "https://discord.gg/" + code; return "https://discord.gg/" + code;

View File

@@ -29,6 +29,7 @@ class Client {
this.events = new Map(); this.events = new Map();
this.user = null; this.user = null;
this.alreadySentData = false; this.alreadySentData = false;
this.serverCreateListener = new Map();
/* /*
State values: State values:
0 - idle 0 - idle
@@ -196,9 +197,13 @@ class Client {
callback(err); callback(err);
reject(err); reject(err);
} else { } else {
var srv = self.addServer(res.body); // potentially redundant in future
// creating here does NOT give us the channels of the server
// so we must wait for the guild_create event.
self.serverCreateListener.set(res.body.id, [resolve, callback]);
/*var srv = self.addServer(res.body);
callback(null, srv); callback(null, srv);
resolve(srv); resolve(srv);*/
} }
}); });
@@ -464,8 +469,8 @@ class Client {
if (!server) { if (!server) {
//if server doesn't already exist because duh //if server doesn't already exist because duh
var serv = self.addServer(data); server = self.addServer(data);
}else if(server.channels.length === 0){ }/*else if(server.channels.length === 0){
var srv = new Server(data, self); var srv = new Server(data, self);
for(channel of data.channels){ for(channel of data.channels){
@@ -473,6 +478,12 @@ class Client {
} }
self.serverCache[self.serverCache.indexOf(server)] = srv; self.serverCache[self.serverCache.indexOf(server)] = srv;
}*/
if(self.serverCreateListener.get(data.id)){
var cbs = self.serverCreateListener.get(data.id);
cbs[0](server); //promise then callback
cbs[1](null, server); //legacy callback
} }
self.trigger("serverCreate", server); self.trigger("serverCreate", server);

View File

@@ -15,7 +15,7 @@ class Invite {
this.channel = client.getChannel("id", data.channel.id); this.channel = client.getChannel("id", data.channel.id);
} }
get inviteURL() { get URL() {
var code = (this.xkcd ? this.xkcdpass : this.code); var code = (this.xkcd ? this.xkcdpass : this.code);
return "https://discord.gg/" + code; return "https://discord.gg/" + code;
} }