source: node_modules/es-toolkit/dist/string/deburr.mjs@ ba17441

Last change on this file since ba17441 was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 905 bytes
Line 
1const deburrMap = new Map([
2 ['Æ', 'Ae'],
3 ['Ð', 'D'],
4 ['Ø', 'O'],
5 ['Þ', 'Th'],
6 ['ß', 'ss'],
7 ['æ', 'ae'],
8 ['ð', 'd'],
9 ['ø', 'o'],
10 ['þ', 'th'],
11 ['Đ', 'D'],
12 ['đ', 'd'],
13 ['Ħ', 'H'],
14 ['ħ', 'h'],
15 ['ı', 'i'],
16 ['IJ', 'IJ'],
17 ['ij', 'ij'],
18 ['ĸ', 'k'],
19 ['Ŀ', 'L'],
20 ['ŀ', 'l'],
21 ['Ł', 'L'],
22 ['ł', 'l'],
23 ['ʼn', "'n"],
24 ['Ŋ', 'N'],
25 ['ŋ', 'n'],
26 ['Œ', 'Oe'],
27 ['œ', 'oe'],
28 ['Ŧ', 'T'],
29 ['ŧ', 't'],
30 ['ſ', 's'],
31]);
32function deburr(str) {
33 str = str.normalize('NFD');
34 let result = '';
35 for (let i = 0; i < str.length; i++) {
36 const char = str[i];
37 if ((char >= '\u0300' && char <= '\u036f') || (char >= '\ufe20' && char <= '\ufe23')) {
38 continue;
39 }
40 result += deburrMap.get(char) ?? char;
41 }
42 return result;
43}
44
45export { deburr };
Note: See TracBrowser for help on using the repository browser.