16 lines
373 B
JavaScript
16 lines
373 B
JavaScript
export let canNormalize = typeof (''.normalize) === 'function';
|
|
const nonAsciiCharactersPattern = /[^\u0000-\u0080]/;
|
|
export const normalizeNFC = (str) => {
|
|
if (!canNormalize || !str) {
|
|
return str;
|
|
}
|
|
let res;
|
|
if (nonAsciiCharactersPattern.test(str)) {
|
|
res = str.normalize('NFC');
|
|
}
|
|
else {
|
|
res = str;
|
|
}
|
|
return res;
|
|
};
|