UNPKG

@sapphire/utilities

Version:
36 lines (33 loc) 1.22 kB
'use strict'; var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/lib/toTitleCase.ts var TO_TITLE_CASE = /[A-Za-zÀ-ÖØ-öø-ÿ]\S*/g; var toTitleCaseDiscordJsVariants = { textchannel: "TextChannel", voicechannel: "VoiceChannel", categorychannel: "CategoryChannel", guildmember: "GuildMember" }; function toTitleCase(str, options = {}) { const { additionalVariants = {}, caseSensitive } = options; const titleCaseVariants = { ...toTitleCaseDiscordJsVariants, ...caseSensitive ? additionalVariants : Object.entries(additionalVariants).reduce( (variants, [key, variant]) => ({ ...variants, [key.toLowerCase()]: variant }), {} ) }; return str.replace( TO_TITLE_CASE, (txt) => { var _a; return (_a = titleCaseVariants[caseSensitive ? txt : txt.toLowerCase()]) != null ? _a : txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase(); } ); } __name(toTitleCase, "toTitleCase"); exports.toTitleCase = toTitleCase; exports.toTitleCaseDiscordJsVariants = toTitleCaseDiscordJsVariants; //# sourceMappingURL=toTitleCase.cjs.map //# sourceMappingURL=toTitleCase.cjs.map