Refactor snake case converter function and improve code readability

This commit is contained in:
faris Aljohari
2024-07-20 18:27:13 +03:00
parent c0860c2927
commit 5f27695a0b

View File

@ -4,12 +4,12 @@ function toSnakeCase(str) {
export function convertKeysToSnakeCase(obj) {
if (Array.isArray(obj)) {
return obj.map((v) => convertKeysToSnakeCase(v));
} else if (obj !== null && obj.constructor === Object) {
return Object.keys(obj).reduce((result, key) => {
return obj.map(convertKeysToSnakeCase);
} else if (obj !== null && typeof obj === 'object') {
return Object.keys(obj).reduce((acc, key) => {
const snakeKey = toSnakeCase(key);
result[snakeKey] = convertKeysToSnakeCase(obj[key]);
return result;
acc[snakeKey] = convertKeysToSnakeCase(obj[key]);
return acc;
}, {});
}
return obj;