Maybe someone will find it useful - How to convert between camelCase PascalCase snake_case kebab-case (JS)
'use strict'
const log = console.log.bind(console);
const toCamel = val => val.trim().replace(/([-_ ]+)./g, $ => $.at(-1).toUpperCase());
const toKebab = val => toCamel(val).replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, o) => (o ? "-" : "") + $.toLowerCase())
const toSnake = val => toCamel(val).replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, o) => (o ? "_" : "") + $.toLowerCase())
const toPascal = val => toCamel(val).replace(/^./, $ => $.toUpperCase());
const testCase = [
'StackOverflow',
'camelCase',
'alllowercase',
'JSONdata',
' aaa--------bbb-ccc',
'aaa_______bbb__ccc_dddddddddd',
'aaa bbb -ccc',
'ddd-eee-fff',
];
log(testCase.map(toCamel));
You can use lodash package.
_.kebabCase('Foo Bar');
// => 'foo-bar'
_.snakeCase('Foo Bar');
// => 'foo_bar'
startCase(camelCase(str)).replace(/ /g, '');