mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-30 15:30:07 +00:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { Bot } from "../../bot.ts";
|
|
import { DiscordComponent } from "../../types/discord.ts";
|
|
import { Component } from "../component.ts";
|
|
|
|
export function transformComponentToDiscordComponent(bot: Bot, payload: Component): DiscordComponent {
|
|
return {
|
|
type: payload.type,
|
|
custom_id: payload.customId,
|
|
disabled: payload.disabled,
|
|
required: payload.required,
|
|
style: payload.style,
|
|
label: payload.label,
|
|
emoji: payload.emoji
|
|
? {
|
|
id: payload.emoji.id?.toString(),
|
|
name: payload.emoji.name,
|
|
animated: payload.emoji.animated,
|
|
}
|
|
: undefined,
|
|
url: payload.url,
|
|
options: payload.options?.map((option) => ({
|
|
label: option.label,
|
|
value: option.value,
|
|
description: option.description,
|
|
emoji: option.emoji
|
|
? {
|
|
id: option.emoji.id?.toString(),
|
|
name: option.emoji.name,
|
|
animated: option.emoji.animated,
|
|
}
|
|
: undefined,
|
|
default: option.default,
|
|
})),
|
|
placeholder: payload.placeholder,
|
|
min_values: payload.minValues,
|
|
max_values: payload.maxValues,
|
|
min_length: payload.minLength,
|
|
max_length: payload.maxLength,
|
|
value: payload.value,
|
|
components: payload.components?.map((component) => bot.transformers.reverse.component(bot, component)),
|
|
};
|
|
}
|