mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 02:53:31 +01:00
refactor(embed): remove array support in favor of rest params (#7498)
This commit is contained in:
@@ -4,9 +4,6 @@ import {
|
||||
colorPredicate,
|
||||
descriptionPredicate,
|
||||
embedFieldsArrayPredicate,
|
||||
fieldInlinePredicate,
|
||||
fieldNamePredicate,
|
||||
fieldValuePredicate,
|
||||
footerTextPredicate,
|
||||
timestampPredicate,
|
||||
titlePredicate,
|
||||
@@ -94,19 +91,4 @@ export class Embed extends UnsafeEmbed {
|
||||
// Data assertions
|
||||
return super.setURL(urlPredicate.parse(url)!);
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes field input and resolves strings
|
||||
*
|
||||
* @param fields Fields to normalize
|
||||
*/
|
||||
public static override normalizeFields(...fields: APIEmbedField[]): APIEmbedField[] {
|
||||
return fields.flat(Infinity).map((field) => {
|
||||
fieldNamePredicate.parse(field.name);
|
||||
fieldValuePredicate.parse(field.value);
|
||||
fieldInlinePredicate.parse(field.inline);
|
||||
|
||||
return { name: field.name, value: field.value, inline: field.inline ?? undefined };
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,7 +190,6 @@ export class UnsafeEmbed implements Equatable<APIEmbed | UnsafeEmbed> {
|
||||
* @param fields The fields to add
|
||||
*/
|
||||
public addFields(...fields: APIEmbedField[]): this {
|
||||
fields = UnsafeEmbed.normalizeFields(...fields);
|
||||
if (this.data.fields) this.data.fields.push(...fields);
|
||||
else this.data.fields = fields;
|
||||
return this;
|
||||
@@ -204,7 +203,6 @@ export class UnsafeEmbed implements Equatable<APIEmbed | UnsafeEmbed> {
|
||||
* @param fields The replacing field objects
|
||||
*/
|
||||
public spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this {
|
||||
fields = UnsafeEmbed.normalizeFields(...fields);
|
||||
if (this.data.fields) this.data.fields.splice(index, deleteCount, ...fields);
|
||||
else this.data.fields = fields;
|
||||
return this;
|
||||
@@ -337,15 +335,4 @@ export class UnsafeEmbed implements Equatable<APIEmbed | UnsafeEmbed> {
|
||||
const { image, thumbnail, ...otherData } = data;
|
||||
return isEqual(otherData, thisData) && image?.url === thisImage?.url && thumbnail?.url === thisThumbnail?.url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes field input and resolves strings
|
||||
*
|
||||
* @param fields Fields to normalize
|
||||
*/
|
||||
public static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[] {
|
||||
return fields
|
||||
.flat(Infinity)
|
||||
.map((field) => ({ name: field.name, value: field.value, inline: field.inline ?? undefined }));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user