UNPKG

@sapphire/utilities

Version:
32 lines (30 loc) 1.07 kB
import { __name } from '../chunk-PAWJFY3S.mjs'; // 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"); export { toTitleCase, toTitleCaseDiscordJsVariants }; //# sourceMappingURL=toTitleCase.mjs.map //# sourceMappingURL=toTitleCase.mjs.map