You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
580 B
16 lines
580 B
/**
|
|
* Capitalizes first letters of words in string.
|
|
* @param {string} str String to be modified
|
|
* @param {boolean=false} lower Whether all other letters should be lowercased
|
|
* @return {string}
|
|
* @usage
|
|
* capitalize('fix this string'); // -> 'Fix This String'
|
|
* capitalize('javaSCrIPT'); // -> 'JavaSCrIPT'
|
|
* capitalize('javaSCrIPT', true); // -> 'Javascript'
|
|
*/
|
|
export function capitalize(str: string, lower = false): string {
|
|
return (lower ? str.toLowerCase() : str).replace(
|
|
/(?:^|\s|["'([{])+\S/g,
|
|
(match) => match.toUpperCase()
|
|
);
|
|
}
|