case-transformer
Version:
We often need to convert cases like camelCase to kebab-case , PascalCase to snake_case and so on. because in some frontend or backend technologies have some restrictions in case naming. In this case , we can directly rename them. But the best idea would b
31 lines (24 loc) • 813 B
JavaScript
let PascalCase = (word, toCase) => {
let lettersWithoutFirst = word.match(/[A-Z][a-z]+/g)
let firstLetter = word.slice(0,word.indexOf(lettersWithoutFirst[0]))
let letters = [firstLetter]
lettersWithoutFirst.forEach(letter => {
letters.push(letter)
})
if (toCase == 'snake_case') {
return letters.join('_').toLowerCase()
}
else if (toCase == 'MACRO_CASE') {
return letters.join('_').toUpperCase()
}
else if (toCase == 'kebab-case') {
return letters.join('-').toLowerCase()
}
else if (toCase == 'COBOL-CASE') {
return letters.join('-').toUpperCase()
}
else if (toCase == 'camelCase') {
return word[0].toLowerCase() + word.slice(1)
}
}
module.exports = PascalCase