From aa5af91c6aa90a381a1b516e2c471c50597608f5 Mon Sep 17 00:00:00 2001 From: ianatha Date: Wed, 11 Aug 2021 23:43:17 +0300 Subject: [PATCH 1/2] Update stripDiacritics to strip Greek accents --- src/utils/stripDiacritics.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/utils/stripDiacritics.js b/src/utils/stripDiacritics.js index db4b4caf..2f19f95e 100644 --- a/src/utils/stripDiacritics.js +++ b/src/utils/stripDiacritics.js @@ -104,6 +104,20 @@ const map = [ { base: 'x', letters: '\u0078\u24E7\uFF58\u1E8B\u1E8D' }, { base: 'y', letters: '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF' }, { base: 'z', letters: '\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763' }, + { base: 'Α', letters: '\u0386' }, + { base: 'Ε', letters: '\u0388' }, + { base: 'Η', letters: '\u0389' }, + { base: 'Ι', letters: '\u038a\u03aa' }, + { base: 'Ο', letters: '\u038c' }, + { base: 'Υ', letters: '\u038e\u03ab' }, + { base: 'Ω', letters: '\u038f' }, + { base: 'α', letters: '\u03ac' }, + { base: 'ε', letters: '\u03ad' }, + { base: 'η', letters: '\u03ae' }, + { base: 'ι', letters: '\u03af\u03ca\u0390' }, + { base: 'ο', letters: '\u03cc' }, + { base: 'υ', letters: '\u03cd\u03cb\u03b0' }, + { base: 'ω', letters: '\u03ce' }, ]; /* eslint-enable max-len */ From 0961b119477a51ea8e675d2fbf05968549889621 Mon Sep 17 00:00:00 2001 From: ianatha Date: Wed, 11 Aug 2021 23:46:06 +0300 Subject: [PATCH 2/2] Update stripDiacritics test for Greek characters --- src/__tests__/utils/stripDiacritics.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/__tests__/utils/stripDiacritics.test.js b/src/__tests__/utils/stripDiacritics.test.js index dc7c526c..3f6cd017 100644 --- a/src/__tests__/utils/stripDiacritics.test.js +++ b/src/__tests__/utils/stripDiacritics.test.js @@ -6,9 +6,9 @@ describe('stripDiacritics', () => { it('removes accents and other diacritical marks from a string', () => { /* eslint-disable max-len */ const string = - 'ÆÐƎƐŒẞæǝɛœſߥƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯƳąɓçđɗęħįƙłøơşșţțŧųưƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƐĠĜǦĞĢáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗéèėêëěĕēęẹġĝǧğģĤḤĦIÍÌİÎÏǏĬĪĨĮỊĴĶƘĹĻŁĽĿNŃŇÑŅÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịĵķƙĸĺļłľŀʼnńňñņóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧúùûüǔŭūũűůųụưẃẁŵẅýỳŷÿȳỹƴźżžẓ'; + 'ÆÐƎƐŒẞæǝɛœſߥƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯƳąɓçđɗęħįƙłøơşșţțŧųưƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƐĠĜǦĞĢáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗéèėêëěĕēęẹġĝǧğģĤḤĦIÍÌİÎÏǏĬĪĨĮỊĴĶƘĹĻŁĽĿNŃŇÑŅÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịĵķƙĸĺļłľŀʼnńňñņóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧúùûüǔŭūũűůųụưẃẁŵẅýỳŷÿȳỹƴźżžẓΆΈΉΊΪΌΎΫΏάέίϊΐόύϋΰ'; const result = - 'AEDEEOESaeeeoelsABCDDEHIKLOOSSTTTUUYabcddehikloosstttuuyAAAAAAAAAAAAEAEAEBCCCCCDDDDDEEEEEEEEEEEEGGGGGaaaaaaaaaaaaeaeaebcccccddddeeeeeeeeeegggggHHHIIIIIIIIIIIIJKKLLLLLNNNNNOOOOOOOOOOOOOOEhhhiiiiiiiiiiiijkkĸlllllnnnnnooooooooooooooeRRRSSSSSSSTTTTUUUUUUUUUUUUUWWWWYYYYYYYZZZZrrrlsssssssttttuuuuuuuuuuuuuwwwwyyyyyyyzzzz'; + 'AEDEEOESaeeeoelsABCDDEHIKLOOSSTTTUUYabcddehikloosstttuuyAAAAAAAAAAAAEAEAEBCCCCCDDDDDEEEEEEEEEEEEGGGGGaaaaaaaaaaaaeaeaebcccccddddeeeeeeeeeegggggHHHIIIIIIIIIIIIJKKLLLLLNNNNNOOOOOOOOOOOOOOEhhhiiiiiiiiiiiijkkĸlllllnnnnnooooooooooooooeRRRSSSSSSSTTTTUUUUUUUUUUUUUWWWWYYYYYYYZZZZrrrlsssssssttttuuuuuuuuuuuuuwwwwyyyyyyyzzzzΑΕΗΙΙΟΥΥΩαειιιουυυ'; /* eslint-enable max-len */ expect(stripDiacritics(string)).toBe(result);