Skip to content

Commit 2da2fa0

Browse files
WhatCatsalmeidx
authored andcommitted
feat: optimize role manager cache getter (#11239)
Co-authored-by: Almeida <github@almeidx.dev>
1 parent 1c57016 commit 2da2fa0

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

packages/discord.js/src/managers/GuildEmojiRoleManager.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ class GuildEmojiRoleManager extends DataManager {
3131
* @readonly
3232
*/
3333
get cache() {
34-
return this.guild.roles.cache.filter(role => this.emoji._roles.includes(role.id));
34+
const cache = new Collection();
35+
for (const roleId of this.emoji._roles) {
36+
const role = this.guild.roles.cache.get(roleId);
37+
if (role !== undefined) {
38+
cache.set(roleId, role);
39+
}
40+
}
41+
42+
return cache;
3543
}
3644

3745
/**

packages/discord.js/src/managers/GuildMemberRoleManager.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,17 @@ class GuildMemberRoleManager extends DataManager {
3333
* @readonly
3434
*/
3535
get cache() {
36-
const everyone = this.guild.roles.everyone;
37-
return this.guild.roles.cache.filter(role => this.member._roles.includes(role.id)).set(everyone.id, everyone);
36+
const cache = new Collection();
37+
cache.set(this.guild.id, this.guild.roles.everyone);
38+
39+
for (const roleId of this.member._roles) {
40+
const role = this.guild.roles.cache.get(roleId);
41+
if (role !== undefined) {
42+
cache.set(roleId, role);
43+
}
44+
}
45+
46+
return cache;
3847
}
3948

4049
/**

0 commit comments

Comments
 (0)