| Current Path : /usr/local/lib/node_modules/@google/gemini-cli/node_modules/es-toolkit/dist/string/ |
| Current File : //usr/local/lib/node_modules/@google/gemini-cli/node_modules/es-toolkit/dist/string/deburr.mjs |
const deburrMap = new Map(Object.entries({
Æ: 'Ae',
Ð: 'D',
Ø: 'O',
Þ: 'Th',
ß: 'ss',
æ: 'ae',
ð: 'd',
ø: 'o',
þ: 'th',
Đ: 'D',
đ: 'd',
Ħ: 'H',
ħ: 'h',
ı: 'i',
IJ: 'IJ',
ij: 'ij',
ĸ: 'k',
Ŀ: 'L',
ŀ: 'l',
Ł: 'L',
ł: 'l',
ʼn: "'n",
Ŋ: 'N',
ŋ: 'n',
Œ: 'Oe',
œ: 'oe',
Ŧ: 'T',
ŧ: 't',
ſ: 's',
}));
function deburr(str) {
str = str.normalize('NFD');
let result = '';
for (let i = 0; i < str.length; i++) {
const char = str[i];
if ((char >= '\u0300' && char <= '\u036f') || (char >= '\ufe20' && char <= '\ufe23')) {
continue;
}
result += deburrMap.get(char) ?? char;
}
return result;
}
export { deburr };