seyfert/packages/biscuit/structures/components/SelectMenuComponent.ts
Yuzu b15666f20e
chore: use single quotes (#68)
* chore: single quote
2022-07-18 18:25:23 +00:00

40 lines
1.4 KiB
TypeScript

import type { Session } from '../../Session.ts';
import type { DiscordComponent } from '../../../discordeno/mod.ts';
import type { SelectMenuComponent, SelectMenuOption } from './Component.ts';
import { MessageComponentTypes } from '../../../discordeno/mod.ts';
import BaseComponent from './Component.ts';
import Emoji from '../Emoji.ts';
export class SelectMenu extends BaseComponent implements SelectMenuComponent {
constructor(session: Session, data: DiscordComponent) {
super(data.type);
this.session = session;
this.type = data.type as MessageComponentTypes.SelectMenu;
this.customId = data.custom_id!;
this.options = data.options!.map((option) => {
return <SelectMenuOption> {
label: option.label,
description: option.description,
emoji: option.emoji || new Emoji(session, option.emoji!),
value: option.value,
};
});
this.placeholder = data.placeholder;
this.minValues = data.min_values;
this.maxValues = data.max_values;
this.disabled = data.disabled;
}
readonly session: Session;
override type: MessageComponentTypes.SelectMenu;
customId: string;
options: SelectMenuOption[];
placeholder?: string;
minValues?: number;
maxValues?: number;
disabled?: boolean;
}
export default SelectMenu;