fix: use resolvePartialEmoji on MessagePayload#options#components (#10910)

fix: use resolvePartialEmoji on MessagePayload#components again
This commit is contained in:
Qjuh
2025-05-25 13:35:28 +02:00
committed by GitHub
parent 65cfa3ffd3
commit f2f757ce52

View File

@@ -2,6 +2,7 @@
const { isJSONEncodable } = require('@discordjs/util');
const snakeCase = require('lodash.snakecase');
const { resolvePartialEmoji } = require('./Util');
/**
* Transforms camel-cased keys into snake cased keys
@@ -13,7 +14,14 @@ function toSnakeCase(obj) {
if (obj instanceof Date) return obj;
if (isJSONEncodable(obj)) return toSnakeCase(obj.toJSON());
if (Array.isArray(obj)) return obj.map(toSnakeCase);
return Object.fromEntries(Object.entries(obj).map(([key, value]) => [snakeCase(key), toSnakeCase(value)]));
return Object.fromEntries(
Object.entries(obj).map(([key, value]) => [
snakeCase(key),
// TODO: The special handling of 'emoji' is just a temporary fix for v14, will be dropped in v15.
// See https://github.com/discordjs/discord.js/issues/10909
key === 'emoji' && typeof value === 'string' ? resolvePartialEmoji(value) : toSnakeCase(value),
]),
);
}
/**