@botonic/react
Version:
Build Chatbots using React
30 lines • 991 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.toSnakeCaseKeys = void 0;
function camelCaseToSnake(str) {
return str
.replace(/([a-z])([A-Z])/g, '$1_$2')
.replace(/([A-Za-z])(\d)/g, '$1_$2')
.replace(/(\d)([A-Za-z])/g, '$1_$2')
.toLowerCase();
}
function toSnakeCaseKeys(input) {
if (Array.isArray(input)) {
return input.map(item => toSnakeCaseKeys(item));
}
if (typeof input === 'object' && input !== null) {
const result = Object.keys(input).reduce((acc, key) => {
const snakeKey = camelCaseToSnake(key);
const value = input[key];
acc[snakeKey] =
typeof value === 'object' && value !== null
? toSnakeCaseKeys(value)
: value;
return acc;
}, {});
return result;
}
return input;
}
exports.toSnakeCaseKeys = toSnakeCaseKeys;
//# sourceMappingURL=functional.js.map
;