13 lines
560 B
TypeScript
13 lines
560 B
TypeScript
/**
|
|
* 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 const capitalize = (str: string, lower: boolean = false) =>
|
|
(lower ? str.toLowerCase() : str).replace(/(?:^|\s|["'([{])+\S/g, (match) => match.toUpperCase())
|