@@ -35158,6 +35158,13 @@ exports.Repository = Repository;
3515835158Object.defineProperty(exports, "__esModule", ({ value: true }));
3515935159exports.randomString = exports.encodeUri = exports.removeImages = exports.titleCase = void 0;
3516035160const words_1 = __nccwpck_require__(1053);
35161+ const prepareWords = (value) => {
35162+ value = value.replace(/([^\w\d]|[-/_])+/g, " ");
35163+ for (const word of words_1.reservedWords) {
35164+ value = value.replace(new RegExp(`\\b${word}\\b`, "i"), word.toLowerCase());
35165+ }
35166+ return value;
35167+ };
3516135168const normalizeWords = (value) => {
3516235169 for (const word of words_1.reservedWords) {
3516335170 value = value.replace(new RegExp(`\\b${word}\\b`, "i"), word);
@@ -35168,11 +35175,15 @@ const titleCase = (title) => {
3516835175 if (title === "" || title === undefined) {
3516935176 return "";
3517035177 }
35171- title = title
35172- .replace(/([A-Z])/g, "$1")
35178+ const upper = title.toUpperCase();
35179+ if (upper === title) {
35180+ title = title.toLowerCase();
35181+ }
35182+ title = prepareWords(title)
35183+ .replace(/([A-Z])/g, " $1")
3517335184 .toLowerCase()
3517435185 .replace(/(^|\s|-|_)\S/g, (match) => match.toUpperCase())
35175- .replace(/[-_]/g , " ")
35186+ .replace(/(\s|\u3164|\u1160)+/gu , " ")
3517635187 .trim();
3517735188 const normalized = normalizeWords(title);
3517835189 return normalized.charAt(0).toUpperCase() + normalized.slice(1);
0 commit comments