Source: Embed.js

const { MessageEmbed } = require('discord.js')
/**
 * A field of an embed.
 * @typedef {{
    name: String,
    value: String
   }} EmbedField
 * @memberof Embed
 * @type {Object}
 * @property {string} name Name of the field.
 * @property {string} value Value of the field.
 */
/** 
 * @class
 * Represents an embed.
*/
// @ts-ignore
class Embed {
    /** 
     * Create an embed
     * @constructor
     */
    constructor() {
        /** The embed as a MessageEmbed.
         * @memberof Embed
         * @type {MessageEmbed}
         */
        this.djs = new MessageEmbed()
        /** The embed's title.
         * @memberof Embed
         * @type {String}
         */
        this.title = ''
        /** The embed's description.
         * @memberof Embed
         * @type {String}
         */
        this.description = ''
        /** The embed's thumbnail URL.
         * @memberof Embed
         * @type {String}
         */
        this.thumbnail = ''
        /**
         * The embed's fields.
         * @memberof Embed
         * @type {EmbedField[]}
         */
        this.fields = []

    }
    
    /**
     * Sets the title of the embed.
     * @param {String} title The title of the embed.
     * @returns {Embed} The new embed.
     */
    sTitle(title) {
        this.djs.setTitle(title)
        this.title = title
        return this
    }
    /**
     * Sets the description of the embed.
     * @memberof Embed
     * @param {String} desc The description of the embed.
     * @returns {Embed} The new embed.
     */
    sDescription(desc) {
        this.djs.setDescription(desc)
        this.description = desc
        return this
    }
    /**
     * Sets the fields of the embed.
     * @memberof Embed
     * @param {EmbedField[]} fields The title of the embed.
     * @returns {Embed} The new embed.
     */
    sFields(fields) {
        for(var field of fields) {
            this.djs.addField(field.name, field.value)
            this.fields.push(field)
        }
        return this
    }


}
exports.Embed = Embed