mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 17:30:07 +00:00
refactor: remove transformers in helpers/emoji
This commit is contained in:
@@ -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<Emoji> {
|
||||
): Promise<SnakeToCamelCaseNested<DiscordEmoji>> {
|
||||
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 */
|
||||
|
||||
@@ -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<Emoji> {
|
||||
): Promise<SnakeToCamelCaseNested<DiscordEmoji>> {
|
||||
const result = await rest.runMethod<DiscordEmoji>(
|
||||
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 */
|
||||
|
||||
@@ -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<Emoji> {
|
||||
): Promise<SnakeToCamelCaseNested<DiscordEmoji>> {
|
||||
const result = await rest.runMethod<DiscordEmoji>(
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Collection<bigint, Emoji>> {
|
||||
): Promise<Collection<string, SnakeToCamelCaseNested<DiscordEmoji>>> {
|
||||
const results = await rest.runMethod<DiscordEmoji[]>(
|
||||
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<DiscordEmoji> = {
|
||||
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]
|
||||
})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user