Skip to content

Commit ce033a0

Browse files
authored
Merge pull request #157 from Captain-Quack/patch-1
Expand diacritics
2 parents 12a3089 + 30c6af7 commit ce033a0

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

server/database.js

+31-13
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,50 @@ function escapeRegExp(string) {
4141

4242

4343
const regexIgnoreDiacritics = (() => {
44-
const characterGroups = [
45-
['[aàáâǎäãåā]'],
46-
['[eèéêëēėę]'],
47-
['[iîïíīįì]'],
48-
['[oôöòóøōõ]'],
49-
['[uûüùúū]'],
50-
['[yÿ]'],
51-
['[sśš]'],
44+
const baseCharacterGroups = [
45+
['[aàáâǎäãåāăạả]'],
46+
['[cçćčɔ́ĉƈ]'],
47+
['[eèéêëēėęĕẹẻếềể]'],
48+
['[iîïíīįìĩỉĭịỉ]'],
49+
['[nñńʼnňŋňņṅñ]'],
50+
['[oôöòóøōõơồổỗộơớờở]'],
51+
['[sśşšșṡŝ]'],
52+
['[uûüùúūưũŭůųủǖǘǚ]'],
53+
['[yÿŷýỳỷ]'],
5254
['[zžźż]'],
53-
['[cçćč]'],
54-
['[nñń]'],
5555
];
5656

57-
const allCharacters = new RegExp(characterGroups.map(group => group[0]).join('|'), 'gi');
57+
const extendedCharacterGroups = [
58+
['[bḃḅ]'],
59+
['[dďḋḍđδð]'],
60+
['[fḟƒ]'],
61+
['[gğģǧġĝǥ]'],
62+
['[hḣĥħḫ"]'],
63+
['[jĵȷǰ]'],
64+
['[kķǩƙ]'],
65+
['[lļľłĺļľł₺]'],
66+
['[mṁṃ]'],
67+
['[pṗ]'],
68+
['[rŕřṙ]'],
69+
['[tţťțṫŧťṯ]'],
70+
['[wẇŵ]'],
71+
['[xẋ]'],
72+
].concat(baseCharacterGroups);
73+
74+
const allCharacters = new RegExp('[' + extendedCharacterGroups.map(group => group[0].slice(1, -1)).join('') + ']', 'gi');
75+
const baseCharacters = new RegExp('[' + baseCharacterGroups.map(group => group[0].slice(1, -1)).join('') + ']', 'gi');
5876

5977
return (string) => {
6078
const matchingCharacters = string.match(allCharacters)?.length ?? 0;
6179
if (matchingCharacters > 10) {
6280
if (string.length > matchingCharacters + 3) {
63-
return string.replace(allCharacters, '.');
81+
return string.replace(baseCharacters, '.');
6482
} else {
6583
return string;
6684
}
6785
}
6886

69-
for (const group of characterGroups) {
87+
for (const group of extendedCharacterGroups) {
7088
string = string.replace(new RegExp(group[0], 'gi'), group[0]);
7189
}
7290
return string;

0 commit comments

Comments
 (0)