24 lines
573 B
JavaScript
24 lines
573 B
JavaScript
|
var upperCase = require('upper-case')
|
||
|
var noCase = require('no-case')
|
||
|
|
||
|
/**
|
||
|
* Camel case a string.
|
||
|
*
|
||
|
* @param {string} value
|
||
|
* @param {string} [locale]
|
||
|
* @return {string}
|
||
|
*/
|
||
|
module.exports = function (value, locale, mergeNumbers) {
|
||
|
var result = noCase(value, locale)
|
||
|
|
||
|
// Replace periods between numeric entities with an underscore.
|
||
|
if (!mergeNumbers) {
|
||
|
result = result.replace(/ (?=\d)/g, '_')
|
||
|
}
|
||
|
|
||
|
// Replace spaces between words with an upper cased character.
|
||
|
return result.replace(/ (.)/g, function (m, $1) {
|
||
|
return upperCase($1, locale)
|
||
|
})
|
||
|
}
|