feat(RichEmbed): add toJSON returning an api-compatible object

This backports:
PR: https://github.com/discordjs/discord.js/pull/3813
Commit: 4ec01ddef5
This commit is contained in:
SpaceEEC 2020-02-28 18:29:41 +01:00
parent 6eaf63fb7c
commit 97457e1de2
No known key found for this signature in database
GPG key ID: 8C8A2E338661B871
5 changed files with 5 additions and 8 deletions

View file

@ -152,7 +152,7 @@ class RESTMethods {
content = `${mention}${content ? `, ${content}` : ''}`;
}
if (embed instanceof RichEmbed) embed = embed._apiTransform();
if (embed instanceof RichEmbed) embed = embed.toJSON();
return this.rest.makeRequest('patch', Endpoints.Message(message), true, {
content, embed, flags,

View file

@ -278,11 +278,10 @@ class RichEmbed {
}
/**
* Transforms the embed object to be processed.
* Transforms the embed to a plain object.
* @returns {Object} The raw data of this embed
* @private
*/
_apiTransform() {
toJSON() {
return {
title: this.title,
type: 'rich',

View file

@ -227,7 +227,7 @@ class Webhook extends EventEmitter {
else options.files = files;
}
if (options.embeds) options.embeds = options.embeds.map(e => new RichEmbed(e)._apiTransform());
if (options.embeds) options.embeds = options.embeds.map(e => new RichEmbed(e).toJSON());
if (options.files) {
for (let i = 0; i < options.files.length; i++) {

View file

@ -147,7 +147,7 @@ class TextBasedChannel {
else options.files = [options.file];
}
if (options.embed) options.embed = new RichEmbed(options.embed)._apiTransform();
if (options.embed) options.embed = new RichEmbed(options.embed).toJSON();
if (options.files) {
for (let i = 0; i < options.files.length; i++) {

2
typings/index.d.ts vendored
View file

@ -1120,8 +1120,6 @@ declare module 'discord.js' {
export class RichEmbed {
constructor(data?: RichEmbedOptions | MessageEmbed);
private _apiTransform(): object;
public author?: { name: string; url?: string; icon_url?: string; };
public color?: number;
public description?: string;