00001 var castSlice = require('./_castSlice'), 00002 hasUnicode = require('./_hasUnicode'), 00003 stringToArray = require('./_stringToArray'), 00004 toString = require('./toString'); 00005 00013 function createCaseFirst(methodName) { 00014 return function(string) { 00015 string = toString(string); 00016 00017 var strSymbols = hasUnicode(string) 00018 ? stringToArray(string) 00019 : undefined; 00020 00021 var chr = strSymbols 00022 ? strSymbols[0] 00023 : string.charAt(0); 00024 00025 var trailing = strSymbols 00026 ? castSlice(strSymbols, 1).join('') 00027 : string.slice(1); 00028 00029 return chr[methodName]() + trailing; 00030 }; 00031 } 00032 00033 module.exports = createCaseFirst;