diff --git a/packages/rest/src/helpers/emojis/createEmoji.ts b/packages/rest/src/helpers/emojis/createEmoji.ts index dd98c2d47..cfe720bdf 100644 --- a/packages/rest/src/helpers/emojis/createEmoji.ts +++ b/packages/rest/src/helpers/emojis/createEmoji.ts @@ -1,7 +1,11 @@ -import type { BigString, DiscordEmoji, WithReason } from '@discordeno/types' +import type { + BigString, + DiscordEmoji, + SnakeToCamelCaseNested, + WithReason +} from '@discordeno/types' import { urlToBase64 } from '@discordeno/utils' import type { RestManager } from '../../restManager.js' -import type { Emoji } from '../../transformers/emoji.js' /** * Creates an emoji in a guild. @@ -9,7 +13,7 @@ import type { Emoji } from '../../transformers/emoji.js' * @param bot - The bot instance to use to make the request. * @param guildId - The ID of the guild in which to create the emoji. * @param options - The parameters for the creation of the emoji. - * @returns An instance of the created {@link Emoji}. + * @returns An instance of the created {@link DiscordEmoji}. * * @remarks * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission. @@ -24,7 +28,7 @@ export async function createEmoji ( rest: RestManager, guildId: BigString, options: CreateGuildEmoji -): Promise { +): Promise> { if (options.image && !options.image.startsWith('data:image/')) { options.image = await urlToBase64(options.image) } @@ -41,7 +45,32 @@ export async function createEmoji ( } ) - return rest.transformers.emoji(rest, result) + return { + id: result.id, + name: result.name, + roles: result.roles, + user: result.user && { + id: result.user.id, + username: result.user.username, + discriminator: result.user.discriminator, + avatar: result.user.avatar, + bot: result.user.bot, + system: result.user.system, + mfaEnabled: result.user.mfa_enabled, + banner: result.user.banner, + accentColor: result.user.accent_color, + locale: result.user.locale, + verified: result.user.verified, + email: result.user.email, + flags: result.user.flags, + premiumType: result.user.premium_type, + publicFlags: result.user.public_flags + }, + requireColons: result.require_colons, + managed: result.managed, + animated: result.animated, + available: result.animated + } } /** https://discord.com/developers/docs/resources/emoji#create-guild-emoji */ diff --git a/packages/rest/src/helpers/emojis/editEmoji.ts b/packages/rest/src/helpers/emojis/editEmoji.ts index 0e9efaa6f..867148de8 100644 --- a/packages/rest/src/helpers/emojis/editEmoji.ts +++ b/packages/rest/src/helpers/emojis/editEmoji.ts @@ -1,6 +1,10 @@ -import type { BigString, DiscordEmoji, WithReason } from '@discordeno/types' +import type { + BigString, + DiscordEmoji, + SnakeToCamelCaseNested, + WithReason +} from '@discordeno/types' import type { RestManager } from '../../restManager.js' -import type { Emoji } from '../../transformers/emoji.js' /** * Edits an emoji. @@ -9,7 +13,7 @@ import type { Emoji } from '../../transformers/emoji.js' * @param guildId - The ID of the guild in which to edit the emoji. * @param id - The ID of the emoji to edit. * @param options - The parameters for the edit of the emoji. - * @returns An instance of the updated {@link Emoji}. + * @returns An instance of the updated {@link DiscordEmoji}. * * @remarks * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission. @@ -23,7 +27,7 @@ export async function editEmoji ( guildId: BigString, id: BigString, options: ModifyGuildEmoji -): Promise { +): Promise> { const result = await rest.runMethod( rest, 'PATCH', @@ -38,7 +42,32 @@ export async function editEmoji ( } ) - return rest.transformers.emoji(rest, result) + return { + id: result.id, + name: result.name, + roles: result.roles, + user: result.user && { + id: result.user.id, + username: result.user.username, + discriminator: result.user.discriminator, + avatar: result.user.avatar, + bot: result.user.bot, + system: result.user.system, + mfaEnabled: result.user.mfa_enabled, + banner: result.user.banner, + accentColor: result.user.accent_color, + locale: result.user.locale, + verified: result.user.verified, + email: result.user.email, + flags: result.user.flags, + premiumType: result.user.premium_type, + publicFlags: result.user.public_flags + }, + requireColons: result.require_colons, + managed: result.managed, + animated: result.animated, + available: result.animated + } } /** https://discord.com/developers/docs/resources/emoji#modify-guild-emoji */ diff --git a/packages/rest/src/helpers/emojis/getEmoji.ts b/packages/rest/src/helpers/emojis/getEmoji.ts index 5236a501b..ab95b8580 100644 --- a/packages/rest/src/helpers/emojis/getEmoji.ts +++ b/packages/rest/src/helpers/emojis/getEmoji.ts @@ -1,6 +1,9 @@ -import type { BigString, DiscordEmoji } from '@discordeno/types' +import type { + BigString, + DiscordEmoji, + SnakeToCamelCaseNested +} from '@discordeno/types' import type { RestManager } from '../../restManager.js' -import type { Emoji } from '../../transformers/emoji.js' /** * Gets an emoji by its ID. @@ -8,7 +11,7 @@ import type { Emoji } from '../../transformers/emoji.js' * @param bot - The bot instance to use to make the request. * @param guildId - The ID of the guild from which to get the emoji. * @param emojiId - The ID of the emoji to get. - * @returns An instance of {@link Emoji}. + * @returns An instance of {@link DiscordEmoji}. * * @see {@link https://discord.com/developers/docs/resources/emoji#get-guild-emoji} */ @@ -16,12 +19,37 @@ export async function getEmoji ( rest: RestManager, guildId: BigString, emojiId: BigString -): Promise { +): Promise> { const result = await rest.runMethod( rest, 'GET', rest.constants.routes.GUILD_EMOJI(guildId, emojiId) ) - return rest.transformers.emoji(rest, result) + return { + id: result.id, + name: result.name, + roles: result.roles, + user: result.user && { + id: result.user.id, + username: result.user.username, + discriminator: result.user.discriminator, + avatar: result.user.avatar, + bot: result.user.bot, + system: result.user.system, + mfaEnabled: result.user.mfa_enabled, + banner: result.user.banner, + accentColor: result.user.accent_color, + locale: result.user.locale, + verified: result.user.verified, + email: result.user.email, + flags: result.user.flags, + premiumType: result.user.premium_type, + publicFlags: result.user.public_flags + }, + requireColons: result.require_colons, + managed: result.managed, + animated: result.animated, + available: result.animated + } } diff --git a/packages/rest/src/helpers/emojis/getEmojis.ts b/packages/rest/src/helpers/emojis/getEmojis.ts index ab756237a..4d5461ee3 100644 --- a/packages/rest/src/helpers/emojis/getEmojis.ts +++ b/packages/rest/src/helpers/emojis/getEmojis.ts @@ -1,21 +1,24 @@ -import type { BigString, DiscordEmoji } from '@discordeno/types' +import type { + BigString, + DiscordEmoji, + SnakeToCamelCaseNested +} from '@discordeno/types' import { Collection } from '@discordeno/utils' import type { RestManager } from '../../restManager.js' -import type { Emoji } from '../../transformers/emoji.js' /** * Gets the list of emojis for a guild. * * @param bot - The bot instance to use to make the request. * @param guildId - The ID of the guild which to get the emojis of. - * @returns A collection of {@link Emoji} objects assorted by emoji ID. + * @returns A collection of {@link DiscordEmoji} objects assorted by emoji ID. * * @see {@link https://discord.com/developers/docs/resources/emoji#list-guild-emojis} */ export async function getEmojis ( rest: RestManager, guildId: BigString -): Promise> { +): Promise>> { const results = await rest.runMethod( rest, 'GET', @@ -24,7 +27,32 @@ export async function getEmojis ( return new Collection( results.map((result) => { - const emoji = rest.transformers.emoji(rest, result) + const emoji: SnakeToCamelCaseNested = { + id: result.id, + name: result.name, + roles: result.roles, + user: result.user && { + id: result.user.id, + username: result.user.username, + discriminator: result.user.discriminator, + avatar: result.user.avatar, + bot: result.user.bot, + system: result.user.system, + mfaEnabled: result.user.mfa_enabled, + banner: result.user.banner, + accentColor: result.user.accent_color, + locale: result.user.locale, + verified: result.user.verified, + email: result.user.email, + flags: result.user.flags, + premiumType: result.user.premium_type, + publicFlags: result.user.public_flags + }, + requireColons: result.require_colons, + managed: result.managed, + animated: result.animated, + available: result.animated + } return [emoji.id!, emoji] }) )