Simplify _.camelCase and add tests.

This commit is contained in:
John-David Dalton
2014-03-27 22:12:33 -07:00
parent 1c643cda5b
commit 3b9ebf358c
2 changed files with 7 additions and 11 deletions

View File

@@ -6947,14 +6947,11 @@
* _.camelCase('__hello_world__');
* // => 'helloWorld'
*/
var camelCase = createCompounder(function(result, word, index, words) {
var camelCase = createCompounder(function(result, word, index) {
if (!index && reAllCaps.test(word)) {
return result + word.toLowerCase();
}
var lastWord = index && words[index - 1],
isCapped = index && !(index > 1 && words.length == 3 && (lastWord == 2 || lastWord == 4));
return result + (word.charAt(0)[isCapped ? 'toUpperCase' : 'toLowerCase']() + word.slice(1));
return result + (word.charAt(0)[index ? 'toUpperCase' : 'toLowerCase']() + word.slice(1));
});
/**