rawData
This commit is contained in:
@@ -44,12 +44,12 @@ class BaseMessageComponent {
|
|||||||
/**
|
/**
|
||||||
* @param {BaseMessageComponent|BaseMessageComponentOptions} [data={}] The options for this component
|
* @param {BaseMessageComponent|BaseMessageComponentOptions} [data={}] The options for this component
|
||||||
*/
|
*/
|
||||||
constructor(data) {
|
constructor(data, componentData = {}) {
|
||||||
/**
|
/**
|
||||||
* The type of this component
|
* The type of this component
|
||||||
* @type {?MessageComponentType}
|
* @type {?MessageComponentType}
|
||||||
*/
|
*/
|
||||||
this.rawData = data;
|
this.rawData = componentData;
|
||||||
this.type = 'type' in data ? BaseMessageComponent.resolveType(data.type) : null;
|
this.type = 'type' in data ? BaseMessageComponent.resolveType(data.type) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class ContainerComponent extends BaseMessageComponent {
|
class ContainerComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'CONTAINER' });
|
super({ type: 'CONTAINER' }, data);
|
||||||
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? null;
|
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? null;
|
||||||
this.accent_color = data.accent_color ?? null;
|
this.accent_color = data.accent_color ?? null;
|
||||||
this.spoiler = data.spoiler ?? false;
|
this.spoiler = data.spoiler ?? false;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class FileComponent extends BaseMessageComponent {
|
class FileComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'FILE' });
|
super({ type: 'FILE' }, data);
|
||||||
this.file = new UnfurledMediaItem(data.file) ?? null;
|
this.file = new UnfurledMediaItem(data.file) ?? null;
|
||||||
this.spoiler = data.spoiler ?? false;
|
this.spoiler = data.spoiler ?? false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class MediaGalleryComponent extends BaseMessageComponent {
|
class MediaGalleryComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'MEDIA_GALLERY' });
|
super({ type: 'MEDIA_GALLERY' }, data);
|
||||||
this.items = data.items?.map(item => new MediaGalleryItem(item)) ?? [];
|
this.items = data.items?.map(item => new MediaGalleryItem(item)) ?? [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class MessageActionRow extends BaseMessageComponent {
|
|||||||
* @param {Client} [client] The client constructing this MessageActionRow, if provided
|
* @param {Client} [client] The client constructing this MessageActionRow, if provided
|
||||||
*/
|
*/
|
||||||
constructor(data = {}, client = null) {
|
constructor(data = {}, client = null) {
|
||||||
super({ type: 'ACTION_ROW' });
|
super({ type: 'ACTION_ROW' }, data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The components in this action row
|
* The components in this action row
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class MessageButton extends BaseMessageComponent {
|
|||||||
* @param {MessageButton|MessageButtonOptions} [data={}] MessageButton to clone or raw data
|
* @param {MessageButton|MessageButtonOptions} [data={}] MessageButton to clone or raw data
|
||||||
*/
|
*/
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'BUTTON' });
|
super({ type: 'BUTTON' }, data);
|
||||||
|
|
||||||
this.setup(data);
|
this.setup(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class MessageSelectMenu extends BaseMessageComponent {
|
|||||||
* @param {MessageSelectMenu|MessageSelectMenuOptions} [data={}] MessageSelectMenu to clone or raw data
|
* @param {MessageSelectMenu|MessageSelectMenuOptions} [data={}] MessageSelectMenu to clone or raw data
|
||||||
*/
|
*/
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: BaseMessageComponent.resolveType(data.type) ?? 'STRING_SELECT' });
|
super({ type: BaseMessageComponent.resolveType(data.type) ?? 'STRING_SELECT' }, data);
|
||||||
|
|
||||||
this.setup(data);
|
this.setup(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class SectionComponent extends BaseMessageComponent {
|
class SectionComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'SECTION' });
|
super({ type: 'SECTION' }, data);
|
||||||
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? [];
|
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? [];
|
||||||
this.accessory = BaseMessageComponent.create(data.accessory) ?? null;
|
this.accessory = BaseMessageComponent.create(data.accessory) ?? null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const { MessageComponentTypes, SeparatorSpacingSizes } = require('../util/Consta
|
|||||||
|
|
||||||
class SeparatorComponent extends BaseMessageComponent {
|
class SeparatorComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'SEPARATOR' });
|
super({ type: 'SEPARATOR' }, data);
|
||||||
this.spacing = data.spacing ?? SeparatorSpacingSizes.SMALL;
|
this.spacing = data.spacing ?? SeparatorSpacingSizes.SMALL;
|
||||||
this.divider = data.divider ?? true;
|
this.divider = data.divider ?? true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class TextDisplayComponent extends BaseMessageComponent {
|
class TextDisplayComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'TEXT_DISPLAY' });
|
super({ type: 'TEXT_DISPLAY' }, data);
|
||||||
this.content = data.content ?? null;
|
this.content = data.content ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class TextInputComponent extends BaseMessageComponent {
|
|||||||
* @param {TextInputComponent|TextInputComponentOptions} [data={}] TextInputComponent to clone or raw data
|
* @param {TextInputComponent|TextInputComponentOptions} [data={}] TextInputComponent to clone or raw data
|
||||||
*/
|
*/
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'TEXT_INPUT' });
|
super({ type: 'TEXT_INPUT' }, data);
|
||||||
|
|
||||||
this.setup(data);
|
this.setup(data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
|
|||||||
|
|
||||||
class ThumbnailComponent extends BaseMessageComponent {
|
class ThumbnailComponent extends BaseMessageComponent {
|
||||||
constructor(data = {}) {
|
constructor(data = {}) {
|
||||||
super({ type: 'THUMBNAIL' });
|
super({ type: 'THUMBNAIL' }, data);
|
||||||
this.media = new UnfurledMediaItem(data.media) ?? null;
|
this.media = new UnfurledMediaItem(data.media) ?? null;
|
||||||
this.description = data.description ?? null;
|
this.description = data.description ?? null;
|
||||||
this.spoiler = data.spoiler ?? false;
|
this.spoiler = data.spoiler ?? false;
|
||||||
|
|||||||
Reference in New Issue
Block a user