Tal vez a alguien le resulte útil: cómo convertir entre 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(/[AZ]+(?![az])|[AZ]/g, ($, o) => (o ? "-" : "") + $.toLowerCase()) const toSnake = val => toCamel(val).replace(/[AZ]+(?![az])|[AZ]/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));Puede usar el paquete lodash.
_.kebabCase('Foo Bar'); // => 'foo-bar' _.snakeCase('Foo Bar'); // => 'foo_bar' startCase(camelCase(str)).replace(/ /g, '');