UNPKG

@technobuddha/library

Version:
18 lines 1.52 kB
import { splitWords } from "./split-words.js"; import { hyphen, nonBreakingHyphen, space } from "./unicode.js"; /** * Regular expression to match the first character of a word or a word following a hyphen or non-breaking hyphen. * @internal */ 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 uncapitalize(input) { const [first, ...rest] = splitWords(input); return [first.replaceAll(reWord, (c) => c.toLocaleLowerCase()), ...rest].join(space); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5jYXBpdGFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3VuY2FwaXRhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxNQUFNLEdBQUcsaUJBQWlCLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUU3RTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN4QyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2RixDQUFDIn0=