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

@@ -10,7 +10,7 @@ const Embed = require('./MessageEmbed');
const Mentions = require('./MessageMentions');
const MessagePayload = require('./MessagePayload');
const ReactionCollector = require('./ReactionCollector');
const Sticker = require('./Sticker');
const { Sticker } = require('./Sticker');
const { Error } = require('../errors');
const ReactionManager = require('../managers/ReactionManager');
const { InteractionTypes, MessageTypes, SystemMessageTypes } = require('../util/Constants');
@@ -19,6 +19,13 @@ const Permissions = require('../util/Permissions');
const SnowflakeUtil = require('../util/SnowflakeUtil');
const Util = require('../util/Util');
/**
* @type {WeakSet<Message>}
* @private
* @internal
*/
const deletedMessages = new WeakSet();
/**
* Represents a message on Discord.
* @extends {Base}
@@ -39,12 +46,6 @@ class Message extends Base {
*/
this.guildId = data.guild_id ?? this.channel?.guild?.id ?? null;
/**
* Whether this message has been deleted
* @type {boolean}
*/
this.deleted = false;
this._patch(data);
}
@@ -348,6 +349,19 @@ class Message extends Base {
}
}
/**
* Whether or not the structure has been deleted
* @type {boolean}
*/
get deleted() {
return deletedMessages.has(this);
}
set deleted(value) {
if (value) deletedMessages.add(this);
else deletedMessages.delete(this);
}
/**
* The channel that the message was sent in
* @type {TextChannel|DMChannel|NewsChannel|ThreadChannel}
@@ -942,4 +956,5 @@ class Message extends Base {
}
}
module.exports = Message;
exports.Message = Message;
exports.deletedMessages = deletedMessages;