Convert camel case to kebab case and vice versa
Switch a single identifier between camelCase and kebab-case.
function convertCase({ value, to }) { return to === 'kebab' ? value.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase() : value.replace(/-./g, match => match[1].toUpperCase()); }
Input & expected output
Input
{
"value": "deliveryStatus",
"to": "kebab"
}Expected output
"delivery-status"The edge case
Input
{
"value": "delivery-status",
"to": "camel"
}Expected output
"deliveryStatus"Know the limits
- The original page offered two functions; here one takes the target as to: "kebab" or "camel".
- Acronyms such as "HTMLBody" become "htmlbody"; handle them separately.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Convert camelCase to kebab-case and vice versa from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Combines the two original functions behind a to option. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Capitalize a string — Uppercase the first Unicode code point and preserve the remaining text.
- Reverse a string — Reverse Unicode code points without splitting surrogate pairs.
- Check a palindrome — Compare a string with its code-point reversal.