Clean up nearly all promises to utilise chaining, other small fixes

This commit is contained in:
Schuyler Cebulskie
2016-10-30 16:27:28 -04:00
parent 8306d50bd8
commit 60e0d507f0
10 changed files with 482 additions and 620 deletions

View File

@@ -91,11 +91,9 @@ class ClientDataResolver {
*/
resolveGuildMember(guild, user) {
if (user instanceof GuildMember) return user;
guild = this.resolveGuild(guild);
user = this.resolveUser(user);
if (!guild || !user) return null;
return guild.members.get(user.id) || null;
}
@@ -136,7 +134,6 @@ class ClientDataResolver {
resolveInviteCode(data) {
const inviteRegex = /discord(?:app)?\.(?:gg|com\/invite)\/([a-z0-9]{5})/i;
const match = inviteRegex.exec(data);
if (match && match[1]) return match[1];
return data;
}
@@ -240,6 +237,8 @@ class ClientDataResolver {
* @returns {Promise<Buffer>}
*/
resolveFile(resource) {
if (resource instanceof Buffer) return Promise.resolve(resource);
if (typeof resource === 'string') {
return new Promise((resolve, reject) => {
if (/^https?:\/\//.test(resource)) {
@@ -259,8 +258,7 @@ class ClientDataResolver {
});
}
if (resource instanceof Buffer) return Promise.resolve(resource);
return Promise.reject(new TypeError('Resource must be a string or Buffer.'));
return Promise.reject(new TypeError('The resource must be a string or Buffer.'));
}
}