Files
discordeno/transformers/role.ts
LTS20050703 8d4c0069b0 (transformers) return as Optionalize<typeof> (#2117)
* (transformers) return as Optionalize<typeof>

* fix check error

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2022-03-20 10:35:48 -04:00

28 lines
1.1 KiB
TypeScript

import { Bot } from "../bot.ts";
import { DiscordRole } from "../types/discord.ts";
import { RoleToggles } from "./toggles/role.ts";
import { Optionalize } from "../types/shared.ts";
export function transformRole(bot: Bot, payload: { role: DiscordRole } & { guildId: bigint }) {
const role = {
name: payload.role.name,
guildId: payload.guildId,
position: payload.role.position,
color: payload.role.color,
toggles: new RoleToggles(payload.role),
id: bot.transformers.snowflake(payload.role.id),
botId: payload.role.tags?.bot_id ? bot.transformers.snowflake(payload.role.tags.bot_id) : undefined,
integrationId: payload.role.tags?.integration_id
? bot.transformers.snowflake(payload.role.tags.integration_id)
: undefined,
permissions: bot.transformers.snowflake(payload.role.permissions),
icon: payload.role.icon ? bot.utils.iconHashToBigInt(payload.role.icon) : undefined,
unicodeEmoji: payload.role.unicode_emoji,
};
return role as Optionalize<typeof role>;
}
export interface Role extends ReturnType<typeof transformRole> {}