1 | import castSlice from './_castSlice.js';
|
2 | import hasUnicode from './_hasUnicode.js';
|
3 | import stringToArray from './_stringToArray.js';
|
4 | import toString from './toString.js';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | function createCaseFirst(methodName) {
|
14 | return function(string) {
|
15 | string = toString(string);
|
16 |
|
17 | var strSymbols = hasUnicode(string)
|
18 | ? stringToArray(string)
|
19 | : undefined;
|
20 |
|
21 | var chr = strSymbols
|
22 | ? strSymbols[0]
|
23 | : string.charAt(0);
|
24 |
|
25 | var trailing = strSymbols
|
26 | ? castSlice(strSymbols, 1).join('')
|
27 | : string.slice(1);
|
28 |
|
29 | return chr[methodName]() + trailing;
|
30 | };
|
31 | }
|
32 |
|
33 | export default createCaseFirst;
|