@metis-w/api-client
Version:
Modern TypeScript HTTP API client with dynamic routes, parameterized endpoints, interceptors, and advanced features
32 lines • 1.04 kB
JavaScript
/**
* Converts camelCase string to kebab-case
* @param string - The camelCase string to convert
* @returns The kebab-case string
*/
export function camelToKebab(string) {
return string
.replace(/([a-z])([A-Z])/g, "$1-$2")
.toLowerCase()
.replace(/^-+/, ""); // Remove leading hyphens
}
/**
* Converts kebab-case string to camelCase
* @param string - The kebab-case string to convert
* @returns The camelCase string
*/
export function kebabToCamel(string) {
return string.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
}
/**
* Converts object keys from camelCase to kebab-case or vice versa
* @param obj - The object with keys to convert
* @param converter - The conversion function (camelToKebab or kebabToCamel)
* @returns A new object with converted keys
*/
export function convertObjectKeys(obj, converter) {
return Object.entries(obj).reduce((acc, [key, value]) => {
acc[converter(key)] = value;
return acc;
}, {});
}
//# sourceMappingURL=case-converter.js.map