Add snake case converter helper function

This commit is contained in:
faris Aljohari
2024-06-24 13:28:21 +03:00
parent d76952852d
commit 720b9ce23f

View File

@ -0,0 +1,16 @@
function toSnakeCase(str) {
return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}
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) => {
const snakeKey = toSnakeCase(key);
result[snakeKey] = convertKeysToSnakeCase(obj[key]);
return result;
}, {});
}
return obj;
}