refactor: make Structure#deleted a getter to a WeakSet (#7074)

This commit is contained in:
Antonio Román
2021-12-08 10:47:54 +01:00
committed by GitHub
parent f410536c51
commit b0937502d3
51 changed files with 297 additions and 120 deletions

View File

@@ -7,6 +7,13 @@ const { Error } = require('../errors');
const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager');
const Permissions = require('../util/Permissions');
/**
* @type {WeakSet<GuildMember>}
* @private
* @internal
*/
const deletedGuildMembers = new WeakSet();
/**
* Represents a member of a guild on Discord.
* @implements {TextBasedChannel}
@@ -34,12 +41,6 @@ class GuildMember extends Base {
*/
this.premiumSinceTimestamp = null;
/**
* Whether the member has been removed from the guild
* @type {boolean}
*/
this.deleted = false;
/**
* The nickname of this member, if they have one
* @type {?string}
@@ -89,6 +90,19 @@ class GuildMember extends Base {
return clone;
}
/**
* Whether or not the structure has been deleted
* @type {boolean}
*/
get deleted() {
return deletedGuildMembers.has(this);
}
set deleted(value) {
if (value) deletedGuildMembers.add(this);
else deletedGuildMembers.delete(this);
}
/**
* Whether this GuildMember is a partial
* @type {boolean}
@@ -384,7 +398,8 @@ class GuildMember extends Base {
TextBasedChannel.applyToClass(GuildMember);
module.exports = GuildMember;
exports.GuildMember = GuildMember;
exports.deletedGuildMembers = deletedGuildMembers;
/**
* @external APIGuildMember