mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-27 23:24:55 +00:00
Refactor snake case converter function and improve code readability
This commit is contained in:
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user