@technobuddha/library
Version:
A large library of useful functions
14 lines • 1.36 kB
JavaScript
import { splitWords } from "./split-words.js";
import { hyphen, nonBreakingHyphen, space } from "./unicode.js";
const reWord = new RegExp(`^\\w|[${hyphen}${nonBreakingHyphen}-]\\w`, 'gui');
/**
* Capitalize the first word in a sentence, or capitalize a single word.
* @param input - The sentence or word to capitalize
* @group String
* @category Case Conversion
*/
export function capitalize(input) {
const [first, ...rest] = splitWords(input);
return [first.replaceAll(reWord, (c) => c.toLocaleUpperCase()), ...rest].join(space);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jYXBpdGFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLE1BQU0sR0FBRyxpQkFBaUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTdFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZGLENBQUMifQ==