From a8509c91ca0147393b407221405b6b917677961a Mon Sep 17 00:00:00 2001 From: Rodry <38259440+ImRodry@users.noreply.github.com> Date: Sun, 9 Jan 2022 20:48:45 +0000 Subject: [PATCH] fix(timestamps): account for timestamps of 0 when creating Dates (#7226) --- packages/discord.js/src/managers/GuildMemberManager.js | 5 ++++- packages/discord.js/src/structures/MessageEmbed.js | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/discord.js/src/managers/GuildMemberManager.js b/packages/discord.js/src/managers/GuildMemberManager.js index 9b4defa6f..fec36ed53 100644 --- a/packages/discord.js/src/managers/GuildMemberManager.js +++ b/packages/discord.js/src/managers/GuildMemberManager.js @@ -266,7 +266,10 @@ class GuildMemberManager extends CachedManager { _data.roles &&= _data.roles.map(role => (role instanceof Role ? role.id : role)); _data.communication_disabled_until = - _data.communicationDisabledUntil && new Date(_data.communicationDisabledUntil).toISOString(); + // eslint-disable-next-line eqeqeq + _data.communicationDisabledUntil != null + ? new Date(_data.communicationDisabledUntil).toISOString() + : _data.communicationDisabledUntil; let endpoint = this.client.api.guilds(this.guild.id); if (id === this.client.user.id) { diff --git a/packages/discord.js/src/structures/MessageEmbed.js b/packages/discord.js/src/structures/MessageEmbed.js index ee2a9b55c..06a808449 100644 --- a/packages/discord.js/src/structures/MessageEmbed.js +++ b/packages/discord.js/src/structures/MessageEmbed.js @@ -88,8 +88,8 @@ class MessageEmbed { * @type {?number} */ // Date.parse() cannot be used here because data.timestamp might be a number - // Additionally, the nullish coalescing operator cannot be used here as we're checking for 0 - this.timestamp = new Date(data.timestamp).getTime() || null; + // eslint-disable-next-line eqeqeq + this.timestamp = data.timestamp != null ? new Date(data.timestamp).getTime() : null; /** * Represents a field of a MessageEmbed @@ -242,7 +242,7 @@ class MessageEmbed { * @readonly */ get createdAt() { - return this.timestamp && new Date(this.timestamp); + return typeof this.timestamp === 'number' ? new Date(this.timestamp) : null; } /**