UNPKG

react-starter-kit-cli-cars

Version:

cli companion to react-starter-kit

86 lines (67 loc) 1.57 kB
const DELIMITERS = ['-', '_', ' '] function isUpperCase(c) { return c === c.toUpperCase() } function isLowerCase(c) { return c === c.toLowerCase() } export default { commandsFromTemplate(input, match) { let str = match.replace('%', '') str = str.replace('[', '') str = str.replace(']', '') let commands = str.split('|') commands = commands.slice(1, commands.length) commands.forEach(command => { if (!this[command]) return input = this[command](input) }) return input }, capitalize(str) { return str[0].toUpperCase() + str.slice(1, str.length) }, camelCase(str) { let newStr = '' for (let i = 0; i < str.length; i++) { const char = str[i] if (~DELIMITERS.indexOf(char)) { newStr += str[++i].toUpperCase() continue } newStr += char } return newStr }, snakeCase(str) { let newStr = '' const delimiter = '-' for (let i = 0; i < str.length; i++) { const char = str[i] if (char === delimiter) { newStr += char continue } if (isUpperCase(char)) { newStr += delimiter } newStr += char.toLowerCase() } return newStr }, camelCaseTo(str, seperator) { let newStr = '' for (let i = 0; i < str.length; i++) { const char = str[i] if (char === seperator) { newStr += char continue } if (isUpperCase(char)) { newStr += seperator } newStr += char } return newStr.toLowerCase() }, }