channel3-sdk
Version:
The official TypeScript/JavaScript SDK for Channel3 AI Shopping API
24 lines • 960 B
JavaScript
/* eslint-disable @typescript-eslint/no-explicit-any */
const snakeToCamelCase = (str) => str
.toLowerCase()
.replace(/([-_][a-z])/g, (group) => group.toUpperCase().replace('-', '').replace('_', ''));
const camelToSnakeCase = (str) => str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
const convertKeys = (obj, converter) => {
if (obj === null || typeof obj !== 'object') {
return obj;
}
if (Array.isArray(obj)) {
return obj.map((item) => convertKeys(item, converter));
}
const newObj = {};
for (const key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
const newKey = converter(key);
newObj[newKey] = convertKeys(obj[key], converter);
}
}
return newObj;
};
export const toCamelCase = (obj) => convertKeys(obj, snakeToCamelCase);
export const toSnakeCase = (obj) => convertKeys(obj, camelToSnakeCase);
//# sourceMappingURL=utils.js.map