refactor(embed): deprecate addField (#8318)

Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com>
Co-authored-by: Almeida <almeidx@pm.me>
This commit is contained in:
pat
2022-07-23 16:39:03 -05:00
committed by GitHub
parent e95caa7e45
commit be35db2410
2 changed files with 12 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ const Util = require('../util/Util');
let deprecationEmittedForSetAuthor = false;
let deprecationEmittedForSetFooter = false;
let deprecationEmittedForAddField = false;
// TODO: Remove the deprecated code for `setAuthor()` and `setFooter()`.
@@ -314,8 +315,18 @@ class MessageEmbed {
* @param {string} value The value of this field
* @param {boolean} [inline=false] If this field will be displayed inline
* @returns {MessageEmbed}
* @deprecated This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead.
*/
addField(name, value, inline) {
if (!deprecationEmittedForAddField) {
process.emitWarning(
// eslint-disable-next-line max-len
'MessageEmbed#addField is deprecated and will be removed in the next major update. Use MessageEmbed#addFields instead.',
'DeprecationWarning',
);
deprecationEmittedForAddField = true;
}
return this.addFields({ name, value, inline });
}

1
typings/index.d.ts vendored
View File

@@ -1765,6 +1765,7 @@ export class MessageEmbed {
public type: string;
public url: string | null;
public readonly video: MessageEmbedVideo | null;
/** @deprecated This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead. */
public addField(name: string, value: string, inline?: boolean): this;
public addFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this;
public setFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this;