From 5edfbb7efb74ddff24c830d8a92007bd21507d1b Mon Sep 17 00:00:00 2001 From: Skillz Date: Mon, 8 May 2023 13:21:51 -0500 Subject: [PATCH] fix: localization snake case bug --- packages/rest/src/manager.ts | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/rest/src/manager.ts b/packages/rest/src/manager.ts index f820f566c..b519a449d 100644 --- a/packages/rest/src/manager.ts +++ b/packages/rest/src/manager.ts @@ -118,18 +118,29 @@ export function createRestManager(options: CreateRestManagerOptions): RestManage const newObj: any = {} for (const key of Object.keys(obj)) { - // Keys that dont require snake casing - if (['permissions', 'allow', 'deny'].includes(key) && obj[key] !== undefined) { - newObj[key] = calculateBits(obj[key]) - continue + const value = obj[key] + + // Some falsy values should be allowed like null or 0 + if (value !== undefined) { + switch (key) { + case 'permissions': + case 'allow': + case 'deny': + newObj[key] = calculateBits(value) + continue + case 'defaultMemberPermissions': + newObj.default_member_permissions = calculateBits(value) + continue + case 'nameLocalizations': + newObj.name_localizations = value + continue + case 'descriptionLocalizations': + newObj.description_localizations = value + continue + } } - if (key === 'defaultMemberPermissions' && obj[key] !== undefined) { - newObj.default_member_permissions = calculateBits(obj[key]) - continue - } - - newObj[camelToSnakeCase(key)] = rest.changeToDiscordFormat(obj[key]) + newObj[camelToSnakeCase(key)] = rest.changeToDiscordFormat(value) } return newObj