From e4450c8417624b71d779cb4f41692538f9165e10 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 2 Sep 2023 19:12:47 -0400 Subject: first commit --- .../discord.js/src/structures/ActionRow.js | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 node_modules/discord.js/src/structures/ActionRow.js (limited to 'node_modules/discord.js/src/structures/ActionRow.js') diff --git a/node_modules/discord.js/src/structures/ActionRow.js b/node_modules/discord.js/src/structures/ActionRow.js new file mode 100644 index 0000000..3f39691 --- /dev/null +++ b/node_modules/discord.js/src/structures/ActionRow.js @@ -0,0 +1,46 @@ +'use strict'; + +const { deprecate } = require('node:util'); +const { isJSONEncodable } = require('@discordjs/util'); +const Component = require('./Component'); +const { createComponent } = require('../util/Components'); + +/** + * Represents an action row + * @extends {Component} + */ +class ActionRow extends Component { + constructor({ components, ...data }) { + super(data); + + /** + * The components in this action row + * @type {Component[]} + * @readonly + */ + this.components = components.map(c => createComponent(c)); + } + + /** + * Creates a new action row builder from JSON data + * @method from + * @memberof ActionRow + * @param {ActionRowBuilder|ActionRow|APIActionRowComponent} other The other data + * @returns {ActionRowBuilder} + * @deprecated Use {@link ActionRowBuilder.from} instead. + */ + static from = deprecate( + other => new this(isJSONEncodable(other) ? other.toJSON() : other), + 'ActionRow.from() is deprecated. Use ActionRowBuilder.from() instead.', + ); + + /** + * Returns the API-compatible JSON for this component + * @returns {APIActionRowComponent} + */ + toJSON() { + return { ...this.data, components: this.components.map(c => c.toJSON()) }; + } +} + +module.exports = ActionRow; -- cgit v1.2.3