From 75cd2608082f9f587c9beca84870d5b144c118eb Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Tue, 23 Apr 2019 21:44:02 +0300 Subject: [PATCH] src: Don't use the GuildMemberRoleStore to patch the GuildMember _roles (#3226) * src: Don't use the GuildMemberRoleStore for patching GuildMember#_roles * src: Remove usage of _patch from the store * src: Finish up clone changes --- src/stores/GuildMemberRoleStore.js | 10 +++------- src/structures/GuildMember.js | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/stores/GuildMemberRoleStore.js b/src/stores/GuildMemberRoleStore.js index 7b44a3536..527706299 100644 --- a/src/stores/GuildMemberRoleStore.js +++ b/src/stores/GuildMemberRoleStore.js @@ -84,7 +84,7 @@ class GuildMemberRoleStore extends Collection { await this.client.api.guilds[this.guild.id].members[this.member.id].roles[roleOrRoles.id].put({ reason }); const clone = this.member._clone(); - clone.roles._patch([...this.keys(), roleOrRoles.id]); + clone._roles = [...this.keys(), roleOrRoles.id]; return clone; } } @@ -116,7 +116,7 @@ class GuildMemberRoleStore extends Collection { const clone = this.member._clone(); const newRoles = this.filter(role => role.id !== roleOrRoles.id); - clone.roles._patch([...newRoles.keys()]); + clone._roles = [...newRoles.keys()]; return clone; } } @@ -141,13 +141,9 @@ class GuildMemberRoleStore extends Collection { return this.member.edit({ roles }, reason); } - _patch(roles) { - this.member._roles = roles; - } - clone() { const clone = new this.constructor(this.member); - clone._patch(this.keyArray()); + clone.member._roles = [...this.keyArray()]; return clone; } diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index e0abea443..567c27e8a 100644 --- a/src/structures/GuildMember.js +++ b/src/structures/GuildMember.js @@ -76,7 +76,7 @@ class GuildMember extends Base { if (data.joined_at) this.joinedTimestamp = new Date(data.joined_at).getTime(); if (data.user) this.user = this.guild.client.users.add(data.user); - if (data.roles) this.roles._patch(data.roles); + if (data.roles) this._roles = data.roles; } _clone() {