UNPKG

coveo-search-ui

Version:

Coveo JavaScript Search Framework

914 lines (912 loc) 10.7 kB
const diacriticsToLatinCharacters = { Á: 'A', Ă: 'A', Ắ: 'A', Ặ: 'A', Ằ: 'A', Ẳ: 'A', Ẵ: 'A', Ǎ: 'A', Â: 'A', Ấ: 'A', Ậ: 'A', Ầ: 'A', Ẩ: 'A', Ẫ: 'A', Ä: 'A', Ǟ: 'A', Ȧ: 'A', Ǡ: 'A', Ạ: 'A', Ȁ: 'A', À: 'A', Ả: 'A', Ȃ: 'A', Ā: 'A', Ą: 'A', Å: 'A', Ǻ: 'A', Ḁ: 'A', Ⱥ: 'A', Ã: 'A', Ꜳ: 'AA', Æ: 'AE', Ǽ: 'AE', Ǣ: 'AE', Ꜵ: 'AO', Ꜷ: 'AU', Ꜹ: 'AV', Ꜻ: 'AV', Ꜽ: 'AY', Ḃ: 'B', Ḅ: 'B', Ɓ: 'B', Ḇ: 'B', Ƀ: 'B', Ƃ: 'B', Ć: 'C', Č: 'C', Ç: 'C', Ḉ: 'C', Ĉ: 'C', Ċ: 'C', Ƈ: 'C', Ȼ: 'C', Ď: 'D', Ḑ: 'D', Ḓ: 'D', Ḋ: 'D', Ḍ: 'D', Ɗ: 'D', Ḏ: 'D', Dz: 'D', Dž: 'D', Đ: 'D', Ð: 'D', Ƌ: 'D', DZ: 'DZ', DŽ: 'DZ', É: 'E', Ĕ: 'E', Ě: 'E', Ȩ: 'E', Ḝ: 'E', Ê: 'E', Ế: 'E', Ệ: 'E', Ề: 'E', Ể: 'E', Ễ: 'E', Ḙ: 'E', Ë: 'E', Ė: 'E', Ẹ: 'E', Ȅ: 'E', È: 'E', Ẻ: 'E', Ȇ: 'E', Ē: 'E', Ḗ: 'E', Ḕ: 'E', Ę: 'E', Ɇ: 'E', Ẽ: 'E', Ḛ: 'E', Ꝫ: 'ET', Ḟ: 'F', Ƒ: 'F', Ǵ: 'G', Ğ: 'G', Ǧ: 'G', Ģ: 'G', Ĝ: 'G', Ġ: 'G', Ɠ: 'G', Ḡ: 'G', Ǥ: 'G', Ḫ: 'H', Ȟ: 'H', Ḩ: 'H', Ĥ: 'H', Ⱨ: 'H', Ḧ: 'H', Ḣ: 'H', Ḥ: 'H', Ħ: 'H', Í: 'I', Ĭ: 'I', Ǐ: 'I', Î: 'I', Ï: 'I', Ḯ: 'I', İ: 'I', Ị: 'I', Ȉ: 'I', Ì: 'I', Ỉ: 'I', Ȋ: 'I', Ī: 'I', Į: 'I', Ɨ: 'I', Ĩ: 'I', Ḭ: 'I', І: 'I', Ꝺ: 'D', Ꝼ: 'F', Ᵹ: 'G', Ꞃ: 'R', Ꞅ: 'S', Ꞇ: 'T', Ꝭ: 'IS', Ĵ: 'J', Ɉ: 'J', Ḱ: 'K', Ǩ: 'K', Ķ: 'K', Ⱪ: 'K', Ꝃ: 'K', Ḳ: 'K', Ƙ: 'K', Ḵ: 'K', Ꝁ: 'K', Ꝅ: 'K', Ĺ: 'L', Ƚ: 'L', Ľ: 'L', Ļ: 'L', Ḽ: 'L', Ḷ: 'L', Ḹ: 'L', Ⱡ: 'L', Ꝉ: 'L', Ḻ: 'L', Ŀ: 'L', Ɫ: 'L', Lj: 'L', Ł: 'L', LJ: 'LJ', Ḿ: 'M', Ṁ: 'M', Ṃ: 'M', Ɱ: 'M', Ń: 'N', Ň: 'N', Ņ: 'N', Ṋ: 'N', Ṅ: 'N', Ṇ: 'N', Ǹ: 'N', Ɲ: 'N', Ṉ: 'N', Ƞ: 'N', Nj: 'N', Ñ: 'N', NJ: 'NJ', Ó: 'O', Ŏ: 'O', Ǒ: 'O', Ô: 'O', Ố: 'O', Ộ: 'O', Ồ: 'O', Ổ: 'O', Ỗ: 'O', Ö: 'O', Ȫ: 'O', Ȯ: 'O', Ȱ: 'O', Ọ: 'O', Ő: 'O', Ȍ: 'O', Ò: 'O', Ỏ: 'O', Ơ: 'O', Ớ: 'O', Ợ: 'O', Ờ: 'O', Ở: 'O', Ỡ: 'O', Ȏ: 'O', Ꝋ: 'O', Ꝍ: 'O', Ō: 'O', Ṓ: 'O', Ṑ: 'O', Ɵ: 'O', Ǫ: 'O', Ǭ: 'O', Ø: 'O', Ǿ: 'O', Õ: 'O', Ṍ: 'O', Ṏ: 'O', Ȭ: 'O', Ƣ: 'OI', Ꝏ: 'OO', Ɛ: 'E', Ɔ: 'O', Ȣ: 'OU', Ṕ: 'P', Ṗ: 'P', Ꝓ: 'P', Ƥ: 'P', Ꝕ: 'P', Ᵽ: 'P', Ꝑ: 'P', Ꝙ: 'Q', Ꝗ: 'Q', Ŕ: 'R', Ř: 'R', Ŗ: 'R', Ṙ: 'R', Ṛ: 'R', Ṝ: 'R', Ȑ: 'R', Ȓ: 'R', Ṟ: 'R', Ɍ: 'R', Ɽ: 'R', Ꜿ: 'C', Ǝ: 'E', Ś: 'S', Ṥ: 'S', Š: 'S', Ṧ: 'S', Ş: 'S', Ŝ: 'S', Ș: 'S', Ṡ: 'S', Ṣ: 'S', Ṩ: 'S', ß: 'ss', Ť: 'T', Ţ: 'T', Ṱ: 'T', Ț: 'T', Ⱦ: 'T', Ṫ: 'T', Ṭ: 'T', Ƭ: 'T', Ṯ: 'T', Ʈ: 'T', Ŧ: 'T', Ɐ: 'A', Ꞁ: 'L', Ɯ: 'M', Ʌ: 'V', Ꜩ: 'TZ', Ú: 'U', Ŭ: 'U', Ǔ: 'U', Û: 'U', Ṷ: 'U', Ü: 'U', Ǘ: 'U', Ǚ: 'U', Ǜ: 'U', Ǖ: 'U', Ṳ: 'U', Ụ: 'U', Ű: 'U', Ȕ: 'U', Ù: 'U', Ủ: 'U', Ư: 'U', Ứ: 'U', Ự: 'U', Ừ: 'U', Ử: 'U', Ữ: 'U', Ȗ: 'U', Ū: 'U', Ṻ: 'U', Ų: 'U', Ů: 'U', Ũ: 'U', Ṹ: 'U', Ṵ: 'U', Ꝟ: 'V', Ṿ: 'V', Ʋ: 'V', Ṽ: 'V', Ꝡ: 'VY', Ẃ: 'W', Ŵ: 'W', Ẅ: 'W', Ẇ: 'W', Ẉ: 'W', Ẁ: 'W', Ⱳ: 'W', Ẍ: 'X', Ẋ: 'X', Ý: 'Y', Ŷ: 'Y', Ÿ: 'Y', Ẏ: 'Y', Ỵ: 'Y', Ỳ: 'Y', Ƴ: 'Y', Ỷ: 'Y', Ỿ: 'Y', Ȳ: 'Y', Ɏ: 'Y', Ỹ: 'Y', Ї: 'YI', Ź: 'Z', Ž: 'Z', Ẑ: 'Z', Ⱬ: 'Z', Ż: 'Z', Ẓ: 'Z', Ȥ: 'Z', Ẕ: 'Z', Ƶ: 'Z', Þ: 'TH', IJ: 'IJ', Œ: 'OE', ᴀ: 'A', ᴁ: 'AE', ʙ: 'B', ᴃ: 'B', ᴄ: 'C', ᴅ: 'D', ᴇ: 'E', ꜰ: 'F', ɢ: 'G', ʛ: 'G', ʜ: 'H', ɪ: 'I', ʁ: 'R', ᴊ: 'J', ᴋ: 'K', ʟ: 'L', ᴌ: 'L', ᴍ: 'M', ɴ: 'N', ᴏ: 'O', ɶ: 'OE', ᴐ: 'O', ᴕ: 'OU', ᴘ: 'P', ʀ: 'R', ᴎ: 'N', ᴙ: 'R', ꜱ: 'S', ᴛ: 'T', ⱻ: 'E', ᴚ: 'R', ᴜ: 'U', ᴠ: 'V', ᴡ: 'W', ʏ: 'Y', ᴢ: 'Z', á: 'a', ă: 'a', ắ: 'a', ặ: 'a', ằ: 'a', ẳ: 'a', ẵ: 'a', ǎ: 'a', â: 'a', ấ: 'a', ậ: 'a', ầ: 'a', ẩ: 'a', ẫ: 'a', ä: 'a', ǟ: 'a', ȧ: 'a', ǡ: 'a', ạ: 'a', ȁ: 'a', à: 'a', ả: 'a', ȃ: 'a', ā: 'a', ą: 'a', ᶏ: 'a', ẚ: 'a', å: 'a', ǻ: 'a', ḁ: 'a', ⱥ: 'a', ã: 'a', ꜳ: 'aa', æ: 'ae', ǽ: 'ae', ǣ: 'ae', ꜵ: 'ao', ꜷ: 'au', ꜹ: 'av', ꜻ: 'av', ꜽ: 'ay', ḃ: 'b', ḅ: 'b', ɓ: 'b', ḇ: 'b', ᵬ: 'b', ᶀ: 'b', ƀ: 'b', ƃ: 'b', ɵ: 'o', ć: 'c', č: 'c', ç: 'c', ḉ: 'c', ĉ: 'c', ɕ: 'c', ċ: 'c', ƈ: 'c', ȼ: 'c', ď: 'd', ḑ: 'd', ḓ: 'd', ȡ: 'd', ḋ: 'd', ḍ: 'd', ɗ: 'd', ᶑ: 'd', ḏ: 'd', ᵭ: 'd', ᶁ: 'd', đ: 'd', ɖ: 'd', ƌ: 'd', ð: 'd', ı: 'i', ȷ: 'j', ɟ: 'j', ʄ: 'j', dz: 'dz', dž: 'dz', é: 'e', ĕ: 'e', ě: 'e', ȩ: 'e', ḝ: 'e', ê: 'e', ế: 'e', ệ: 'e', ề: 'e', ể: 'e', ễ: 'e', ḙ: 'e', ë: 'e', ė: 'e', ẹ: 'e', ȅ: 'e', è: 'e', ẻ: 'e', ȇ: 'e', ē: 'e', ḗ: 'e', ḕ: 'e', ⱸ: 'e', ę: 'e', ᶒ: 'e', ɇ: 'e', ẽ: 'e', ḛ: 'e', ꝫ: 'et', ḟ: 'f', ƒ: 'f', ᵮ: 'f', ᶂ: 'f', ǵ: 'g', ğ: 'g', ǧ: 'g', ģ: 'g', ĝ: 'g', ġ: 'g', ɠ: 'g', ḡ: 'g', ᶃ: 'g', ǥ: 'g', ḫ: 'h', ȟ: 'h', ḩ: 'h', ĥ: 'h', ⱨ: 'h', ḧ: 'h', ḣ: 'h', ḥ: 'h', ɦ: 'h', ẖ: 'h', ħ: 'h', ƕ: 'hv', í: 'i', ĭ: 'i', ǐ: 'i', î: 'i', ï: 'i', ḯ: 'i', ị: 'i', ȉ: 'i', ì: 'i', ỉ: 'i', ȋ: 'i', ī: 'i', į: 'i', ᶖ: 'i', ɨ: 'i', ĩ: 'i', ḭ: 'i', і: 'i', ꝺ: 'd', ꝼ: 'f', ᵹ: 'g', ꞃ: 'r', ꞅ: 's', ꞇ: 't', ꝭ: 'is', ǰ: 'j', ĵ: 'j', ʝ: 'j', ɉ: 'j', ḱ: 'k', ǩ: 'k', ķ: 'k', ⱪ: 'k', ꝃ: 'k', ḳ: 'k', ƙ: 'k', ḵ: 'k', ᶄ: 'k', ꝁ: 'k', ꝅ: 'k', ĺ: 'l', ƚ: 'l', ɬ: 'l', ľ: 'l', ļ: 'l', ḽ: 'l', ȴ: 'l', ḷ: 'l', ḹ: 'l', ⱡ: 'l', ꝉ: 'l', ḻ: 'l', ŀ: 'l', ɫ: 'l', ᶅ: 'l', ɭ: 'l', ł: 'l', lj: 'lj', ſ: 's', ẜ: 's', ẛ: 's', ẝ: 's', ḿ: 'm', ṁ: 'm', ṃ: 'm', ɱ: 'm', ᵯ: 'm', ᶆ: 'm', ń: 'n', ň: 'n', ņ: 'n', ṋ: 'n', ȵ: 'n', ṅ: 'n', ṇ: 'n', ǹ: 'n', ɲ: 'n', ṉ: 'n', ƞ: 'n', ᵰ: 'n', ᶇ: 'n', ɳ: 'n', ñ: 'n', nj: 'nj', ó: 'o', ŏ: 'o', ǒ: 'o', ô: 'o', ố: 'o', ộ: 'o', ồ: 'o', ổ: 'o', ỗ: 'o', ö: 'o', ȫ: 'o', ȯ: 'o', ȱ: 'o', ọ: 'o', ő: 'o', ȍ: 'o', ò: 'o', ỏ: 'o', ơ: 'o', ớ: 'o', ợ: 'o', ờ: 'o', ở: 'o', ỡ: 'o', ȏ: 'o', ꝋ: 'o', ꝍ: 'o', ⱺ: 'o', ō: 'o', ṓ: 'o', ṑ: 'o', ǫ: 'o', ǭ: 'o', ø: 'o', ǿ: 'o', õ: 'o', ṍ: 'o', ṏ: 'o', ȭ: 'o', ƣ: 'oi', ꝏ: 'oo', ɛ: 'e', ᶓ: 'e', ɔ: 'o', ᶗ: 'o', ȣ: 'ou', ṕ: 'p', ṗ: 'p', ꝓ: 'p', ƥ: 'p', ᵱ: 'p', ᶈ: 'p', ꝕ: 'p', ᵽ: 'p', ꝑ: 'p', ꝙ: 'q', ʠ: 'q', ɋ: 'q', ꝗ: 'q', ŕ: 'r', ř: 'r', ŗ: 'r', ṙ: 'r', ṛ: 'r', ṝ: 'r', ȑ: 'r', ɾ: 'r', ᵳ: 'r', ȓ: 'r', ṟ: 'r', ɼ: 'r', ᵲ: 'r', ᶉ: 'r', ɍ: 'r', ɽ: 'r', ↄ: 'c', ꜿ: 'c', ɘ: 'e', ɿ: 'r', ś: 's', ṥ: 's', š: 's', ṧ: 's', ş: 's', ŝ: 's', ș: 's', ṡ: 's', ṣ: 's', ṩ: 's', ʂ: 's', ᵴ: 's', ᶊ: 's', ȿ: 's', ɡ: 'g', ᴑ: 'o', ᴓ: 'o', ᴝ: 'u', ť: 't', ţ: 't', ṱ: 't', ț: 't', ȶ: 't', ẗ: 't', ⱦ: 't', ṫ: 't', ṭ: 't', ƭ: 't', ṯ: 't', ᵵ: 't', ƫ: 't', ʈ: 't', ŧ: 't', ᵺ: 'th', ɐ: 'a', ᴂ: 'ae', ǝ: 'e', ᵷ: 'g', ɥ: 'h', ʮ: 'h', ʯ: 'h', ᴉ: 'i', ʞ: 'k', ꞁ: 'l', ɯ: 'm', ɰ: 'm', ᴔ: 'oe', ɹ: 'r', ɻ: 'r', ɺ: 'r', ⱹ: 'r', ʇ: 't', ʌ: 'v', ʍ: 'w', ʎ: 'y', ꜩ: 'tz', ú: 'u', ŭ: 'u', ǔ: 'u', û: 'u', ṷ: 'u', ü: 'u', ǘ: 'u', ǚ: 'u', ǜ: 'u', ǖ: 'u', ṳ: 'u', ụ: 'u', ű: 'u', ȕ: 'u', ù: 'u', ủ: 'u', ư: 'u', ứ: 'u', ự: 'u', ừ: 'u', ử: 'u', ữ: 'u', ȗ: 'u', ū: 'u', ṻ: 'u', ų: 'u', ᶙ: 'u', ů: 'u', ũ: 'u', ṹ: 'u', ṵ: 'u', ᵫ: 'ue', ꝸ: 'um', ⱴ: 'v', ꝟ: 'v', ṿ: 'v', ʋ: 'v', ᶌ: 'v', ⱱ: 'v', ṽ: 'v', ꝡ: 'vy', ẃ: 'w', ŵ: 'w', ẅ: 'w', ẇ: 'w', ẉ: 'w', ẁ: 'w', ⱳ: 'w', ẘ: 'w', ẍ: 'x', ẋ: 'x', ᶍ: 'x', ý: 'y', ŷ: 'y', ÿ: 'y', ẏ: 'y', ỵ: 'y', ỳ: 'y', ƴ: 'y', ỷ: 'y', ỿ: 'y', ȳ: 'y', ẙ: 'y', ɏ: 'y', ỹ: 'y', ї: 'yi', ź: 'z', ž: 'z', ẑ: 'z', ʑ: 'z', ⱬ: 'z', ż: 'z', ẓ: 'z', ȥ: 'z', ẕ: 'z', ᵶ: 'z', ᶎ: 'z', ʐ: 'z', ƶ: 'z', ɀ: 'z', þ: 'th', ff: 'ff', ffi: 'ffi', ffl: 'ffl', fi: 'fi', fl: 'fl', ij: 'ij', œ: 'oe', st: 'st', ₐ: 'a', ₑ: 'e', ᵢ: 'i', ⱼ: 'j', ₒ: 'o', ᵣ: 'r', ᵤ: 'u', ᵥ: 'v', ₓ: 'x', Ё: 'YO', Й: 'I', Ц: 'TS', У: 'U', К: 'K', Е: 'E', Н: 'N', Г: 'G', Ґ: 'G', Ш: 'SH', Щ: 'SCH', З: 'Z', Х: 'H', Ъ: "'", ё: 'yo', й: 'i', ц: 'ts', у: 'u', к: 'k', е: 'e', н: 'n', г: 'g', ґ: 'g', ш: 'sh', щ: 'sch', з: 'z', х: 'h', ъ: "'", Ф: 'F', Ы: 'I', В: 'V', А: 'a', П: 'P', Р: 'R', О: 'O', Л: 'L', Д: 'D', Ж: 'ZH', Э: 'E', ф: 'f', ы: 'i', в: 'v', а: 'a', п: 'p', р: 'r', о: 'o', л: 'l', д: 'd', ж: 'zh', э: 'e', Я: 'Ya', Ч: 'CH', С: 'S', М: 'M', И: 'I', Т: 'T', Ь: "'", Б: 'B', Ю: 'YU', я: 'ya', ч: 'ch', с: 's', м: 'm', и: 'i', т: 't', ь: "'", б: 'b', ю: 'yu' }; export function latinize(str: string) { if (typeof str === 'string') { return str.replace(/[^A-Za-z0-9]/g, function (char) { return diacriticsToLatinCharacters[char] || char; }); } else { return str; } }