diff --git a/src/hooks/useAxios.ts b/src/hooks/useAxios.ts index 27b04a8..b905511 100644 --- a/src/hooks/useAxios.ts +++ b/src/hooks/useAxios.ts @@ -91,15 +91,13 @@ export function useAxios() { // Handle uppercase snake_case (e.g., USER_NAME -> userName) // Handle lowercase snake_case (e.g., user_name -> userName) - if (/^[A-Z_]+$/.test(key) || /^[a-z_]+$/.test(key)) { + if (/^[A-Z0-9_]+$/.test(key) || /^[a-z0-9_]+$/.test(key)) { transformedKey = snakeToCamel(key) } // Handle single uppercase word (e.g., ROLE -> role) - else if (/^[A-Z]+$/.test(key)) { + else if (/^[A-Z0-9]+$/.test(key)) { transformedKey = key.toLowerCase() } - // Preserve existing camelCase - acc[transformedKey] = transformObjectKeys(obj[key]) return acc }, {}) @@ -109,7 +107,7 @@ export function useAxios() { } const snakeToCamel = (str: string): string => { - return str.toLowerCase().replace(/([-_][a-z])/g, (group) => group.toUpperCase().replace('-', '').replace('_', '')) + return str.toLowerCase().replace(/_([a-z])/g, (match, letter) => letter.toUpperCase()) } return {