mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-01 08:20:08 +00:00
I prefer semicolors, they also help avoiding certain pitfalls in JavaScript/TypeScript, such as the following code sample: ```js const xyz = "test" (something.else as string) = "another" ``` This results in a TypeError: "test" is not a function, this is because js thinks we are trying to call the string "test" as a function. To fix this it requires a `;` somewhere before the `(`, such as `;(something ... ` which in my opinion is ugly and less clean overall.
24 lines
1.2 KiB
TypeScript
24 lines
1.2 KiB
TypeScript
import type { DiscordApplicationCommand } from '@discordeno/types';
|
|
import type { Bot } from '../bot.js';
|
|
import type { ApplicationCommand } from './types.js';
|
|
|
|
export function transformApplicationCommand(bot: Bot, payload: DiscordApplicationCommand): ApplicationCommand {
|
|
const applicationCommand = {
|
|
id: bot.transformers.snowflake(payload.id),
|
|
applicationId: bot.transformers.snowflake(payload.application_id),
|
|
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
|
|
name: payload.name,
|
|
nameLocalizations: payload.name_localizations ?? undefined,
|
|
description: payload.description,
|
|
descriptionLocalizations: payload.description_localizations ?? undefined,
|
|
defaultMemberPermissions: payload.default_member_permissions ? bot.transformers.snowflake(payload.default_member_permissions) : undefined,
|
|
dmPermission: payload.dm_permission ?? false,
|
|
type: payload.type,
|
|
version: payload.version,
|
|
|
|
options: payload.options?.map((option) => bot.transformers.applicationCommandOption(bot, option)),
|
|
} as ApplicationCommand;
|
|
|
|
return bot.transformers.customizers.applicationCommand(bot, payload, applicationCommand);
|
|
}
|