Files
backend/libs/common/src/helper/snakeCaseConverter.ts
T

17 lines
480 B
TypeScript

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;
}