@sapphire/utilities
Version:
Common JavaScript utilities for the Sapphire Community
32 lines (30 loc) • 1.07 kB
JavaScript
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