From 04c28880f787a1bf7e8c93610cc47c42ed230ade Mon Sep 17 00:00:00 2001 From: almeidx Date: Sun, 9 Apr 2023 01:41:17 +0100 Subject: [PATCH] perf(RoleManager): dont call Role#position getter twice per role --- packages/discord.js/src/managers/RoleManager.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/discord.js/src/managers/RoleManager.js b/packages/discord.js/src/managers/RoleManager.js index 87b9e5656935..e0c4ed7d97c7 100644 --- a/packages/discord.js/src/managers/RoleManager.js +++ b/packages/discord.js/src/managers/RoleManager.js @@ -307,11 +307,14 @@ class RoleManager extends CachedManager { throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'role', 'Role nor a Snowflake'); } - if (resolvedRole1.position === resolvedRole2.position) { + const role1Position = resolvedRole1.position; + const role2Position = resolvedRole2.position; + + if (role1Position === role2Position) { return Number(BigInt(resolvedRole2.id) - BigInt(resolvedRole1.id)); } - return resolvedRole1.position - resolvedRole2.position; + return role1Position - role2Position; } /**