32 lines
950 B
JavaScript
32 lines
950 B
JavaScript
'use strict';
|
|
|
|
const { UserSelectMenuBuilder: BuildersUserSelectMenu } = require('@discordjs/builders');
|
|
const { isJSONEncodable } = require('@discordjs/util');
|
|
const { toSnakeCase } = require('../util/Transformers');
|
|
|
|
/**
|
|
* Class used to build select menu components to be sent through the API
|
|
* @extends {BuildersUserSelectMenu}
|
|
*/
|
|
class UserSelectMenuBuilder extends BuildersUserSelectMenu {
|
|
constructor(data = {}) {
|
|
super(toSnakeCase(data));
|
|
}
|
|
|
|
/**
|
|
* Creates a new select menu builder from JSON data
|
|
* @param {UserSelectMenuBuilder|UserSelectMenuComponent|APIUserSelectComponent} other The other data
|
|
* @returns {UserSelectMenuBuilder}
|
|
*/
|
|
static from(other) {
|
|
return new this(isJSONEncodable(other) ? other.toJSON() : other);
|
|
}
|
|
}
|
|
|
|
module.exports = UserSelectMenuBuilder;
|
|
|
|
/**
|
|
* @external BuildersUserSelectMenu
|
|
* @see {@link https://discord.js.org/docs/packages/builders/stable/UserSelectMenuBuilder:Class}
|
|
*/
|