From 30f394396ed0e8261e566a90406a3806c839c621 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 10:06:51 +0200 Subject: [PATCH 1/8] add typescript remove js --- .editorconfig | 2 +- lib/speakingurl.js | 1894 +++--------------------- lib/speakingurl.js.map | 1 + lib/utils/charmap.js | 1340 +++++++++++++++++ lib/utils/charmap.js.map | 1 + package-lock.json | 14 +- package.json | 12 +- src/speakingurl.ts | 359 +++++ src/utils/charmap.ts | 1415 ++++++++++++++++++ tsconfig.json | 18 + typings/speakingurl/speakingurl.d.ts | 56 +- typings/speakingurl/utils/charmap.d.ts | 507 +++++++ 12 files changed, 3909 insertions(+), 1710 deletions(-) create mode 100644 lib/speakingurl.js.map create mode 100644 lib/utils/charmap.js create mode 100644 lib/utils/charmap.js.map create mode 100644 src/speakingurl.ts create mode 100644 src/utils/charmap.ts create mode 100644 tsconfig.json create mode 100644 typings/speakingurl/utils/charmap.d.ts diff --git a/.editorconfig b/.editorconfig index e9a9bff..5d12634 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,7 +3,7 @@ root = true [*] indent_style = space -indent_size = 4 +indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true diff --git a/lib/speakingurl.js b/lib/speakingurl.js index 4a62bc0..2486b7e 100644 --- a/lib/speakingurl.js +++ b/lib/speakingurl.js @@ -1,1689 +1,249 @@ -(function (root) { - 'use strict'; - - /** - * charMap - * @type {Object} - */ - var charMap = { - - // latin - 'À': 'A', - 'Á': 'A', - 'Â': 'A', - 'Ã': 'A', - 'Ä': 'Ae', - 'Å': 'A', - 'Æ': 'AE', - 'Ç': 'C', - 'È': 'E', - 'É': 'E', - 'Ê': 'E', - 'Ë': 'E', - 'Ì': 'I', - 'Í': 'I', - 'Î': 'I', - 'Ï': 'I', - 'Ð': 'D', - 'Ñ': 'N', - 'Ò': 'O', - 'Ó': 'O', - 'Ô': 'O', - 'Õ': 'O', - 'Ö': 'Oe', - 'Ő': 'O', - 'Ø': 'O', - 'Ù': 'U', - 'Ú': 'U', - 'Û': 'U', - 'Ü': 'Ue', - 'Ű': 'U', - 'Ý': 'Y', - 'Þ': 'TH', - 'ß': 'ss', - 'à': 'a', - 'á': 'a', - 'â': 'a', - 'ã': 'a', - 'ä': 'ae', - 'å': 'a', - 'æ': 'ae', - 'ç': 'c', - 'è': 'e', - 'é': 'e', - 'ê': 'e', - 'ë': 'e', - 'ì': 'i', - 'í': 'i', - 'î': 'i', - 'ï': 'i', - 'ð': 'd', - 'ñ': 'n', - 'ò': 'o', - 'ó': 'o', - 'ô': 'o', - 'õ': 'o', - 'ö': 'oe', - 'ő': 'o', - 'ø': 'o', - 'ù': 'u', - 'ú': 'u', - 'û': 'u', - 'ü': 'ue', - 'ű': 'u', - 'ý': 'y', - 'þ': 'th', - 'ÿ': 'y', - 'ẞ': 'SS', - - // language specific - - // Arabic - 'ا': 'a', - 'أ': 'a', - 'إ': 'i', - 'آ': 'aa', - 'ؤ': 'u', - 'ئ': 'e', - 'ء': 'a', - 'ب': 'b', - 'ت': 't', - 'ث': 'th', - 'ج': 'j', - 'ح': 'h', - 'خ': 'kh', - 'د': 'd', - 'ذ': 'th', - 'ر': 'r', - 'ز': 'z', - 'س': 's', - 'ش': 'sh', - 'ص': 's', - 'ض': 'dh', - 'ط': 't', - 'ظ': 'z', - 'ع': 'a', - 'غ': 'gh', - 'ف': 'f', - 'ق': 'q', - 'ك': 'k', - 'ل': 'l', - 'م': 'm', - 'ن': 'n', - 'ه': 'h', - 'و': 'w', - 'ي': 'y', - 'ى': 'a', - 'ة': 'h', - 'ﻻ': 'la', - 'ﻷ': 'laa', - 'ﻹ': 'lai', - 'ﻵ': 'laa', - - // Persian additional characters than Arabic - 'گ': 'g', - 'چ': 'ch', - 'پ': 'p', - 'ژ': 'zh', - 'ک': 'k', - 'ی': 'y', - - // Arabic diactrics - 'َ': 'a', - 'ً': 'an', - 'ِ': 'e', - 'ٍ': 'en', - 'ُ': 'u', - 'ٌ': 'on', - 'ْ': '', - - // Arabic numbers - '٠': '0', - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - - // Persian numbers - '۰': '0', - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - - // Burmese consonants - 'က': 'k', - 'ခ': 'kh', - 'ဂ': 'g', - 'ဃ': 'ga', - 'င': 'ng', - 'စ': 's', - 'ဆ': 'sa', - 'ဇ': 'z', - 'စျ': 'za', - 'ည': 'ny', - 'ဋ': 't', - 'ဌ': 'ta', - 'ဍ': 'd', - 'ဎ': 'da', - 'ဏ': 'na', - 'တ': 't', - 'ထ': 'ta', - 'ဒ': 'd', - 'ဓ': 'da', - 'န': 'n', - 'ပ': 'p', - 'ဖ': 'pa', - 'ဗ': 'b', - 'ဘ': 'ba', - 'မ': 'm', - 'ယ': 'y', - 'ရ': 'ya', - 'လ': 'l', - 'ဝ': 'w', - 'သ': 'th', - 'ဟ': 'h', - 'ဠ': 'la', - 'အ': 'a', - // consonant character combos - 'ြ': 'y', - 'ျ': 'ya', - 'ွ': 'w', - 'ြွ': 'yw', - 'ျွ': 'ywa', - 'ှ': 'h', - // independent vowels - 'ဧ': 'e', - '၏': '-e', - 'ဣ': 'i', - 'ဤ': '-i', - 'ဉ': 'u', - 'ဦ': '-u', - 'ဩ': 'aw', - 'သြော': 'aw', - 'ဪ': 'aw', - // numbers - '၀': '0', - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - // virama and tone marks which are silent in transliteration - '္': '', - '့': '', - 'း': '', - - // Czech - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z', - - // Dhivehi - 'ހ': 'h', - 'ށ': 'sh', - 'ނ': 'n', - 'ރ': 'r', - 'ބ': 'b', - 'ޅ': 'lh', - 'ކ': 'k', - 'އ': 'a', - 'ވ': 'v', - 'މ': 'm', - 'ފ': 'f', - 'ދ': 'dh', - 'ތ': 'th', - 'ލ': 'l', - 'ގ': 'g', - 'ޏ': 'gn', - 'ސ': 's', - 'ޑ': 'd', - 'ޒ': 'z', - 'ޓ': 't', - 'ޔ': 'y', - 'ޕ': 'p', - 'ޖ': 'j', - 'ޗ': 'ch', - 'ޘ': 'tt', - 'ޙ': 'hh', - 'ޚ': 'kh', - 'ޛ': 'th', - 'ޜ': 'z', - 'ޝ': 'sh', - 'ޞ': 's', - 'ޟ': 'd', - 'ޠ': 't', - 'ޡ': 'z', - 'ޢ': 'a', - 'ޣ': 'gh', - 'ޤ': 'q', - 'ޥ': 'w', - 'ަ': 'a', - 'ާ': 'aa', - 'ި': 'i', - 'ީ': 'ee', - 'ު': 'u', - 'ޫ': 'oo', - 'ެ': 'e', - 'ޭ': 'ey', - 'ޮ': 'o', - 'ޯ': 'oa', - 'ް': '', - - // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian - // National system (2002) - 'ა': 'a', - 'ბ': 'b', - 'გ': 'g', - 'დ': 'd', - 'ე': 'e', - 'ვ': 'v', - 'ზ': 'z', - 'თ': 't', - 'ი': 'i', - 'კ': 'k', - 'ლ': 'l', - 'მ': 'm', - 'ნ': 'n', - 'ო': 'o', - 'პ': 'p', - 'ჟ': 'zh', - 'რ': 'r', - 'ს': 's', - 'ტ': 't', - 'უ': 'u', - 'ფ': 'p', - 'ქ': 'k', - 'ღ': 'gh', - 'ყ': 'q', - 'შ': 'sh', - 'ჩ': 'ch', - 'ც': 'ts', - 'ძ': 'dz', - 'წ': 'ts', - 'ჭ': 'ch', - 'ხ': 'kh', - 'ჯ': 'j', - 'ჰ': 'h', - - // Greek - 'α': 'a', - 'β': 'v', - 'γ': 'g', - 'δ': 'd', - 'ε': 'e', - 'ζ': 'z', - 'η': 'i', - 'θ': 'th', - 'ι': 'i', - 'κ': 'k', - 'λ': 'l', - 'μ': 'm', - 'ν': 'n', - 'ξ': 'ks', - 'ο': 'o', - 'π': 'p', - 'ρ': 'r', - 'σ': 's', - 'τ': 't', - 'υ': 'y', - 'φ': 'f', - 'χ': 'x', - 'ψ': 'ps', - 'ω': 'o', - 'ά': 'a', - 'έ': 'e', - 'ί': 'i', - 'ό': 'o', - 'ύ': 'y', - 'ή': 'i', - 'ώ': 'o', - 'ς': 's', - 'ϊ': 'i', - 'ΰ': 'y', - 'ϋ': 'y', - 'ΐ': 'i', - 'Α': 'A', - 'Β': 'B', - 'Γ': 'G', - 'Δ': 'D', - 'Ε': 'E', - 'Ζ': 'Z', - 'Η': 'I', - 'Θ': 'TH', - 'Ι': 'I', - 'Κ': 'K', - 'Λ': 'L', - 'Μ': 'M', - 'Ν': 'N', - 'Ξ': 'KS', - 'Ο': 'O', - 'Π': 'P', - 'Ρ': 'R', - 'Σ': 'S', - 'Τ': 'T', - 'Υ': 'Y', - 'Φ': 'F', - 'Χ': 'X', - 'Ψ': 'PS', - 'Ω': 'O', - 'Ά': 'A', - 'Έ': 'E', - 'Ί': 'I', - 'Ό': 'O', - 'Ύ': 'Y', - 'Ή': 'I', - 'Ώ': 'O', - 'Ϊ': 'I', - 'Ϋ': 'Y', - - // Latvian - 'ā': 'a', - // 'č': 'c', // duplicate - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - // 'š': 's', // duplicate - 'ū': 'u', - // 'ž': 'z', // duplicate - 'Ā': 'A', - // 'Č': 'C', // duplicate - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'I', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - // 'Š': 'S', // duplicate - 'Ū': 'U', - // 'Ž': 'Z', // duplicate - - // Macedonian - 'Ќ': 'Kj', - 'ќ': 'kj', - 'Љ': 'Lj', - 'љ': 'lj', - 'Њ': 'Nj', - 'њ': 'nj', - 'Тс': 'Ts', - 'тс': 'ts', - - // Polish - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - // 'ó': 'o', // duplicate - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'E', - 'Ł': 'L', - 'Ń': 'N', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z', - - // Ukranian - 'Є': 'Ye', - 'І': 'I', - 'Ї': 'Yi', - 'Ґ': 'G', - 'є': 'ye', - 'і': 'i', - 'ї': 'yi', - 'ґ': 'g', - - // Romanian - 'ă': 'a', - 'Ă': 'A', - 'ș': 's', - 'Ș': 'S', - // 'ş': 's', // duplicate - // 'Ş': 'S', // duplicate - 'ț': 't', - 'Ț': 'T', - 'ţ': 't', - 'Ţ': 'T', - - // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian - // ICAO - - 'а': 'a', - 'б': 'b', - 'в': 'v', - 'г': 'g', - 'д': 'd', - 'е': 'e', - 'ё': 'yo', - 'ж': 'zh', - 'з': 'z', - 'и': 'i', - 'й': 'i', - 'к': 'k', - 'л': 'l', - 'м': 'm', - 'н': 'n', - 'о': 'o', - 'п': 'p', - 'р': 'r', - 'с': 's', - 'т': 't', - 'у': 'u', - 'ф': 'f', - 'х': 'kh', - 'ц': 'c', - 'ч': 'ch', - 'ш': 'sh', - 'щ': 'sh', - 'ъ': '', - 'ы': 'y', - 'ь': '', - 'э': 'e', - 'ю': 'yu', - 'я': 'ya', - 'А': 'A', - 'Б': 'B', - 'В': 'V', - 'Г': 'G', - 'Д': 'D', - 'Е': 'E', - 'Ё': 'Yo', - 'Ж': 'Zh', - 'З': 'Z', - 'И': 'I', - 'Й': 'I', - 'К': 'K', - 'Л': 'L', - 'М': 'M', - 'Н': 'N', - 'О': 'O', - 'П': 'P', - 'Р': 'R', - 'С': 'S', - 'Т': 'T', - 'У': 'U', - 'Ф': 'F', - 'Х': 'Kh', - 'Ц': 'C', - 'Ч': 'Ch', - 'Ш': 'Sh', - 'Щ': 'Sh', - 'Ъ': '', - 'Ы': 'Y', - 'Ь': '', - 'Э': 'E', - 'Ю': 'Yu', - 'Я': 'Ya', - - // Serbian - 'ђ': 'dj', - 'ј': 'j', - // 'љ': 'lj', // duplicate - // 'њ': 'nj', // duplicate - 'ћ': 'c', - 'џ': 'dz', - 'Ђ': 'Dj', - 'Ј': 'j', - // 'Љ': 'Lj', // duplicate - // 'Њ': 'Nj', // duplicate - 'Ћ': 'C', - 'Џ': 'Dz', - - // Slovak - 'ľ': 'l', - 'ĺ': 'l', - 'ŕ': 'r', - 'Ľ': 'L', - 'Ĺ': 'L', - 'Ŕ': 'R', - - // Turkish - 'ş': 's', - 'Ş': 'S', - 'ı': 'i', - 'İ': 'I', - // 'ç': 'c', // duplicate - // 'Ç': 'C', // duplicate - // 'ü': 'u', // duplicate, see langCharMap - // 'Ü': 'U', // duplicate, see langCharMap - // 'ö': 'o', // duplicate, see langCharMap - // 'Ö': 'O', // duplicate, see langCharMap - 'ğ': 'g', - 'Ğ': 'G', - - // Vietnamese - 'ả': 'a', - 'Ả': 'A', - 'ẳ': 'a', - 'Ẳ': 'A', - 'ẩ': 'a', - 'Ẩ': 'A', - 'đ': 'd', - 'Đ': 'D', - 'ẹ': 'e', - 'Ẹ': 'E', - 'ẽ': 'e', - 'Ẽ': 'E', - 'ẻ': 'e', - 'Ẻ': 'E', - 'ế': 'e', - 'Ế': 'E', - 'ề': 'e', - 'Ề': 'E', - 'ệ': 'e', - 'Ệ': 'E', - 'ễ': 'e', - 'Ễ': 'E', - 'ể': 'e', - 'Ể': 'E', - 'ỏ': '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', - 'ị': 'i', - 'Ị': 'I', - 'ĩ': 'i', - 'Ĩ': 'I', - 'ỉ': 'i', - 'Ỉ': 'i', - 'ủ': 'u', - 'Ủ': 'U', - 'ụ': 'u', - 'Ụ': 'U', - 'ũ': 'u', - 'Ũ': 'U', - 'ư': 'u', - 'Ư': 'U', - 'ứ': 'u', - 'Ứ': 'U', - 'ừ': 'u', - 'Ừ': 'U', - 'ự': 'u', - 'Ự': 'U', - 'ữ': 'u', - 'Ữ': 'U', - 'ử': 'u', - 'Ử': 'ư', - 'ỷ': 'y', - 'Ỷ': 'y', - 'ỳ': 'y', - 'Ỳ': 'Y', - 'ỵ': 'y', - 'Ỵ': 'Y', - 'ỹ': 'y', - 'Ỹ': 'Y', - 'ạ': 'a', - 'Ạ': 'A', - 'ấ': 'a', - 'Ấ': 'A', - 'ầ': 'a', - 'Ầ': 'A', - 'ậ': 'a', - 'Ậ': 'A', - 'ẫ': 'a', - 'Ẫ': 'A', - // 'ă': 'a', // duplicate - // 'Ă': 'A', // duplicate - 'ắ': 'a', - 'Ắ': 'A', - 'ằ': 'a', - 'Ằ': 'A', - 'ặ': 'a', - 'Ặ': 'A', - 'ẵ': 'a', - 'Ẵ': 'A', - "⓪": "0", - "①": "1", - "②": "2", - "③": "3", - "④": "4", - "⑤": "5", - "⑥": "6", - "⑦": "7", - "⑧": "8", - "⑨": "9", - "⑩": "10", - "⑪": "11", - "⑫": "12", - "⑬": "13", - "⑭": "14", - "⑮": "15", - "⑯": "16", - "⑰": "17", - "⑱": "18", - "⑲": "18", - "⑳": "18", - - "⓵": "1", - "⓶": "2", - "⓷": "3", - "⓸": "4", - "⓹": "5", - "⓺": "6", - "⓻": "7", - "⓼": "8", - "⓽": "9", - "⓾": "10", - - "⓿": "0", - "⓫": "11", - "⓬": "12", - "⓭": "13", - "⓮": "14", - "⓯": "15", - "⓰": "16", - "⓱": "17", - "⓲": "18", - "⓳": "19", - "⓴": "20", - - "Ⓐ": "A", - "Ⓑ": "B", - "Ⓒ": "C", - "Ⓓ": "D", - "Ⓔ": "E", - "Ⓕ": "F", - "Ⓖ": "G", - "Ⓗ": "H", - "Ⓘ": "I", - "Ⓙ": "J", - "Ⓚ": "K", - "Ⓛ": "L", - "Ⓜ": "M", - "Ⓝ": "N", - "Ⓞ": "O", - "Ⓟ": "P", - "Ⓠ": "Q", - "Ⓡ": "R", - "Ⓢ": "S", - "Ⓣ": "T", - "Ⓤ": "U", - "Ⓥ": "V", - "Ⓦ": "W", - "Ⓧ": "X", - "Ⓨ": "Y", - "Ⓩ": "Z", - - "ⓐ": "a", - "ⓑ": "b", - "ⓒ": "c", - "ⓓ": "d", - "ⓔ": "e", - "ⓕ": "f", - "ⓖ": "g", - "ⓗ": "h", - "ⓘ": "i", - "ⓙ": "j", - "ⓚ": "k", - "ⓛ": "l", - "ⓜ": "m", - "ⓝ": "n", - "ⓞ": "o", - "ⓟ": "p", - "ⓠ": "q", - "ⓡ": "r", - "ⓢ": "s", - "ⓣ": "t", - "ⓤ": "u", - "ⓦ": "v", - "ⓥ": "w", - "ⓧ": "x", - "ⓨ": "y", - "ⓩ": "z", - - // symbols - '“': '"', - '”': '"', - '‘': "'", - '’': "'", - '∂': 'd', - 'ƒ': 'f', - '™': '(TM)', - '©': '(C)', - 'œ': 'oe', - 'Œ': 'OE', - '®': '(R)', - '†': '+', - '℠': '(SM)', - '…': '...', - '˚': 'o', - 'º': 'o', - 'ª': 'a', - '•': '*', - '၊': ',', - '။': '.', - - // currency - '$': 'USD', - '€': 'EUR', - '₢': 'BRN', - '₣': 'FRF', - '£': 'GBP', - '₤': 'ITL', - '₦': 'NGN', - '₧': 'ESP', - '₩': 'KRW', - '₪': 'ILS', - '₫': 'VND', - '₭': 'LAK', - '₮': 'MNT', - '₯': 'GRD', - '₱': 'ARS', - '₲': 'PYG', - '₳': 'ARA', - '₴': 'UAH', - '₵': 'GHS', - '¢': 'cent', - '¥': 'CNY', - '元': 'CNY', - '円': 'YEN', - '﷼': 'IRR', - '₠': 'EWE', - '฿': 'THB', - '₨': 'INR', - '₹': 'INR', - '₰': 'PF', - '₺': 'TRY', - '؋': 'AFN', - '₼': 'AZN', - 'лв': 'BGN', - '៛': 'KHR', - '₡': 'CRC', - '₸': 'KZT', - 'ден': 'MKD', - 'zł': 'PLN', - '₽': 'RUB', - '₾': 'GEL' - - }; - - /** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ - var lookAheadCharArray = [ - // burmese - '်', - - // Dhivehi - 'ް' - ]; - - /** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ - var diatricMap = { - // Burmese - // dependent vowels - 'ာ': 'a', - 'ါ': 'a', - 'ေ': 'e', - 'ဲ': 'e', - 'ိ': 'i', - 'ီ': 'i', - 'ို': 'o', - 'ု': 'u', - 'ူ': 'u', - 'ေါင်': 'aung', - 'ော': 'aw', - 'ော်': 'aw', - 'ေါ': 'aw', - 'ေါ်': 'aw', - '်': '်', // this is special case but the character will be converted to latin in the code - 'က်': 'et', - 'ိုက်': 'aik', - 'ောက်': 'auk', - 'င်': 'in', - 'ိုင်': 'aing', - 'ောင်': 'aung', - 'စ်': 'it', - 'ည်': 'i', - 'တ်': 'at', - 'ိတ်': 'eik', - 'ုတ်': 'ok', - 'ွတ်': 'ut', - 'ေတ်': 'it', - 'ဒ်': 'd', - 'ိုဒ်': 'ok', - 'ုဒ်': 'ait', - 'န်': 'an', - 'ာန်': 'an', - 'ိန်': 'ein', - 'ုန်': 'on', - 'ွန်': 'un', - 'ပ်': 'at', - 'ိပ်': 'eik', - 'ုပ်': 'ok', - 'ွပ်': 'ut', - 'န်ုပ်': 'nub', - 'မ်': 'an', - 'ိမ်': 'ein', - 'ုမ်': 'on', - 'ွမ်': 'un', - 'ယ်': 'e', - 'ိုလ်': 'ol', - 'ဉ်': 'in', - 'ံ': 'an', - 'ိံ': 'ein', - 'ုံ': 'on', - - // Dhivehi - 'ައް': 'ah', - 'ަށް': 'ah' - }; - - /** - * langCharMap language specific characters translations - * @type {Object} - */ - var langCharMap = { - 'en': {}, // default language - - 'az': { // Azerbaijani - 'ç': 'c', - 'ə': 'e', - 'ğ': 'g', - 'ı': 'i', - 'ö': 'o', - 'ş': 's', - 'ü': 'u', - 'Ç': 'C', - 'Ə': 'E', - 'Ğ': 'G', - 'İ': 'I', - 'Ö': 'O', - 'Ş': 'S', - 'Ü': 'U' - }, - - 'cs': { // Czech - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z' - }, - - 'fi': { // Finnish - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', // ok - 'Ä': 'A', // ok - 'ö': 'o', // ok - 'Ö': 'O' // ok - }, - - 'hu': { // Hungarian - 'ä': 'a', // ok - 'Ä': 'A', // ok - // 'á': 'a', duplicate see charMap/latin - // 'Á': 'A', duplicate see charMap/latin - 'ö': 'o', // ok - 'Ö': 'O', // ok - // 'ő': 'o', duplicate see charMap/latin - // 'Ő': 'O', duplicate see charMap/latin - 'ü': 'u', - 'Ü': 'U', - 'ű': 'u', - 'Ű': 'U' - }, - - 'lt': { // Lithuanian - 'ą': 'a', - 'č': 'c', - 'ę': 'e', - 'ė': 'e', - 'į': 'i', - 'š': 's', - 'ų': 'u', - 'ū': 'u', - 'ž': 'z', - 'Ą': 'A', - 'Č': 'C', - 'Ę': 'E', - 'Ė': 'E', - 'Į': 'I', - 'Š': 'S', - 'Ų': 'U', - 'Ū': 'U' - }, - - 'lv': { // Latvian - 'ā': 'a', - 'č': 'c', - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - 'š': 's', - 'ū': 'u', - 'ž': 'z', - 'Ā': 'A', - 'Č': 'C', - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'i', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - 'Š': 'S', - 'Ū': 'u', - 'Ž': 'Z' - }, - - 'pl': { // Polish - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - 'ó': 'o', - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'e', - 'Ł': 'L', - 'Ń': 'N', - 'Ó': 'O', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z' - }, - - 'sv': { // Swedish - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', // ok - 'Ä': 'A', // ok - 'ö': 'o', // ok - 'Ö': 'O' // ok - }, - - 'sk': { // Slovak - 'ä': 'a', - 'Ä': 'A' - }, - - 'sr': { // Serbian - 'љ': 'lj', - 'њ': 'nj', - 'Љ': 'Lj', - 'Њ': 'Nj', - 'đ': 'dj', - 'Đ': 'Dj' - }, - - 'tr': { // Turkish - 'Ü': 'U', - 'Ö': 'O', - 'ü': 'u', - 'ö': 'o' +"use strict"; +const charmap_1 = require('./utils/charmap'); +const charmap_2 = require('./utils/charmap'); +const charmap_3 = require('./utils/charmap'); +const charmap_4 = require('./utils/charmap'); +const charmap_5 = require('./utils/charmap'); +const charmap_6 = require('./utils/charmap'); +const charmap_7 = require('./utils/charmap'); +const charmap_8 = require('./utils/charmap'); +/** + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ +exports.getSlug = (input, opts) => { + let separator = '-'; + let result = ''; + let diatricString = ''; + let convertSymbols = true; + let customReplacements = {}; + let maintainCase; + let titleCase; + let truncate; + let uricFlag; + let uricNoSlashFlag; + let markFlag; + let symbol; + let langChar; + let lucky; + let i; + let ch; + let l; + let lastCharWasSymbol; + let lastCharWasDiatric; + let allowedChars = ''; + if (typeof input !== 'string') { + return ''; + } + if (typeof opts === 'string') { + separator = opts; + } + symbol = charmap_8.symbolMap.en; + langChar = charmap_7.langCharMap.en; + if (typeof opts === 'object') { + opts = opts; + maintainCase = opts.maintainCase || false; + customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; + truncate = (+opts.truncate > 1 && opts.truncate) || false; + uricFlag = opts.uric || false; + uricNoSlashFlag = opts.uricNoSlash || false; + markFlag = opts.mark || false; + convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; + separator = opts.separator || separator; + if (uricFlag) { + allowedChars += charmap_6.uricChars; } - }; - - /** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ - var symbolMap = { - 'ar': { - '∆': 'delta', - '∞': 'la-nihaya', - '♥': 'hob', - '&': 'wa', - '|': 'aw', - '<': 'aqal-men', - '>': 'akbar-men', - '∑': 'majmou', - '¤': 'omla' - }, - - 'az': {}, - - 'ca': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'amor', - '&': 'i', - '|': 'o', - '<': 'menys que', - '>': 'mes que', - '∑': 'suma dels', - '¤': 'moneda' - }, - - 'cs': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'nebo', - '<': 'mensi nez', - '>': 'vetsi nez', - '∑': 'soucet', - '¤': 'mena' - }, - - 'de': { - '∆': 'delta', - '∞': 'unendlich', - '♥': 'Liebe', - '&': 'und', - '|': 'oder', - '<': 'kleiner als', - '>': 'groesser als', - '∑': 'Summe von', - '¤': 'Waehrung' - }, - - 'dv': { - '∆': 'delta', - '∞': 'kolunulaa', - '♥': 'loabi', - '&': 'aai', - '|': 'noonee', - '<': 'ah vure kuda', - '>': 'ah vure bodu', - '∑': 'jumula', - '¤': 'faisaa' - }, - - 'en': { - '∆': 'delta', - '∞': 'infinity', - '♥': 'love', - '&': 'and', - '|': 'or', - '<': 'less than', - '>': 'greater than', - '∑': 'sum', - '¤': 'currency' - }, - - 'es': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'y', - '|': 'u', - '<': 'menos que', - '>': 'mas que', - '∑': 'suma de los', - '¤': 'moneda' - }, - - 'fa': { - '∆': 'delta', - '∞': 'bi-nahayat', - '♥': 'eshgh', - '&': 'va', - '|': 'ya', - '<': 'kamtar-az', - '>': 'bishtar-az', - '∑': 'majmooe', - '¤': 'vahed' - }, - - 'fi': { - '∆': 'delta', - '∞': 'aarettomyys', - '♥': 'rakkaus', - '&': 'ja', - '|': 'tai', - '<': 'pienempi kuin', - '>': 'suurempi kuin', - '∑': 'summa', - '¤': 'valuutta' - }, - - 'fr': { - '∆': 'delta', - '∞': 'infiniment', - '♥': 'Amour', - '&': 'et', - '|': 'ou', - '<': 'moins que', - '>': 'superieure a', - '∑': 'somme des', - '¤': 'monnaie' - }, - - 'ge': { - '∆': 'delta', - '∞': 'usasruloba', - '♥': 'siqvaruli', - '&': 'da', - '|': 'an', - '<': 'naklebi', - '>': 'meti', - '∑': 'jami', - '¤': 'valuta' - }, - - 'gr': {}, - - 'hu': { - '∆': 'delta', - '∞': 'vegtelen', - '♥': 'szerelem', - '&': 'es', - '|': 'vagy', - '<': 'kisebb mint', - '>': 'nagyobb mint', - '∑': 'szumma', - '¤': 'penznem' - }, - - 'it': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amore', - '&': 'e', - '|': 'o', - '<': 'minore di', - '>': 'maggiore di', - '∑': 'somma', - '¤': 'moneta' - }, - - 'lt': { - '∆': 'delta', - '∞': 'begalybe', - '♥': 'meile', - '&': 'ir', - '|': 'ar', - '<': 'maziau nei', - '>': 'daugiau nei', - '∑': 'suma', - '¤': 'valiuta' - }, - - 'lv': { - '∆': 'delta', - '∞': 'bezgaliba', - '♥': 'milestiba', - '&': 'un', - '|': 'vai', - '<': 'mazak neka', - '>': 'lielaks neka', - '∑': 'summa', - '¤': 'valuta' - }, - - 'my': { - '∆': 'kwahkhyaet', - '∞': 'asaonasme', - '♥': 'akhyait', - '&': 'nhin', - '|': 'tho', - '<': 'ngethaw', - '>': 'kyithaw', - '∑': 'paungld', - '¤': 'ngwekye' - }, - - 'mk': {}, - - 'nl': { - '∆': 'delta', - '∞': 'oneindig', - '♥': 'liefde', - '&': 'en', - '|': 'of', - '<': 'kleiner dan', - '>': 'groter dan', - '∑': 'som', - '¤': 'valuta' - }, - - 'pl': { - '∆': 'delta', - '∞': 'nieskonczonosc', - '♥': 'milosc', - '&': 'i', - '|': 'lub', - '<': 'mniejsze niz', - '>': 'wieksze niz', - '∑': 'suma', - '¤': 'waluta' - }, - - 'pt': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'e', - '|': 'ou', - '<': 'menor que', - '>': 'maior que', - '∑': 'soma', - '¤': 'moeda' - }, - - 'ro': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'dragoste', - '&': 'si', - '|': 'sau', - '<': 'mai mic ca', - '>': 'mai mare ca', - '∑': 'suma', - '¤': 'valuta' - }, - - 'ru': { - '∆': 'delta', - '∞': 'beskonechno', - '♥': 'lubov', - '&': 'i', - '|': 'ili', - '<': 'menshe', - '>': 'bolshe', - '∑': 'summa', - '¤': 'valjuta' - }, - - 'sk': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'alebo', - '<': 'menej ako', - '>': 'viac ako', - '∑': 'sucet', - '¤': 'mena' - }, - - 'sr': {}, - - 'tr': { - '∆': 'delta', - '∞': 'sonsuzluk', - '♥': 'ask', - '&': 've', - '|': 'veya', - '<': 'kucuktur', - '>': 'buyuktur', - '∑': 'toplam', - '¤': 'para birimi' - }, - - 'uk': { - '∆': 'delta', - '∞': 'bezkinechnist', - '♥': 'lubov', - '&': 'i', - '|': 'abo', - '<': 'menshe', - '>': 'bilshe', - '∑': 'suma', - '¤': 'valjuta' - }, - - 'vn': { - '∆': 'delta', - '∞': 'vo cuc', - '♥': 'yeu', - '&': 'va', - '|': 'hoac', - '<': 'nho hon', - '>': 'lon hon', - '∑': 'tong', - '¤': 'tien te' + if (uricNoSlashFlag) { + allowedChars += charmap_5.uricNoSlashChars; } - }; - - var uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); - - var uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); - - var markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); - - /** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ - var getSlug = function getSlug(input, opts) { - var separator = '-'; - var result = ''; - var diatricString = ''; - var convertSymbols = true; - var customReplacements = {}; - var maintainCase; - var titleCase; - var truncate; - var uricFlag; - var uricNoSlashFlag; - var markFlag; - var symbol; - var langChar; - var lucky; - var i; - var ch; - var l; - var lastCharWasSymbol; - var lastCharWasDiatric; - var allowedChars = ''; - - if (typeof input !== 'string') { - return ''; + if (markFlag) { + allowedChars += charmap_4.markChars; } - - if (typeof opts === 'string') { - separator = opts; + symbol = (opts.lang && charmap_8.symbolMap[opts.lang] && convertSymbols) ? + charmap_8.symbolMap[opts.lang] : (convertSymbols ? charmap_8.symbolMap.en : {}); + langChar = (opts.lang && charmap_7.langCharMap[opts.lang]) ? + charmap_7.langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : charmap_7.langCharMap.en; + // if titleCase config is an Array, rewrite to object format + if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { + opts.titleCase = opts.titleCase; + opts.titleCase.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); + titleCase = true; } - - symbol = symbolMap.en; - langChar = langCharMap.en; - - if (typeof opts === 'object') { - maintainCase = opts.maintainCase || false; - customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; - truncate = (+opts.truncate > 1 && opts.truncate) || false; - uricFlag = opts.uric || false; - uricNoSlashFlag = opts.uricNoSlash || false; - markFlag = opts.mark || false; - convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; - separator = opts.separator || separator; - - if (uricFlag) { - allowedChars += uricChars; - } - - if (uricNoSlashFlag) { - allowedChars += uricNoSlashChars; + else { + titleCase = !!opts.titleCase; + } + // if custom config is an Array, rewrite to object format + if (opts.custom && Array.isArray(opts.custom) && typeof opts.custom.length === 'number' && Array.prototype.toString.call(opts.custom)) { + opts.custom = opts.custom; + opts.custom.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); + } + // custom replacements + Object.keys(customReplacements).forEach(function (v) { + let r; + if (v.length > 1) { + r = new RegExp('\\b' + exports.escapeChars(v) + '\\b', 'gi'); } - - if (markFlag) { - allowedChars += markChars; + else { + r = new RegExp(exports.escapeChars(v), 'gi'); } - - symbol = (opts.lang && symbolMap[opts.lang] && convertSymbols) ? - symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {}); - - langChar = (opts.lang && langCharMap[opts.lang]) ? - langCharMap[opts.lang] : - opts.lang === false || opts.lang === true ? {} : langCharMap.en; - - // if titleCase config is an Array, rewrite to object format - if (opts.titleCase && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { - opts.titleCase.forEach(function (v) { - customReplacements[v + ''] = v + ''; - }); - - titleCase = true; - } else { - titleCase = !!opts.titleCase; + input = input.replace(r, customReplacements[v]); + }); + // add all custom replacement to allowed charlist + for (ch in customReplacements) { + allowedChars += ch; + } + } + allowedChars += separator; + // escape all necessary chars + allowedChars = exports.escapeChars(allowedChars); + // trim whitespaces + input = input.replace(/(^\s+|\s+$)/g, ''); + lastCharWasSymbol = false; + lastCharWasDiatric = false; + for (i = 0, l = input.length; i < l; i++) { + ch = input[i]; + if (exports.isReplacedCustomChar(ch, customReplacements)) { + // don't convert a already converted char + lastCharWasSymbol = false; + } + else if (langChar[ch]) { + // process language specific diactrics chars conversion + ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; + lastCharWasSymbol = false; + } + else if (ch in charmap_3.charMap) { + // the transliteration changes entirely when some special characters are added + if (i + 1 < l && charmap_2.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + diatricString += ch; + ch = ''; } - - // if custom config is an Array, rewrite to object format - if (opts.custom && typeof opts.custom.length === 'number' && Array.prototype.toString.call(opts.custom)) { - opts.custom.forEach(function (v) { - customReplacements[v + ''] = v + ''; - }); + else if (lastCharWasDiatric === true) { + ch = charmap_1.diatricMap[diatricString] + charmap_3.charMap[ch]; + diatricString = ''; } - - // custom replacements - Object.keys(customReplacements).forEach(function (v) { - var r; - - if (v.length > 1) { - r = new RegExp('\\b' + escapeChars(v) + '\\b', 'gi'); - } else { - r = new RegExp(escapeChars(v), 'gi'); - } - - input = input.replace(r, customReplacements[v]); - }); - - // add all custom replacement to allowed charlist - for (ch in customReplacements) { - allowedChars += ch; + else { + // process diactrics chars + ch = lastCharWasSymbol && charmap_3.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charmap_3.charMap[ch] : charmap_3.charMap[ch]; } + lastCharWasSymbol = false; + lastCharWasDiatric = false; } - - allowedChars += separator; - - // escape all necessary chars - allowedChars = escapeChars(allowedChars); - - // trim whitespaces - input = input.replace(/(^\s+|\s+$)/g, ''); - - lastCharWasSymbol = false; - lastCharWasDiatric = false; - - for (i = 0, l = input.length; i < l; i++) { - ch = input[i]; - - if (isReplacedCustomChar(ch, customReplacements)) { - // don't convert a already converted char - lastCharWasSymbol = false; - } else if (langChar[ch]) { - // process language specific diactrics chars conversion - ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; - - lastCharWasSymbol = false; - } else if (ch in charMap) { - // the transliteration changes entirely when some special characters are added - if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { - diatricString += ch; - ch = ''; - } else if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + charMap[ch]; - diatricString = ''; - } else { - // process diactrics chars - ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMap[ch] : charMap[ch]; - } - - lastCharWasSymbol = false; - lastCharWasDiatric = false; - } else if (ch in diatricMap) { - diatricString += ch; - ch = ''; - // end of string, put the whole meaningful word - if (i === l - 1) { - ch = diatricMap[diatricString]; - } - lastCharWasDiatric = true; - } else if ( - // process symbol chars - symbol[ch] && !(uricFlag && uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars - // .indexOf(ch) !== -1) && !(markFlag && markChars - .indexOf(ch) !== -1)) { - ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; - ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; - - lastCharWasSymbol = true; - } else { - if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + ch; - diatricString = ''; - lastCharWasDiatric = false; - } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { - // process latin chars - ch = ' ' + ch; - } - lastCharWasSymbol = false; + else if (ch in charmap_1.diatricMap) { + diatricString += ch; + ch = ''; + // end of string, put the whole meaningful word + if (i === l - 1) { + ch = charmap_1.diatricMap[diatricString]; } - - // add allowed chars - result += ch.replace(new RegExp('[^\\w\\s' + allowedChars + '_-]', 'g'), separator); + lastCharWasDiatric = true; } - - if (titleCase) { - result = result.replace(/(\w)(\S*)/g, function (_, i, r) { - var j = i.toUpperCase() + (r !== null ? r : ''); - return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); - }); + else if ( + // process symbol chars + symbol[ch] && !(uricFlag && charmap_6.uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && charmap_5.uricNoSlashChars + .indexOf(ch) !== -1)) { + ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; + ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; + lastCharWasSymbol = true; } - - // eliminate duplicate separators - // add separator - // trim separators from start and end - result = result.replace(/\s+/g, separator) - .replace(new RegExp('\\' + separator + '+', 'g'), separator) - .replace(new RegExp('(^\\' + separator + '+|\\' + separator + '+$)', 'g'), ''); - - if (truncate && result.length > truncate) { - lucky = result.charAt(truncate) === separator; - result = result.slice(0, truncate); - - if (!lucky) { - result = result.slice(0, result.lastIndexOf(separator)); + else { + if (lastCharWasDiatric === true) { + ch = charmap_1.diatricMap[diatricString] + ch; + diatricString = ''; + lastCharWasDiatric = false; + } + else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + // process latin chars + ch = ' ' + ch; } + lastCharWasSymbol = false; } - - if (!maintainCase && !titleCase) { - result = result.toLowerCase(); + // add allowed chars + result += ch.replace(new RegExp('[^\\w\\s' + allowedChars + '_-]', 'g'), separator); + } + if (titleCase) { + result = result.replace(/(\w)(\S*)/g, function (_, i, r) { + let j = i.toUpperCase() + (r !== null ? r : ''); + return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); + }); + } + // eliminate duplicate separators + // add separator + // trim separators from start and end + result = result.replace(/\s+/g, separator) + .replace(new RegExp('\\' + separator + '+', 'g'), separator) + .replace(new RegExp('(^\\' + separator + '+|\\' + separator + '+$)', 'g'), ''); + if (truncate && result.length > truncate) { + lucky = result.charAt(truncate) === separator; + result = result.slice(0, truncate); + if (!lucky) { + result = result.slice(0, result.lastIndexOf(separator)); } - - return result; - }; - - /** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ - var createSlug = function createSlug(opts) { - - /** - * getSlugWithConfig - * @param {string} input string - * @return {string} slug string - */ - return function getSlugWithConfig(input) { - return getSlug(input, opts); - }; - }; - + } + if (!maintainCase && !titleCase) { + result = result.toLowerCase(); + } + return result; +}; +/** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ +exports.createSlug = (opts) => { /** - * escape Chars + * getSlugWithConfig * @param {string} input string + * @return {string} slug string */ - var escapeChars = function escapeChars(input) { - return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); + return function getSlugWithConfig(input) { + return exports.getSlug(input, opts); }; - - /** - * check if the char is an already converted char from custom list - * @param {char} ch character to check - * @param {object} customReplacements custom translation map - */ - var isReplacedCustomChar = function (ch, customReplacements) { - for (var c in customReplacements) { - if (customReplacements[c] === ch) { - return true; - } +}; +/** + * escape Chars + * @param {string} input string + */ +exports.escapeChars = (input) => { + return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); +}; +/** + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map + */ +exports.isReplacedCustomChar = (ch, customReplacements) => { + for (let c in customReplacements) { + if (customReplacements[c] === ch) { + return true; } - }; - - if (typeof module !== 'undefined' && module.exports) { - - // export functions for use in Node - module.exports = getSlug; - module.exports.createSlug = createSlug; - } else if (typeof define !== 'undefined' && define.amd) { - - // export function for use in AMD - define([], function () { - return getSlug; - }); - } else { - - // don't overwrite global if exists - try { - if (root.getSlug || root.createSlug) { - throw 'speakingurl: globals exists /(getSlug|createSlug)/'; - } else { - root.getSlug = getSlug; - root.createSlug = createSlug; - } - } catch (e) {} } -})(this); \ No newline at end of file +}; +(function () { + let exportables = [exports.createSlug, exports.getSlug, exports.isReplacedCustomChar, exports.escapeChars]; + // Node: Export function + if (typeof module !== "undefined" && module.exports) { + exportables.forEach(exp => module.exports[nameof(exp)] = exp); + } + else if (typeof define === 'function' && define.amd) { + exportables.forEach(exp => define(() => exp)); + } + else if (window) { + exportables.forEach(exp => window[nameof(exp)] = exp); + } + function nameof(fn) { + return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { + let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); + return !result ? '' : result[1]; + })(); + } +}()); +//# sourceMappingURL=speakingurl.js.map \ No newline at end of file diff --git a/lib/speakingurl.js.map b/lib/speakingurl.js.map new file mode 100644 index 0000000..129b105 --- /dev/null +++ b/lib/speakingurl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/utils/charmap.js b/lib/utils/charmap.js new file mode 100644 index 0000000..dba70cf --- /dev/null +++ b/lib/utils/charmap.js @@ -0,0 +1,1340 @@ +"use strict"; +/** + * charMap + * @type {Object} + */ +exports.charMap = { + // latin + 'À': 'A', + 'Á': 'A', + 'Â': 'A', + 'Ã': 'A', + 'Ä': 'Ae', + 'Å': 'A', + 'Æ': 'AE', + 'Ç': 'C', + 'È': 'E', + 'É': 'E', + 'Ê': 'E', + 'Ë': 'E', + 'Ì': 'I', + 'Í': 'I', + 'Î': 'I', + 'Ï': 'I', + 'Ð': 'D', + 'Ñ': 'N', + 'Ò': 'O', + 'Ó': 'O', + 'Ô': 'O', + 'Õ': 'O', + 'Ö': 'Oe', + 'Ő': 'O', + 'Ø': 'O', + 'Ù': 'U', + 'Ú': 'U', + 'Û': 'U', + 'Ü': 'Ue', + 'Ű': 'U', + 'Ý': 'Y', + 'Þ': 'TH', + 'ß': 'ss', + 'à': 'a', + 'á': 'a', + 'â': 'a', + 'ã': 'a', + 'ä': 'ae', + 'å': 'a', + 'æ': 'ae', + 'ç': 'c', + 'è': 'e', + 'é': 'e', + 'ê': 'e', + 'ë': 'e', + 'ì': 'i', + 'í': 'i', + 'î': 'i', + 'ï': 'i', + 'ð': 'd', + 'ñ': 'n', + 'ò': 'o', + 'ó': 'o', + 'ô': 'o', + 'õ': 'o', + 'ö': 'oe', + 'ő': 'o', + 'ø': 'o', + 'ù': 'u', + 'ú': 'u', + 'û': 'u', + 'ü': 'ue', + 'ű': 'u', + 'ý': 'y', + 'þ': 'th', + 'ÿ': 'y', + 'ẞ': 'SS', + // language specific + // Arabic + 'ا': 'a', + 'أ': 'a', + 'إ': 'i', + 'آ': 'aa', + 'ؤ': 'u', + 'ئ': 'e', + 'ء': 'a', + 'ب': 'b', + 'ت': 't', + 'ث': 'th', + 'ج': 'j', + 'ح': 'h', + 'خ': 'kh', + 'د': 'd', + 'ذ': 'th', + 'ر': 'r', + 'ز': 'z', + 'س': 's', + 'ش': 'sh', + 'ص': 's', + 'ض': 'dh', + 'ط': 't', + 'ظ': 'z', + 'ع': 'a', + 'غ': 'gh', + 'ف': 'f', + 'ق': 'q', + 'ك': 'k', + 'ل': 'l', + 'م': 'm', + 'ن': 'n', + 'ه': 'h', + 'و': 'w', + 'ي': 'y', + 'ى': 'a', + 'ة': 'h', + 'ﻻ': 'la', + 'ﻷ': 'laa', + 'ﻹ': 'lai', + 'ﻵ': 'laa', + // Persian additional characters than Arabic + 'گ': 'g', + 'چ': 'ch', + 'پ': 'p', + 'ژ': 'zh', + 'ک': 'k', + 'ی': 'y', + // Arabic diactrics + 'َ': 'a', + 'ً': 'an', + 'ِ': 'e', + 'ٍ': 'en', + 'ُ': 'u', + 'ٌ': 'on', + 'ْ': '', + // Arabic numbers + '٠': '0', + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + // Persian numbers + '۰': '0', + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + // Burmese consonants + 'က': 'k', + 'ခ': 'kh', + 'ဂ': 'g', + 'ဃ': 'ga', + 'င': 'ng', + 'စ': 's', + 'ဆ': 'sa', + 'ဇ': 'z', + 'စျ': 'za', + 'ည': 'ny', + 'ဋ': 't', + 'ဌ': 'ta', + 'ဍ': 'd', + 'ဎ': 'da', + 'ဏ': 'na', + 'တ': 't', + 'ထ': 'ta', + 'ဒ': 'd', + 'ဓ': 'da', + 'န': 'n', + 'ပ': 'p', + 'ဖ': 'pa', + 'ဗ': 'b', + 'ဘ': 'ba', + 'မ': 'm', + 'ယ': 'y', + 'ရ': 'ya', + 'လ': 'l', + 'ဝ': 'w', + 'သ': 'th', + 'ဟ': 'h', + 'ဠ': 'la', + 'အ': 'a', + // consonant character combos + 'ြ': 'y', + 'ျ': 'ya', + 'ွ': 'w', + 'ြွ': 'yw', + 'ျွ': 'ywa', + 'ှ': 'h', + // independent vowels + 'ဧ': 'e', + '၏': '-e', + 'ဣ': 'i', + 'ဤ': '-i', + 'ဉ': 'u', + 'ဦ': '-u', + 'ဩ': 'aw', + 'သြော': 'aw', + 'ဪ': 'aw', + // numbers + '၀': '0', + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + // virama and tone marks which are silent in transliteration + '္': '', + '့': '', + 'း': '', + // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z', + // Dhivehi + 'ހ': 'h', + 'ށ': 'sh', + 'ނ': 'n', + 'ރ': 'r', + 'ބ': 'b', + 'ޅ': 'lh', + 'ކ': 'k', + 'އ': 'a', + 'ވ': 'v', + 'މ': 'm', + 'ފ': 'f', + 'ދ': 'dh', + 'ތ': 'th', + 'ލ': 'l', + 'ގ': 'g', + 'ޏ': 'gn', + 'ސ': 's', + 'ޑ': 'd', + 'ޒ': 'z', + 'ޓ': 't', + 'ޔ': 'y', + 'ޕ': 'p', + 'ޖ': 'j', + 'ޗ': 'ch', + 'ޘ': 'tt', + 'ޙ': 'hh', + 'ޚ': 'kh', + 'ޛ': 'th', + 'ޜ': 'z', + 'ޝ': 'sh', + 'ޞ': 's', + 'ޟ': 'd', + 'ޠ': 't', + 'ޡ': 'z', + 'ޢ': 'a', + 'ޣ': 'gh', + 'ޤ': 'q', + 'ޥ': 'w', + 'ަ': 'a', + 'ާ': 'aa', + 'ި': 'i', + 'ީ': 'ee', + 'ު': 'u', + 'ޫ': 'oo', + 'ެ': 'e', + 'ޭ': 'ey', + 'ޮ': 'o', + 'ޯ': 'oa', + 'ް': '', + // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian + // National system (2002) + 'ა': 'a', + 'ბ': 'b', + 'გ': 'g', + 'დ': 'd', + 'ე': 'e', + 'ვ': 'v', + 'ზ': 'z', + 'თ': 't', + 'ი': 'i', + 'კ': 'k', + 'ლ': 'l', + 'მ': 'm', + 'ნ': 'n', + 'ო': 'o', + 'პ': 'p', + 'ჟ': 'zh', + 'რ': 'r', + 'ს': 's', + 'ტ': 't', + 'უ': 'u', + 'ფ': 'p', + 'ქ': 'k', + 'ღ': 'gh', + 'ყ': 'q', + 'შ': 'sh', + 'ჩ': 'ch', + 'ც': 'ts', + 'ძ': 'dz', + 'წ': 'ts', + 'ჭ': 'ch', + 'ხ': 'kh', + 'ჯ': 'j', + 'ჰ': 'h', + // Greek + 'α': 'a', + 'β': 'v', + 'γ': 'g', + 'δ': 'd', + 'ε': 'e', + 'ζ': 'z', + 'η': 'i', + 'θ': 'th', + 'ι': 'i', + 'κ': 'k', + 'λ': 'l', + 'μ': 'm', + 'ν': 'n', + 'ξ': 'ks', + 'ο': 'o', + 'π': 'p', + 'ρ': 'r', + 'σ': 's', + 'τ': 't', + 'υ': 'y', + 'φ': 'f', + 'χ': 'x', + 'ψ': 'ps', + 'ω': 'o', + 'ά': 'a', + 'έ': 'e', + 'ί': 'i', + 'ό': 'o', + 'ύ': 'y', + 'ή': 'i', + 'ώ': 'o', + 'ς': 's', + 'ϊ': 'i', + 'ΰ': 'y', + 'ϋ': 'y', + 'ΐ': 'i', + 'Α': 'A', + 'Β': 'B', + 'Γ': 'G', + 'Δ': 'D', + 'Ε': 'E', + 'Ζ': 'Z', + 'Η': 'I', + 'Θ': 'TH', + 'Ι': 'I', + 'Κ': 'K', + 'Λ': 'L', + 'Μ': 'M', + 'Ν': 'N', + 'Ξ': 'KS', + 'Ο': 'O', + 'Π': 'P', + 'Ρ': 'R', + 'Σ': 'S', + 'Τ': 'T', + 'Υ': 'Y', + 'Φ': 'F', + 'Χ': 'X', + 'Ψ': 'PS', + 'Ω': 'O', + 'Ά': 'A', + 'Έ': 'E', + 'Ί': 'I', + 'Ό': 'O', + 'Ύ': 'Y', + 'Ή': 'I', + 'Ώ': 'O', + 'Ϊ': 'I', + 'Ϋ': 'Y', + // Latvian + 'ā': 'a', + // 'č': 'c', // duplicate + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + // 'š': 's', // duplicate + 'ū': 'u', + // 'ž': 'z', // duplicate + 'Ā': 'A', + // 'Č': 'C', // duplicate + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'I', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + // 'Š': 'S', // duplicate + 'Ū': 'U', + // 'Ž': 'Z', // duplicate + // Macedonian + 'Ќ': 'Kj', + 'ќ': 'kj', + 'Љ': 'Lj', + 'љ': 'lj', + 'Њ': 'Nj', + 'њ': 'nj', + 'Тс': 'Ts', + 'тс': 'ts', + // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + // 'ó': 'o', // duplicate + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'E', + 'Ł': 'L', + 'Ń': 'N', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z', + // Ukranian + 'Є': 'Ye', + 'І': 'I', + 'Ї': 'Yi', + 'Ґ': 'G', + 'є': 'ye', + 'і': 'i', + 'ї': 'yi', + 'ґ': 'g', + // Romanian + 'ă': 'a', + 'Ă': 'A', + 'ș': 's', + 'Ș': 'S', + // 'ş': 's', // duplicate + // 'Ş': 'S', // duplicate + 'ț': 't', + 'Ț': 'T', + 'ţ': 't', + 'Ţ': 'T', + // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian + // ICAO + 'а': 'a', + 'б': 'b', + 'в': 'v', + 'г': 'g', + 'д': 'd', + 'е': 'e', + 'ё': 'yo', + 'ж': 'zh', + 'з': 'z', + 'и': 'i', + 'й': 'i', + 'к': 'k', + 'л': 'l', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'p', + 'р': 'r', + 'с': 's', + 'т': 't', + 'у': 'u', + 'ф': 'f', + 'х': 'kh', + 'ц': 'c', + 'ч': 'ch', + 'ш': 'sh', + 'щ': 'sh', + 'ъ': '', + 'ы': 'y', + 'ь': '', + 'э': 'e', + 'ю': 'yu', + 'я': 'ya', + 'А': 'A', + 'Б': 'B', + 'В': 'V', + 'Г': 'G', + 'Д': 'D', + 'Е': 'E', + 'Ё': 'Yo', + 'Ж': 'Zh', + 'З': 'Z', + 'И': 'I', + 'Й': 'I', + 'К': 'K', + 'Л': 'L', + 'М': 'M', + 'Н': 'N', + 'О': 'O', + 'П': 'P', + 'Р': 'R', + 'С': 'S', + 'Т': 'T', + 'У': 'U', + 'Ф': 'F', + 'Х': 'Kh', + 'Ц': 'C', + 'Ч': 'Ch', + 'Ш': 'Sh', + 'Щ': 'Sh', + 'Ъ': '', + 'Ы': 'Y', + 'Ь': '', + 'Э': 'E', + 'Ю': 'Yu', + 'Я': 'Ya', + // Serbian + 'ђ': 'dj', + 'ј': 'j', + // 'љ': 'lj', // duplicate + // 'њ': 'nj', // duplicate + 'ћ': 'c', + 'џ': 'dz', + 'Ђ': 'Dj', + 'Ј': 'j', + // 'Љ': 'Lj', // duplicate + // 'Њ': 'Nj', // duplicate + 'Ћ': 'C', + 'Џ': 'Dz', + // Slovak + 'ľ': 'l', + 'ĺ': 'l', + 'ŕ': 'r', + 'Ľ': 'L', + 'Ĺ': 'L', + 'Ŕ': 'R', + // Turkish + 'ş': 's', + 'Ş': 'S', + 'ı': 'i', + 'İ': 'I', + // 'ç': 'c', // duplicate + // 'Ç': 'C', // duplicate + // 'ü': 'u', // duplicate, see langCharMap + // 'Ü': 'U', // duplicate, see langCharMap + // 'ö': 'o', // duplicate, see langCharMap + // 'Ö': 'O', // duplicate, see langCharMap + 'ğ': 'g', + 'Ğ': 'G', + // Vietnamese + 'ả': 'a', + 'Ả': 'A', + 'ẳ': 'a', + 'Ẳ': 'A', + 'ẩ': 'a', + 'Ẩ': 'A', + 'đ': 'd', + 'Đ': 'D', + 'ẹ': 'e', + 'Ẹ': 'E', + 'ẽ': 'e', + 'Ẽ': 'E', + 'ẻ': 'e', + 'Ẻ': 'E', + 'ế': 'e', + 'Ế': 'E', + 'ề': 'e', + 'Ề': 'E', + 'ệ': 'e', + 'Ệ': 'E', + 'ễ': 'e', + 'Ễ': 'E', + 'ể': 'e', + 'Ể': 'E', + 'ỏ': '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', + 'ị': 'i', + 'Ị': 'I', + 'ĩ': 'i', + 'Ĩ': 'I', + 'ỉ': 'i', + 'Ỉ': 'i', + 'ủ': 'u', + 'Ủ': 'U', + 'ụ': 'u', + 'Ụ': 'U', + 'ũ': 'u', + 'Ũ': 'U', + 'ư': 'u', + 'Ư': 'U', + 'ứ': 'u', + 'Ứ': 'U', + 'ừ': 'u', + 'Ừ': 'U', + 'ự': 'u', + 'Ự': 'U', + 'ữ': 'u', + 'Ữ': 'U', + 'ử': 'u', + 'Ử': 'ư', + 'ỷ': 'y', + 'Ỷ': 'y', + 'ỳ': 'y', + 'Ỳ': 'Y', + 'ỵ': 'y', + 'Ỵ': 'Y', + 'ỹ': 'y', + 'Ỹ': 'Y', + 'ạ': 'a', + 'Ạ': 'A', + 'ấ': 'a', + 'Ấ': 'A', + 'ầ': 'a', + 'Ầ': 'A', + 'ậ': 'a', + 'Ậ': 'A', + 'ẫ': 'a', + 'Ẫ': 'A', + // 'ă': 'a', // duplicate + // 'Ă': 'A', // duplicate + 'ắ': 'a', + 'Ắ': 'A', + 'ằ': 'a', + 'Ằ': 'A', + 'ặ': 'a', + 'Ặ': 'A', + 'ẵ': 'a', + 'Ẵ': 'A', + "⓪": "0", + "①": "1", + "②": "2", + "③": "3", + "④": "4", + "⑤": "5", + "⑥": "6", + "⑦": "7", + "⑧": "8", + "⑨": "9", + "⑩": "10", + "⑪": "11", + "⑫": "12", + "⑬": "13", + "⑭": "14", + "⑮": "15", + "⑯": "16", + "⑰": "17", + "⑱": "18", + "⑲": "18", + "⑳": "18", + "⓵": "1", + "⓶": "2", + "⓷": "3", + "⓸": "4", + "⓹": "5", + "⓺": "6", + "⓻": "7", + "⓼": "8", + "⓽": "9", + "⓾": "10", + "⓿": "0", + "⓫": "11", + "⓬": "12", + "⓭": "13", + "⓮": "14", + "⓯": "15", + "⓰": "16", + "⓱": "17", + "⓲": "18", + "⓳": "19", + "⓴": "20", + "Ⓐ": "A", + "Ⓑ": "B", + "Ⓒ": "C", + "Ⓓ": "D", + "Ⓔ": "E", + "Ⓕ": "F", + "Ⓖ": "G", + "Ⓗ": "H", + "Ⓘ": "I", + "Ⓙ": "J", + "Ⓚ": "K", + "Ⓛ": "L", + "Ⓜ": "M", + "Ⓝ": "N", + "Ⓞ": "O", + "Ⓟ": "P", + "Ⓠ": "Q", + "Ⓡ": "R", + "Ⓢ": "S", + "Ⓣ": "T", + "Ⓤ": "U", + "Ⓥ": "V", + "Ⓦ": "W", + "Ⓧ": "X", + "Ⓨ": "Y", + "Ⓩ": "Z", + "ⓐ": "a", + "ⓑ": "b", + "ⓒ": "c", + "ⓓ": "d", + "ⓔ": "e", + "ⓕ": "f", + "ⓖ": "g", + "ⓗ": "h", + "ⓘ": "i", + "ⓙ": "j", + "ⓚ": "k", + "ⓛ": "l", + "ⓜ": "m", + "ⓝ": "n", + "ⓞ": "o", + "ⓟ": "p", + "ⓠ": "q", + "ⓡ": "r", + "ⓢ": "s", + "ⓣ": "t", + "ⓤ": "u", + "ⓦ": "v", + "ⓥ": "w", + "ⓧ": "x", + "ⓨ": "y", + "ⓩ": "z", + // symbols + '“': '"', + '”': '"', + '‘': "'", + '’': "'", + '∂': 'd', + 'ƒ': 'f', + '™': '(TM)', + '©': '(C)', + 'œ': 'oe', + 'Œ': 'OE', + '®': '(R)', + '†': '+', + '℠': '(SM)', + '…': '...', + '˚': 'o', + 'º': 'o', + 'ª': 'a', + '•': '*', + '၊': ',', + '။': '.', + // currency + '$': 'USD', + '€': 'EUR', + '₢': 'BRN', + '₣': 'FRF', + '£': 'GBP', + '₤': 'ITL', + '₦': 'NGN', + '₧': 'ESP', + '₩': 'KRW', + '₪': 'ILS', + '₫': 'VND', + '₭': 'LAK', + '₮': 'MNT', + '₯': 'GRD', + '₱': 'ARS', + '₲': 'PYG', + '₳': 'ARA', + '₴': 'UAH', + '₵': 'GHS', + '¢': 'cent', + '¥': 'CNY', + '元': 'CNY', + '円': 'YEN', + '﷼': 'IRR', + '₠': 'EWE', + '฿': 'THB', + '₨': 'INR', + '₹': 'INR', + '₰': 'PF', + '₺': 'TRY', + '؋': 'AFN', + '₼': 'AZN', + 'лв': 'BGN', + '៛': 'KHR', + '₡': 'CRC', + '₸': 'KZT', + 'ден': 'MKD', + 'zł': 'PLN', + '₽': 'RUB', + '₾': 'GEL' +}; +/** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ +exports.lookAheadCharArray = [ + // burmese + '်', + // Dhivehi + 'ް' +]; +/** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ +exports.diatricMap = { + // Burmese + // dependent vowels + 'ာ': 'a', + 'ါ': 'a', + 'ေ': 'e', + 'ဲ': 'e', + 'ိ': 'i', + 'ီ': 'i', + 'ို': 'o', + 'ု': 'u', + 'ူ': 'u', + 'ေါင်': 'aung', + 'ော': 'aw', + 'ော်': 'aw', + 'ေါ': 'aw', + 'ေါ်': 'aw', + '်': '်', + 'က်': 'et', + 'ိုက်': 'aik', + 'ောက်': 'auk', + 'င်': 'in', + 'ိုင်': 'aing', + 'ောင်': 'aung', + 'စ်': 'it', + 'ည်': 'i', + 'တ်': 'at', + 'ိတ်': 'eik', + 'ုတ်': 'ok', + 'ွတ်': 'ut', + 'ေတ်': 'it', + 'ဒ်': 'd', + 'ိုဒ်': 'ok', + 'ုဒ်': 'ait', + 'န်': 'an', + 'ာန်': 'an', + 'ိန်': 'ein', + 'ုန်': 'on', + 'ွန်': 'un', + 'ပ်': 'at', + 'ိပ်': 'eik', + 'ုပ်': 'ok', + 'ွပ်': 'ut', + 'န်ုပ်': 'nub', + 'မ်': 'an', + 'ိမ်': 'ein', + 'ုမ်': 'on', + 'ွမ်': 'un', + 'ယ်': 'e', + 'ိုလ်': 'ol', + 'ဉ်': 'in', + 'ံ': 'an', + 'ိံ': 'ein', + 'ုံ': 'on', + // Dhivehi + 'ައް': 'ah', + 'ަށް': 'ah' +}; +/** + * langCharMap language specific characters translations + * @type {Object} + */ +exports.langCharMap = { + 'en': {}, + 'az': { + 'ç': 'c', + 'ə': 'e', + 'ğ': 'g', + 'ı': 'i', + 'ö': 'o', + 'ş': 's', + 'ü': 'u', + 'Ç': 'C', + 'Ə': 'E', + 'Ğ': 'G', + 'İ': 'I', + 'Ö': 'O', + 'Ş': 'S', + 'Ü': 'U' + }, + 'cs': { + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z' + }, + 'fi': { + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', + 'Ä': 'A', + 'ö': 'o', + 'Ö': 'O' // ok + }, + 'hu': { + 'ä': 'a', + 'Ä': 'A', + // 'á': 'a', duplicate see charMap/latin + // 'Á': 'A', duplicate see charMap/latin + 'ö': 'o', + 'Ö': 'O', + // 'ő': 'o', duplicate see charMap/latin + // 'Ő': 'O', duplicate see charMap/latin + 'ü': 'u', + 'Ü': 'U', + 'ű': 'u', + 'Ű': 'U' + }, + 'lt': { + 'ą': 'a', + 'č': 'c', + 'ę': 'e', + 'ė': 'e', + 'į': 'i', + 'š': 's', + 'ų': 'u', + 'ū': 'u', + 'ž': 'z', + 'Ą': 'A', + 'Č': 'C', + 'Ę': 'E', + 'Ė': 'E', + 'Į': 'I', + 'Š': 'S', + 'Ų': 'U', + 'Ū': 'U' + }, + 'lv': { + 'ā': 'a', + 'č': 'c', + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + 'š': 's', + 'ū': 'u', + 'ž': 'z', + 'Ā': 'A', + 'Č': 'C', + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'i', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + 'Š': 'S', + 'Ū': 'u', + 'Ž': 'Z' + }, + 'pl': { + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + 'ó': 'o', + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'e', + 'Ł': 'L', + 'Ń': 'N', + 'Ó': 'O', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z' + }, + 'sv': { + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', + 'Ä': 'A', + 'ö': 'o', + 'Ö': 'O' // ok + }, + 'sk': { + 'ä': 'a', + 'Ä': 'A' + }, + 'sr': { + 'љ': 'lj', + 'њ': 'nj', + 'Љ': 'Lj', + 'Њ': 'Nj', + 'đ': 'dj', + 'Đ': 'Dj' + }, + 'tr': { + 'Ü': 'U', + 'Ö': 'O', + 'ü': 'u', + 'ö': 'o' + } +}; +/** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ +exports.symbolMap = { + 'ar': { + '∆': 'delta', + '∞': 'la-nihaya', + '♥': 'hob', + '&': 'wa', + '|': 'aw', + '<': 'aqal-men', + '>': 'akbar-men', + '∑': 'majmou', + '¤': 'omla' + }, + 'az': {}, + 'ca': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'amor', + '&': 'i', + '|': 'o', + '<': 'menys que', + '>': 'mes que', + '∑': 'suma dels', + '¤': 'moneda' + }, + 'cs': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'nebo', + '<': 'mensi nez', + '>': 'vetsi nez', + '∑': 'soucet', + '¤': 'mena' + }, + 'de': { + '∆': 'delta', + '∞': 'unendlich', + '♥': 'Liebe', + '&': 'und', + '|': 'oder', + '<': 'kleiner als', + '>': 'groesser als', + '∑': 'Summe von', + '¤': 'Waehrung' + }, + 'dv': { + '∆': 'delta', + '∞': 'kolunulaa', + '♥': 'loabi', + '&': 'aai', + '|': 'noonee', + '<': 'ah vure kuda', + '>': 'ah vure bodu', + '∑': 'jumula', + '¤': 'faisaa' + }, + 'en': { + '∆': 'delta', + '∞': 'infinity', + '♥': 'love', + '&': 'and', + '|': 'or', + '<': 'less than', + '>': 'greater than', + '∑': 'sum', + '¤': 'currency' + }, + 'es': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'y', + '|': 'u', + '<': 'menos que', + '>': 'mas que', + '∑': 'suma de los', + '¤': 'moneda' + }, + 'fa': { + '∆': 'delta', + '∞': 'bi-nahayat', + '♥': 'eshgh', + '&': 'va', + '|': 'ya', + '<': 'kamtar-az', + '>': 'bishtar-az', + '∑': 'majmooe', + '¤': 'vahed' + }, + 'fi': { + '∆': 'delta', + '∞': 'aarettomyys', + '♥': 'rakkaus', + '&': 'ja', + '|': 'tai', + '<': 'pienempi kuin', + '>': 'suurempi kuin', + '∑': 'summa', + '¤': 'valuutta' + }, + 'fr': { + '∆': 'delta', + '∞': 'infiniment', + '♥': 'Amour', + '&': 'et', + '|': 'ou', + '<': 'moins que', + '>': 'superieure a', + '∑': 'somme des', + '¤': 'monnaie' + }, + 'ge': { + '∆': 'delta', + '∞': 'usasruloba', + '♥': 'siqvaruli', + '&': 'da', + '|': 'an', + '<': 'naklebi', + '>': 'meti', + '∑': 'jami', + '¤': 'valuta' + }, + 'gr': {}, + 'hu': { + '∆': 'delta', + '∞': 'vegtelen', + '♥': 'szerelem', + '&': 'es', + '|': 'vagy', + '<': 'kisebb mint', + '>': 'nagyobb mint', + '∑': 'szumma', + '¤': 'penznem' + }, + 'it': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amore', + '&': 'e', + '|': 'o', + '<': 'minore di', + '>': 'maggiore di', + '∑': 'somma', + '¤': 'moneta' + }, + 'lt': { + '∆': 'delta', + '∞': 'begalybe', + '♥': 'meile', + '&': 'ir', + '|': 'ar', + '<': 'maziau nei', + '>': 'daugiau nei', + '∑': 'suma', + '¤': 'valiuta' + }, + 'lv': { + '∆': 'delta', + '∞': 'bezgaliba', + '♥': 'milestiba', + '&': 'un', + '|': 'vai', + '<': 'mazak neka', + '>': 'lielaks neka', + '∑': 'summa', + '¤': 'valuta' + }, + 'my': { + '∆': 'kwahkhyaet', + '∞': 'asaonasme', + '♥': 'akhyait', + '&': 'nhin', + '|': 'tho', + '<': 'ngethaw', + '>': 'kyithaw', + '∑': 'paungld', + '¤': 'ngwekye' + }, + 'mk': {}, + 'nl': { + '∆': 'delta', + '∞': 'oneindig', + '♥': 'liefde', + '&': 'en', + '|': 'of', + '<': 'kleiner dan', + '>': 'groter dan', + '∑': 'som', + '¤': 'valuta' + }, + 'pl': { + '∆': 'delta', + '∞': 'nieskonczonosc', + '♥': 'milosc', + '&': 'i', + '|': 'lub', + '<': 'mniejsze niz', + '>': 'wieksze niz', + '∑': 'suma', + '¤': 'waluta' + }, + 'pt': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'e', + '|': 'ou', + '<': 'menor que', + '>': 'maior que', + '∑': 'soma', + '¤': 'moeda' + }, + 'ro': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'dragoste', + '&': 'si', + '|': 'sau', + '<': 'mai mic ca', + '>': 'mai mare ca', + '∑': 'suma', + '¤': 'valuta' + }, + 'ru': { + '∆': 'delta', + '∞': 'beskonechno', + '♥': 'lubov', + '&': 'i', + '|': 'ili', + '<': 'menshe', + '>': 'bolshe', + '∑': 'summa', + '¤': 'valjuta' + }, + 'sk': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'alebo', + '<': 'menej ako', + '>': 'viac ako', + '∑': 'sucet', + '¤': 'mena' + }, + 'sr': {}, + 'tr': { + '∆': 'delta', + '∞': 'sonsuzluk', + '♥': 'ask', + '&': 've', + '|': 'veya', + '<': 'kucuktur', + '>': 'buyuktur', + '∑': 'toplam', + '¤': 'para birimi' + }, + 'uk': { + '∆': 'delta', + '∞': 'bezkinechnist', + '♥': 'lubov', + '&': 'i', + '|': 'abo', + '<': 'menshe', + '>': 'bilshe', + '∑': 'suma', + '¤': 'valjuta' + }, + 'vn': { + '∆': 'delta', + '∞': 'vo cuc', + '♥': 'yeu', + '&': 'va', + '|': 'hoac', + '<': 'nho hon', + '>': 'lon hon', + '∑': 'tong', + '¤': 'tien te' + } +}; +exports.uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); +exports.uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); +exports.markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); +//# sourceMappingURL=charmap.js.map \ No newline at end of file diff --git a/lib/utils/charmap.js.map b/lib/utils/charmap.js.map new file mode 100644 index 0000000..0fead7d --- /dev/null +++ b/lib/utils/charmap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"charmap.js","sourceRoot":"","sources":["../../src/utils/charmap.ts"],"names":[],"mappings":"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AG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IAER,QAAQ;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GA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AG;IACR,GAAG,EAAE,GAAG;IAER,aAAa;IACb,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,yBAAyB;IACzB,yBAAyB;IACzB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IAER,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;I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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 355b359..4031c67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "speakingurl", - "version": "14.0.0", + "version": "14.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2729,12 +2729,6 @@ "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", "dev": true }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", @@ -2744,6 +2738,12 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", diff --git a/package.json b/package.json index 8492a1d..702109a 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,12 @@ "url": "https://github.com/pid/speakingurl/issues" }, "license": "BSD-3-Clause", - "licenses": [{ - "type": "BSD", - "url": "https://raw.github.com/pid/speakingurl/master/LICENSE" - }], + "licenses": [ + { + "type": "BSD", + "url": "https://raw.github.com/pid/speakingurl/master/LICENSE" + } + ], "keywords": [ "slug", "slugify", @@ -86,4 +88,4 @@ "lib": "lib", "test": "test" } -} \ No newline at end of file +} diff --git a/src/speakingurl.ts b/src/speakingurl.ts new file mode 100644 index 0000000..ed5c740 --- /dev/null +++ b/src/speakingurl.ts @@ -0,0 +1,359 @@ +import { diatricMap } from './utils/charmap'; +import { lookAheadCharArray } from './utils/charmap'; +import { charMap } from './utils/charmap'; +import { markChars } from './utils/charmap'; +import { uricNoSlashChars } from './utils/charmap'; +import { uricChars } from './utils/charmap'; +import { langCharMap } from './utils/charmap'; +import { symbolMap } from './utils/charmap'; +/** + * Interface for the SpeakingURL options + * @see {@link https://github.com/pid/speakingurl#usage} + */ +export interface ISpeakingurlOptions { + /** + * Character that replaces the whitespaces + * @default '-' + */ + separator?: string; + /** + * ISO 639-1 Codes for language specific transliteration + * @default 'en' + */ + lang?: string | boolean; + + /** + * Converts symbols according to the 'lang' setting if true. Don't convert symbols if false + * @default true + */ + symbols?: boolean; + + + /** + * Maintains case chars if true. Convert all chars to lower case if false + * @default false + */ + maintainCase?: boolean; + + + /** + * converts input string to title-case if true. Omit the words from the array if array is given. + * @default false + */ + titleCase?: boolean | string[]; + + + /** + * Don't trim length if 0. Trim to max length while not breaking any words if greater or equal to 1. + * @default 0 + */ + truncate?: number; + + + /** + * Allow additional characters if true. + * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", ",", "/" + * @default false + */ + uric?: boolean; + + + /** + * Allow additional characters if true. + * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", "," + * @default false + */ + uricNoSlash?: boolean; + + + /** + * Allow additional characters if true. + * Characters allowed: "-", "_", ".", "!", "~", "*", "'", "(", ")" + * @default false + */ + mark?: boolean; + + + /** + * custom map for translation if object provided. Add array chars to allowed charMap if array provided. + * @default {} + */ + custom?: { [key: string]: string } | string[] + +} +/** + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ +export const getSlug = (input: string, opts: ISpeakingurlOptions | string): string => { + let separator = '-'; + let result = ''; + let diatricString = ''; + let convertSymbols = true; + let customReplacements = {}; + let maintainCase; + let titleCase; + let truncate; + let uricFlag; + let uricNoSlashFlag; + let markFlag; + let symbol; + let langChar; + let lucky; + let i; + let ch; + let l; + let lastCharWasSymbol; + let lastCharWasDiatric; + let allowedChars = ''; + + if (typeof input !== 'string') { + return ''; + } + + if (typeof opts === 'string') { + separator = opts; + } + + symbol = symbolMap.en; + langChar = langCharMap.en; + + if (typeof opts === 'object') { + opts = opts; + maintainCase = opts.maintainCase || false; + customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; + truncate = (+opts.truncate > 1 && opts.truncate) || false; + uricFlag = opts.uric || false; + uricNoSlashFlag = opts.uricNoSlash || false; + markFlag = opts.mark || false; + convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; + separator = opts.separator || separator; + + if (uricFlag) { + allowedChars += uricChars; + } + + if (uricNoSlashFlag) { + allowedChars += uricNoSlashChars; + } + + if (markFlag) { + allowedChars += markChars; + } + + symbol = (opts.lang && symbolMap[opts.lang] && convertSymbols) ? + symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {}); + + langChar = (opts.lang && langCharMap[opts.lang]) ? + langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : langCharMap.en; + + // if titleCase config is an Array, rewrite to object format + if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { + opts.titleCase = opts.titleCase; + opts.titleCase.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); + + titleCase = true; + } else { + titleCase = !!opts.titleCase; + } + + // if custom config is an Array, rewrite to object format + if (opts.custom && Array.isArray(opts.custom) && typeof opts.custom.length === 'number' && Array.prototype.toString.call(opts.custom)) { + opts.custom = opts.custom; + opts.custom.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); + } + + // custom replacements + Object.keys(customReplacements).forEach(function (v) { + let r; + + if (v.length > 1) { + r = new RegExp('\\b' + escapeChars(v) + '\\b', 'gi'); + } else { + r = new RegExp(escapeChars(v), 'gi'); + } + + input = input.replace(r, customReplacements[v]); + }); + + // add all custom replacement to allowed charlist + for (ch in customReplacements) { + allowedChars += ch; + } + } + + allowedChars += separator; + + // escape all necessary chars + allowedChars = escapeChars(allowedChars); + + // trim whitespaces + input = input.replace(/(^\s+|\s+$)/g, ''); + + lastCharWasSymbol = false; + lastCharWasDiatric = false; + + for (i = 0, l = input.length; i < l; i++) { + ch = input[i]; + + if (isReplacedCustomChar(ch, customReplacements)) { + // don't convert a already converted char + lastCharWasSymbol = false; + } else if (langChar[ch]) { + // process language specific diactrics chars conversion + ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; + + lastCharWasSymbol = false; + } else if (ch in charMap) { + // the transliteration changes entirely when some special characters are added + if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + diatricString += ch; + ch = ''; + } else if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + charMap[ch]; + diatricString = ''; + } else { + // process diactrics chars + ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMap[ch] : charMap[ch]; + } + + lastCharWasSymbol = false; + lastCharWasDiatric = false; + } else if (ch in diatricMap) { + diatricString += ch; + ch = ''; + // end of string, put the whole meaningful word + if (i === l - 1) { + ch = diatricMap[diatricString]; + } + lastCharWasDiatric = true; + } else if ( + // process symbol chars + symbol[ch] && !(uricFlag && uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars + // .indexOf(ch) !== -1) && !(markFlag && markChars + .indexOf(ch) !== -1)) { + ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; + ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; + + lastCharWasSymbol = true; + } else { + if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + ch; + diatricString = ''; + lastCharWasDiatric = false; + } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + // process latin chars + ch = ' ' + ch; + } + lastCharWasSymbol = false; + } + + // add allowed chars + result += ch.replace(new RegExp('[^\\w\\s' + allowedChars + '_-]', 'g'), separator); + } + + if (titleCase) { + result = result.replace(/(\w)(\S*)/g, function (_, i, r) { + let j = i.toUpperCase() + (r !== null ? r : ''); + return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); + }); + } + + // eliminate duplicate separators + // add separator + // trim separators from start and end + result = result.replace(/\s+/g, separator) + .replace(new RegExp('\\' + separator + '+', 'g'), separator) + .replace(new RegExp('(^\\' + separator + '+|\\' + separator + '+$)', 'g'), ''); + + if (truncate && result.length > truncate) { + lucky = result.charAt(truncate) === separator; + result = result.slice(0, truncate); + + if (!lucky) { + result = result.slice(0, result.lastIndexOf(separator)); + } + } + + if (!maintainCase && !titleCase) { + result = result.toLowerCase(); + } + + return result; +}; + +/** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ +export const createSlug = (opts: {}|string) => { + /** + * getSlugWithConfig + * @param {string} input string + * @return {string} slug string + */ + return function getSlugWithConfig(input: string): string { + return getSlug(input, opts); + }; +}; + +/** + * escape Chars + * @param {string} input string + */ +export const escapeChars = (input: string): string => { + return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); +}; + +/** + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map + */ +export const isReplacedCustomChar = (ch: string, customReplacements: {}) => { + for (let c in customReplacements) { + if (customReplacements[c] === ch) { + return true; + } + } +}; + +/* modules, require and stuff like that */ +declare var define: any; +declare var module: any; + +(function () { + + let exportables = [createSlug, getSlug, isReplacedCustomChar, escapeChars]; + + // Node: Export function + if (typeof module !== "undefined" && module.exports) { + exportables.forEach(exp => module.exports[nameof(exp)] = exp); + } + // AMD/requirejs: Define the module + else if (typeof define === 'function' && define.amd) { + exportables.forEach(exp => define(() => exp)); + } + //expose it through Window + else if (window) { + exportables.forEach(exp => (window as any)[nameof(exp)] = exp); + } + + function nameof(fn: any): string { + return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { + let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); + return !result ? '' : result[1]; + })(); + } + +} ()); \ No newline at end of file diff --git a/src/utils/charmap.ts b/src/utils/charmap.ts new file mode 100644 index 0000000..c6f14d5 --- /dev/null +++ b/src/utils/charmap.ts @@ -0,0 +1,1415 @@ +/** + * charMap + * @type {Object} + */ +export const charMap: { [key: string]: string } = { + + // latin + 'À': 'A', + 'Á': 'A', + 'Â': 'A', + 'Ã': 'A', + 'Ä': 'Ae', + 'Å': 'A', + 'Æ': 'AE', + 'Ç': 'C', + 'È': 'E', + 'É': 'E', + 'Ê': 'E', + 'Ë': 'E', + 'Ì': 'I', + 'Í': 'I', + 'Î': 'I', + 'Ï': 'I', + 'Ð': 'D', + 'Ñ': 'N', + 'Ò': 'O', + 'Ó': 'O', + 'Ô': 'O', + 'Õ': 'O', + 'Ö': 'Oe', + 'Ő': 'O', + 'Ø': 'O', + 'Ù': 'U', + 'Ú': 'U', + 'Û': 'U', + 'Ü': 'Ue', + 'Ű': 'U', + 'Ý': 'Y', + 'Þ': 'TH', + 'ß': 'ss', + 'à': 'a', + 'á': 'a', + 'â': 'a', + 'ã': 'a', + 'ä': 'ae', + 'å': 'a', + 'æ': 'ae', + 'ç': 'c', + 'è': 'e', + 'é': 'e', + 'ê': 'e', + 'ë': 'e', + 'ì': 'i', + 'í': 'i', + 'î': 'i', + 'ï': 'i', + 'ð': 'd', + 'ñ': 'n', + 'ò': 'o', + 'ó': 'o', + 'ô': 'o', + 'õ': 'o', + 'ö': 'oe', + 'ő': 'o', + 'ø': 'o', + 'ù': 'u', + 'ú': 'u', + 'û': 'u', + 'ü': 'ue', + 'ű': 'u', + 'ý': 'y', + 'þ': 'th', + 'ÿ': 'y', + 'ẞ': 'SS', + + // language specific + + // Arabic + 'ا': 'a', + 'أ': 'a', + 'إ': 'i', + 'آ': 'aa', + 'ؤ': 'u', + 'ئ': 'e', + 'ء': 'a', + 'ب': 'b', + 'ت': 't', + 'ث': 'th', + 'ج': 'j', + 'ح': 'h', + 'خ': 'kh', + 'د': 'd', + 'ذ': 'th', + 'ر': 'r', + 'ز': 'z', + 'س': 's', + 'ش': 'sh', + 'ص': 's', + 'ض': 'dh', + 'ط': 't', + 'ظ': 'z', + 'ع': 'a', + 'غ': 'gh', + 'ف': 'f', + 'ق': 'q', + 'ك': 'k', + 'ل': 'l', + 'م': 'm', + 'ن': 'n', + 'ه': 'h', + 'و': 'w', + 'ي': 'y', + 'ى': 'a', + 'ة': 'h', + 'ﻻ': 'la', + 'ﻷ': 'laa', + 'ﻹ': 'lai', + 'ﻵ': 'laa', + + // Persian additional characters than Arabic + 'گ': 'g', + 'چ': 'ch', + 'پ': 'p', + 'ژ': 'zh', + 'ک': 'k', + 'ی': 'y', + + // Arabic diactrics + 'َ': 'a', + 'ً': 'an', + 'ِ': 'e', + 'ٍ': 'en', + 'ُ': 'u', + 'ٌ': 'on', + 'ْ': '', + + // Arabic numbers + '٠': '0', + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + + // Persian numbers + '۰': '0', + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + + // Burmese consonants + 'က': 'k', + 'ခ': 'kh', + 'ဂ': 'g', + 'ဃ': 'ga', + 'င': 'ng', + 'စ': 's', + 'ဆ': 'sa', + 'ဇ': 'z', + 'စျ': 'za', + 'ည': 'ny', + 'ဋ': 't', + 'ဌ': 'ta', + 'ဍ': 'd', + 'ဎ': 'da', + 'ဏ': 'na', + 'တ': 't', + 'ထ': 'ta', + 'ဒ': 'd', + 'ဓ': 'da', + 'န': 'n', + 'ပ': 'p', + 'ဖ': 'pa', + 'ဗ': 'b', + 'ဘ': 'ba', + 'မ': 'm', + 'ယ': 'y', + 'ရ': 'ya', + 'လ': 'l', + 'ဝ': 'w', + 'သ': 'th', + 'ဟ': 'h', + 'ဠ': 'la', + 'အ': 'a', + // consonant character combos + 'ြ': 'y', + 'ျ': 'ya', + 'ွ': 'w', + 'ြွ': 'yw', + 'ျွ': 'ywa', + 'ှ': 'h', + // independent vowels + 'ဧ': 'e', + '၏': '-e', + 'ဣ': 'i', + 'ဤ': '-i', + 'ဉ': 'u', + 'ဦ': '-u', + 'ဩ': 'aw', + 'သြော': 'aw', + 'ဪ': 'aw', + // numbers + '၀': '0', + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + // virama and tone marks which are silent in transliteration + '္': '', + '့': '', + 'း': '', + + // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z', + + // Dhivehi + 'ހ': 'h', + 'ށ': 'sh', + 'ނ': 'n', + 'ރ': 'r', + 'ބ': 'b', + 'ޅ': 'lh', + 'ކ': 'k', + 'އ': 'a', + 'ވ': 'v', + 'މ': 'm', + 'ފ': 'f', + 'ދ': 'dh', + 'ތ': 'th', + 'ލ': 'l', + 'ގ': 'g', + 'ޏ': 'gn', + 'ސ': 's', + 'ޑ': 'd', + 'ޒ': 'z', + 'ޓ': 't', + 'ޔ': 'y', + 'ޕ': 'p', + 'ޖ': 'j', + 'ޗ': 'ch', + 'ޘ': 'tt', + 'ޙ': 'hh', + 'ޚ': 'kh', + 'ޛ': 'th', + 'ޜ': 'z', + 'ޝ': 'sh', + 'ޞ': 's', + 'ޟ': 'd', + 'ޠ': 't', + 'ޡ': 'z', + 'ޢ': 'a', + 'ޣ': 'gh', + 'ޤ': 'q', + 'ޥ': 'w', + 'ަ': 'a', + 'ާ': 'aa', + 'ި': 'i', + 'ީ': 'ee', + 'ު': 'u', + 'ޫ': 'oo', + 'ެ': 'e', + 'ޭ': 'ey', + 'ޮ': 'o', + 'ޯ': 'oa', + 'ް': '', + + // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian + // National system (2002) + 'ა': 'a', + 'ბ': 'b', + 'გ': 'g', + 'დ': 'd', + 'ე': 'e', + 'ვ': 'v', + 'ზ': 'z', + 'თ': 't', + 'ი': 'i', + 'კ': 'k', + 'ლ': 'l', + 'მ': 'm', + 'ნ': 'n', + 'ო': 'o', + 'პ': 'p', + 'ჟ': 'zh', + 'რ': 'r', + 'ს': 's', + 'ტ': 't', + 'უ': 'u', + 'ფ': 'p', + 'ქ': 'k', + 'ღ': 'gh', + 'ყ': 'q', + 'შ': 'sh', + 'ჩ': 'ch', + 'ც': 'ts', + 'ძ': 'dz', + 'წ': 'ts', + 'ჭ': 'ch', + 'ხ': 'kh', + 'ჯ': 'j', + 'ჰ': 'h', + + // Greek + 'α': 'a', + 'β': 'v', + 'γ': 'g', + 'δ': 'd', + 'ε': 'e', + 'ζ': 'z', + 'η': 'i', + 'θ': 'th', + 'ι': 'i', + 'κ': 'k', + 'λ': 'l', + 'μ': 'm', + 'ν': 'n', + 'ξ': 'ks', + 'ο': 'o', + 'π': 'p', + 'ρ': 'r', + 'σ': 's', + 'τ': 't', + 'υ': 'y', + 'φ': 'f', + 'χ': 'x', + 'ψ': 'ps', + 'ω': 'o', + 'ά': 'a', + 'έ': 'e', + 'ί': 'i', + 'ό': 'o', + 'ύ': 'y', + 'ή': 'i', + 'ώ': 'o', + 'ς': 's', + 'ϊ': 'i', + 'ΰ': 'y', + 'ϋ': 'y', + 'ΐ': 'i', + 'Α': 'A', + 'Β': 'B', + 'Γ': 'G', + 'Δ': 'D', + 'Ε': 'E', + 'Ζ': 'Z', + 'Η': 'I', + 'Θ': 'TH', + 'Ι': 'I', + 'Κ': 'K', + 'Λ': 'L', + 'Μ': 'M', + 'Ν': 'N', + 'Ξ': 'KS', + 'Ο': 'O', + 'Π': 'P', + 'Ρ': 'R', + 'Σ': 'S', + 'Τ': 'T', + 'Υ': 'Y', + 'Φ': 'F', + 'Χ': 'X', + 'Ψ': 'PS', + 'Ω': 'O', + 'Ά': 'A', + 'Έ': 'E', + 'Ί': 'I', + 'Ό': 'O', + 'Ύ': 'Y', + 'Ή': 'I', + 'Ώ': 'O', + 'Ϊ': 'I', + 'Ϋ': 'Y', + + // Latvian + 'ā': 'a', + // 'č': 'c', // duplicate + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + // 'š': 's', // duplicate + 'ū': 'u', + // 'ž': 'z', // duplicate + 'Ā': 'A', + // 'Č': 'C', // duplicate + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'I', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + // 'Š': 'S', // duplicate + 'Ū': 'U', + // 'Ž': 'Z', // duplicate + + // Macedonian + 'Ќ': 'Kj', + 'ќ': 'kj', + 'Љ': 'Lj', + 'љ': 'lj', + 'Њ': 'Nj', + 'њ': 'nj', + 'Тс': 'Ts', + 'тс': 'ts', + + // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + // 'ó': 'o', // duplicate + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'E', + 'Ł': 'L', + 'Ń': 'N', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z', + + // Ukranian + 'Є': 'Ye', + 'І': 'I', + 'Ї': 'Yi', + 'Ґ': 'G', + 'є': 'ye', + 'і': 'i', + 'ї': 'yi', + 'ґ': 'g', + + // Romanian + 'ă': 'a', + 'Ă': 'A', + 'ș': 's', + 'Ș': 'S', + // 'ş': 's', // duplicate + // 'Ş': 'S', // duplicate + 'ț': 't', + 'Ț': 'T', + 'ţ': 't', + 'Ţ': 'T', + + // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian + // ICAO + + 'а': 'a', + 'б': 'b', + 'в': 'v', + 'г': 'g', + 'д': 'd', + 'е': 'e', + 'ё': 'yo', + 'ж': 'zh', + 'з': 'z', + 'и': 'i', + 'й': 'i', + 'к': 'k', + 'л': 'l', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'p', + 'р': 'r', + 'с': 's', + 'т': 't', + 'у': 'u', + 'ф': 'f', + 'х': 'kh', + 'ц': 'c', + 'ч': 'ch', + 'ш': 'sh', + 'щ': 'sh', + 'ъ': '', + 'ы': 'y', + 'ь': '', + 'э': 'e', + 'ю': 'yu', + 'я': 'ya', + 'А': 'A', + 'Б': 'B', + 'В': 'V', + 'Г': 'G', + 'Д': 'D', + 'Е': 'E', + 'Ё': 'Yo', + 'Ж': 'Zh', + 'З': 'Z', + 'И': 'I', + 'Й': 'I', + 'К': 'K', + 'Л': 'L', + 'М': 'M', + 'Н': 'N', + 'О': 'O', + 'П': 'P', + 'Р': 'R', + 'С': 'S', + 'Т': 'T', + 'У': 'U', + 'Ф': 'F', + 'Х': 'Kh', + 'Ц': 'C', + 'Ч': 'Ch', + 'Ш': 'Sh', + 'Щ': 'Sh', + 'Ъ': '', + 'Ы': 'Y', + 'Ь': '', + 'Э': 'E', + 'Ю': 'Yu', + 'Я': 'Ya', + + // Serbian + 'ђ': 'dj', + 'ј': 'j', + // 'љ': 'lj', // duplicate + // 'њ': 'nj', // duplicate + 'ћ': 'c', + 'џ': 'dz', + 'Ђ': 'Dj', + 'Ј': 'j', + // 'Љ': 'Lj', // duplicate + // 'Њ': 'Nj', // duplicate + 'Ћ': 'C', + 'Џ': 'Dz', + + // Slovak + 'ľ': 'l', + 'ĺ': 'l', + 'ŕ': 'r', + 'Ľ': 'L', + 'Ĺ': 'L', + 'Ŕ': 'R', + + // Turkish + 'ş': 's', + 'Ş': 'S', + 'ı': 'i', + 'İ': 'I', + // 'ç': 'c', // duplicate + // 'Ç': 'C', // duplicate + // 'ü': 'u', // duplicate, see langCharMap + // 'Ü': 'U', // duplicate, see langCharMap + // 'ö': 'o', // duplicate, see langCharMap + // 'Ö': 'O', // duplicate, see langCharMap + 'ğ': 'g', + 'Ğ': 'G', + + // Vietnamese + 'ả': 'a', + 'Ả': 'A', + 'ẳ': 'a', + 'Ẳ': 'A', + 'ẩ': 'a', + 'Ẩ': 'A', + 'đ': 'd', + 'Đ': 'D', + 'ẹ': 'e', + 'Ẹ': 'E', + 'ẽ': 'e', + 'Ẽ': 'E', + 'ẻ': 'e', + 'Ẻ': 'E', + 'ế': 'e', + 'Ế': 'E', + 'ề': 'e', + 'Ề': 'E', + 'ệ': 'e', + 'Ệ': 'E', + 'ễ': 'e', + 'Ễ': 'E', + 'ể': 'e', + 'Ể': 'E', + 'ỏ': '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', + 'ị': 'i', + 'Ị': 'I', + 'ĩ': 'i', + 'Ĩ': 'I', + 'ỉ': 'i', + 'Ỉ': 'i', + 'ủ': 'u', + 'Ủ': 'U', + 'ụ': 'u', + 'Ụ': 'U', + 'ũ': 'u', + 'Ũ': 'U', + 'ư': 'u', + 'Ư': 'U', + 'ứ': 'u', + 'Ứ': 'U', + 'ừ': 'u', + 'Ừ': 'U', + 'ự': 'u', + 'Ự': 'U', + 'ữ': 'u', + 'Ữ': 'U', + 'ử': 'u', + 'Ử': 'ư', + 'ỷ': 'y', + 'Ỷ': 'y', + 'ỳ': 'y', + 'Ỳ': 'Y', + 'ỵ': 'y', + 'Ỵ': 'Y', + 'ỹ': 'y', + 'Ỹ': 'Y', + 'ạ': 'a', + 'Ạ': 'A', + 'ấ': 'a', + 'Ấ': 'A', + 'ầ': 'a', + 'Ầ': 'A', + 'ậ': 'a', + 'Ậ': 'A', + 'ẫ': 'a', + 'Ẫ': 'A', + // 'ă': 'a', // duplicate + // 'Ă': 'A', // duplicate + 'ắ': 'a', + 'Ắ': 'A', + 'ằ': 'a', + 'Ằ': 'A', + 'ặ': 'a', + 'Ặ': 'A', + 'ẵ': 'a', + 'Ẵ': 'A', + "⓪": "0", + "①": "1", + "②": "2", + "③": "3", + "④": "4", + "⑤": "5", + "⑥": "6", + "⑦": "7", + "⑧": "8", + "⑨": "9", + "⑩": "10", + "⑪": "11", + "⑫": "12", + "⑬": "13", + "⑭": "14", + "⑮": "15", + "⑯": "16", + "⑰": "17", + "⑱": "18", + "⑲": "18", + "⑳": "18", + + "⓵": "1", + "⓶": "2", + "⓷": "3", + "⓸": "4", + "⓹": "5", + "⓺": "6", + "⓻": "7", + "⓼": "8", + "⓽": "9", + "⓾": "10", + + "⓿": "0", + "⓫": "11", + "⓬": "12", + "⓭": "13", + "⓮": "14", + "⓯": "15", + "⓰": "16", + "⓱": "17", + "⓲": "18", + "⓳": "19", + "⓴": "20", + + "Ⓐ": "A", + "Ⓑ": "B", + "Ⓒ": "C", + "Ⓓ": "D", + "Ⓔ": "E", + "Ⓕ": "F", + "Ⓖ": "G", + "Ⓗ": "H", + "Ⓘ": "I", + "Ⓙ": "J", + "Ⓚ": "K", + "Ⓛ": "L", + "Ⓜ": "M", + "Ⓝ": "N", + "Ⓞ": "O", + "Ⓟ": "P", + "Ⓠ": "Q", + "Ⓡ": "R", + "Ⓢ": "S", + "Ⓣ": "T", + "Ⓤ": "U", + "Ⓥ": "V", + "Ⓦ": "W", + "Ⓧ": "X", + "Ⓨ": "Y", + "Ⓩ": "Z", + + "ⓐ": "a", + "ⓑ": "b", + "ⓒ": "c", + "ⓓ": "d", + "ⓔ": "e", + "ⓕ": "f", + "ⓖ": "g", + "ⓗ": "h", + "ⓘ": "i", + "ⓙ": "j", + "ⓚ": "k", + "ⓛ": "l", + "ⓜ": "m", + "ⓝ": "n", + "ⓞ": "o", + "ⓟ": "p", + "ⓠ": "q", + "ⓡ": "r", + "ⓢ": "s", + "ⓣ": "t", + "ⓤ": "u", + "ⓦ": "v", + "ⓥ": "w", + "ⓧ": "x", + "ⓨ": "y", + "ⓩ": "z", + + // symbols + '“': '"', + '”': '"', + '‘': "'", + '’': "'", + '∂': 'd', + 'ƒ': 'f', + '™': '(TM)', + '©': '(C)', + 'œ': 'oe', + 'Œ': 'OE', + '®': '(R)', + '†': '+', + '℠': '(SM)', + '…': '...', + '˚': 'o', + 'º': 'o', + 'ª': 'a', + '•': '*', + '၊': ',', + '။': '.', + + // currency + '$': 'USD', + '€': 'EUR', + '₢': 'BRN', + '₣': 'FRF', + '£': 'GBP', + '₤': 'ITL', + '₦': 'NGN', + '₧': 'ESP', + '₩': 'KRW', + '₪': 'ILS', + '₫': 'VND', + '₭': 'LAK', + '₮': 'MNT', + '₯': 'GRD', + '₱': 'ARS', + '₲': 'PYG', + '₳': 'ARA', + '₴': 'UAH', + '₵': 'GHS', + '¢': 'cent', + '¥': 'CNY', + '元': 'CNY', + '円': 'YEN', + '﷼': 'IRR', + '₠': 'EWE', + '฿': 'THB', + '₨': 'INR', + '₹': 'INR', + '₰': 'PF', + '₺': 'TRY', + '؋': 'AFN', + '₼': 'AZN', + 'лв': 'BGN', + '៛': 'KHR', + '₡': 'CRC', + '₸': 'KZT', + 'ден': 'MKD', + 'zł': 'PLN', + '₽': 'RUB', + '₾': 'GEL' +}; + +/** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ +export const lookAheadCharArray = [ + // burmese + '်', + + // Dhivehi + 'ް' +]; + +/** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ +export const diatricMap = { + // Burmese + // dependent vowels + 'ာ': 'a', + 'ါ': 'a', + 'ေ': 'e', + 'ဲ': 'e', + 'ိ': 'i', + 'ီ': 'i', + 'ို': 'o', + 'ု': 'u', + 'ူ': 'u', + 'ေါင်': 'aung', + 'ော': 'aw', + 'ော်': 'aw', + 'ေါ': 'aw', + 'ေါ်': 'aw', + '်': '်', // this is special case but the character will be converted to latin in the code + 'က်': 'et', + 'ိုက်': 'aik', + 'ောက်': 'auk', + 'င်': 'in', + 'ိုင်': 'aing', + 'ောင်': 'aung', + 'စ်': 'it', + 'ည်': 'i', + 'တ်': 'at', + 'ိတ်': 'eik', + 'ုတ်': 'ok', + 'ွတ်': 'ut', + 'ေတ်': 'it', + 'ဒ်': 'd', + 'ိုဒ်': 'ok', + 'ုဒ်': 'ait', + 'န်': 'an', + 'ာန်': 'an', + 'ိန်': 'ein', + 'ုန်': 'on', + 'ွန်': 'un', + 'ပ်': 'at', + 'ိပ်': 'eik', + 'ုပ်': 'ok', + 'ွပ်': 'ut', + 'န်ုပ်': 'nub', + 'မ်': 'an', + 'ိမ်': 'ein', + 'ုမ်': 'on', + 'ွမ်': 'un', + 'ယ်': 'e', + 'ိုလ်': 'ol', + 'ဉ်': 'in', + 'ံ': 'an', + 'ိံ': 'ein', + 'ုံ': 'on', + + // Dhivehi + 'ައް': 'ah', + 'ަށް': 'ah' +}; + +/** + * langCharMap language specific characters translations + * @type {Object} + */ +export const langCharMap = { + 'en': {}, // default language + + 'az': { // Azerbaijani + 'ç': 'c', + 'ə': 'e', + 'ğ': 'g', + 'ı': 'i', + 'ö': 'o', + 'ş': 's', + 'ü': 'u', + 'Ç': 'C', + 'Ə': 'E', + 'Ğ': 'G', + 'İ': 'I', + 'Ö': 'O', + 'Ş': 'S', + 'Ü': 'U' + }, + + 'cs': { // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z' + }, + + 'fi': { // Finnish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', // ok + 'Ä': 'A', // ok + 'ö': 'o', // ok + 'Ö': 'O' // ok + }, + + 'hu': { // Hungarian + 'ä': 'a', // ok + 'Ä': 'A', // ok + // 'á': 'a', duplicate see charMap/latin + // 'Á': 'A', duplicate see charMap/latin + 'ö': 'o', // ok + 'Ö': 'O', // ok + // 'ő': 'o', duplicate see charMap/latin + // 'Ő': 'O', duplicate see charMap/latin + 'ü': 'u', + 'Ü': 'U', + 'ű': 'u', + 'Ű': 'U' + }, + + 'lt': { // Lithuanian + 'ą': 'a', + 'č': 'c', + 'ę': 'e', + 'ė': 'e', + 'į': 'i', + 'š': 's', + 'ų': 'u', + 'ū': 'u', + 'ž': 'z', + 'Ą': 'A', + 'Č': 'C', + 'Ę': 'E', + 'Ė': 'E', + 'Į': 'I', + 'Š': 'S', + 'Ų': 'U', + 'Ū': 'U' + }, + + 'lv': { // Latvian + 'ā': 'a', + 'č': 'c', + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + 'š': 's', + 'ū': 'u', + 'ž': 'z', + 'Ā': 'A', + 'Č': 'C', + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'i', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + 'Š': 'S', + 'Ū': 'u', + 'Ž': 'Z' + }, + + 'pl': { // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + 'ó': 'o', + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'e', + 'Ł': 'L', + 'Ń': 'N', + 'Ó': 'O', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z' + }, + + 'sv': { // Swedish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', // ok + 'Ä': 'A', // ok + 'ö': 'o', // ok + 'Ö': 'O' // ok + }, + + 'sk': { // Slovak + 'ä': 'a', + 'Ä': 'A' + }, + + 'sr': { // Serbian + 'љ': 'lj', + 'њ': 'nj', + 'Љ': 'Lj', + 'Њ': 'Nj', + 'đ': 'dj', + 'Đ': 'Dj' + }, + + 'tr': { // Turkish + 'Ü': 'U', + 'Ö': 'O', + 'ü': 'u', + 'ö': 'o' + } +}; + +/** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ +export const symbolMap = { + 'ar': { + '∆': 'delta', + '∞': 'la-nihaya', + '♥': 'hob', + '&': 'wa', + '|': 'aw', + '<': 'aqal-men', + '>': 'akbar-men', + '∑': 'majmou', + '¤': 'omla' + }, + + 'az': {}, + + 'ca': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'amor', + '&': 'i', + '|': 'o', + '<': 'menys que', + '>': 'mes que', + '∑': 'suma dels', + '¤': 'moneda' + }, + + 'cs': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'nebo', + '<': 'mensi nez', + '>': 'vetsi nez', + '∑': 'soucet', + '¤': 'mena' + }, + + 'de': { + '∆': 'delta', + '∞': 'unendlich', + '♥': 'Liebe', + '&': 'und', + '|': 'oder', + '<': 'kleiner als', + '>': 'groesser als', + '∑': 'Summe von', + '¤': 'Waehrung' + }, + + 'dv': { + '∆': 'delta', + '∞': 'kolunulaa', + '♥': 'loabi', + '&': 'aai', + '|': 'noonee', + '<': 'ah vure kuda', + '>': 'ah vure bodu', + '∑': 'jumula', + '¤': 'faisaa' + }, + + 'en': { + '∆': 'delta', + '∞': 'infinity', + '♥': 'love', + '&': 'and', + '|': 'or', + '<': 'less than', + '>': 'greater than', + '∑': 'sum', + '¤': 'currency' + }, + + 'es': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'y', + '|': 'u', + '<': 'menos que', + '>': 'mas que', + '∑': 'suma de los', + '¤': 'moneda' + }, + + 'fa': { + '∆': 'delta', + '∞': 'bi-nahayat', + '♥': 'eshgh', + '&': 'va', + '|': 'ya', + '<': 'kamtar-az', + '>': 'bishtar-az', + '∑': 'majmooe', + '¤': 'vahed' + }, + + 'fi': { + '∆': 'delta', + '∞': 'aarettomyys', + '♥': 'rakkaus', + '&': 'ja', + '|': 'tai', + '<': 'pienempi kuin', + '>': 'suurempi kuin', + '∑': 'summa', + '¤': 'valuutta' + }, + + 'fr': { + '∆': 'delta', + '∞': 'infiniment', + '♥': 'Amour', + '&': 'et', + '|': 'ou', + '<': 'moins que', + '>': 'superieure a', + '∑': 'somme des', + '¤': 'monnaie' + }, + + 'ge': { + '∆': 'delta', + '∞': 'usasruloba', + '♥': 'siqvaruli', + '&': 'da', + '|': 'an', + '<': 'naklebi', + '>': 'meti', + '∑': 'jami', + '¤': 'valuta' + }, + + 'gr': {}, + + 'hu': { + '∆': 'delta', + '∞': 'vegtelen', + '♥': 'szerelem', + '&': 'es', + '|': 'vagy', + '<': 'kisebb mint', + '>': 'nagyobb mint', + '∑': 'szumma', + '¤': 'penznem' + }, + + 'it': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amore', + '&': 'e', + '|': 'o', + '<': 'minore di', + '>': 'maggiore di', + '∑': 'somma', + '¤': 'moneta' + }, + + 'lt': { + '∆': 'delta', + '∞': 'begalybe', + '♥': 'meile', + '&': 'ir', + '|': 'ar', + '<': 'maziau nei', + '>': 'daugiau nei', + '∑': 'suma', + '¤': 'valiuta' + }, + + 'lv': { + '∆': 'delta', + '∞': 'bezgaliba', + '♥': 'milestiba', + '&': 'un', + '|': 'vai', + '<': 'mazak neka', + '>': 'lielaks neka', + '∑': 'summa', + '¤': 'valuta' + }, + + 'my': { + '∆': 'kwahkhyaet', + '∞': 'asaonasme', + '♥': 'akhyait', + '&': 'nhin', + '|': 'tho', + '<': 'ngethaw', + '>': 'kyithaw', + '∑': 'paungld', + '¤': 'ngwekye' + }, + + 'mk': {}, + + 'nl': { + '∆': 'delta', + '∞': 'oneindig', + '♥': 'liefde', + '&': 'en', + '|': 'of', + '<': 'kleiner dan', + '>': 'groter dan', + '∑': 'som', + '¤': 'valuta' + }, + + 'pl': { + '∆': 'delta', + '∞': 'nieskonczonosc', + '♥': 'milosc', + '&': 'i', + '|': 'lub', + '<': 'mniejsze niz', + '>': 'wieksze niz', + '∑': 'suma', + '¤': 'waluta' + }, + + 'pt': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'e', + '|': 'ou', + '<': 'menor que', + '>': 'maior que', + '∑': 'soma', + '¤': 'moeda' + }, + + 'ro': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'dragoste', + '&': 'si', + '|': 'sau', + '<': 'mai mic ca', + '>': 'mai mare ca', + '∑': 'suma', + '¤': 'valuta' + }, + + 'ru': { + '∆': 'delta', + '∞': 'beskonechno', + '♥': 'lubov', + '&': 'i', + '|': 'ili', + '<': 'menshe', + '>': 'bolshe', + '∑': 'summa', + '¤': 'valjuta' + }, + + 'sk': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'alebo', + '<': 'menej ako', + '>': 'viac ako', + '∑': 'sucet', + '¤': 'mena' + }, + + 'sr': {}, + + 'tr': { + '∆': 'delta', + '∞': 'sonsuzluk', + '♥': 'ask', + '&': 've', + '|': 'veya', + '<': 'kucuktur', + '>': 'buyuktur', + '∑': 'toplam', + '¤': 'para birimi' + }, + + 'uk': { + '∆': 'delta', + '∞': 'bezkinechnist', + '♥': 'lubov', + '&': 'i', + '|': 'abo', + '<': 'menshe', + '>': 'bilshe', + '∑': 'suma', + '¤': 'valjuta' + }, + + 'vn': { + '∆': 'delta', + '∞': 'vo cuc', + '♥': 'yeu', + '&': 'va', + '|': 'hoac', + '<': 'nho hon', + '>': 'lon hon', + '∑': 'tong', + '¤': 'tien te' + } +}; + +export const uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); + +export const uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); + +export const markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..0e26a04 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2015", + "moduleResolution": "node", + "noImplicitAny": false, + "sourceMap": true, + "declaration": true, + "declarationDir": "typings/speakingurl", + "outDir": "lib" + }, + "include": [ + "src/**.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/typings/speakingurl/speakingurl.d.ts b/typings/speakingurl/speakingurl.d.ts index b03c0e7..7892007 100644 --- a/typings/speakingurl/speakingurl.d.ts +++ b/typings/speakingurl/speakingurl.d.ts @@ -2,7 +2,7 @@ * Interface for the SpeakingURL options * @see {@link https://github.com/pid/speakingurl#usage} */ -interface speakingurlOptions { +export interface ISpeakingurlOptions { /** * Character that replaces the whitespaces * @default '-' @@ -13,78 +13,74 @@ interface speakingurlOptions { * @default 'en' */ lang?: string | boolean; - /** * Converts symbols according to the 'lang' setting if true. Don't convert symbols if false * @default true */ symbols?: boolean; - - /** * Maintains case chars if true. Convert all chars to lower case if false * @default false */ maintainCase?: boolean; - - /** * converts input string to title-case if true. Omit the words from the array if array is given. * @default false */ - titleCase?: boolean | Array; - - + titleCase?: boolean | string[]; /** * Don't trim length if 0. Trim to max length while not breaking any words if greater or equal to 1. * @default 0 */ truncate?: number; - - /** * Allow additional characters if true. * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", ",", "/" * @default false */ uric?: boolean; - - /** * Allow additional characters if true. * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", "," * @default false */ uricNoSlash?: boolean; - - /** * Allow additional characters if true. * Characters allowed: "-", "_", ".", "!", "~", "*", "'", "(", ")" * @default false */ mark?: boolean; - - /** * custom map for translation if object provided. Add array chars to allowed charMap if array provided. * @default {} */ - custom?: Object | Array - + custom?: { + [key: string]: string; + } | string[]; } - - /** - * Determines slug from given input. - * @param {string} input string to convert - * @param {object|string} options configuration object or separator string - * @return {string} slug + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ +export declare const getSlug: (input: string, opts: string | ISpeakingurlOptions) => string; +/** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ +export declare const createSlug: (opts: string | {}) => (input: string) => string; +/** + * escape Chars + * @param {string} input string */ -declare function getSlug(input: string, options?: speakingurlOptions | string): string; - +export declare const escapeChars: (input: string) => string; /** - * @function createSlug - * @param {object|string} options configuration object or separator string + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map */ -declare function createSlug(options?: speakingurlOptions | string): ((input: string) => string); +export declare const isReplacedCustomChar: (ch: string, customReplacements: {}) => boolean; diff --git a/typings/speakingurl/utils/charmap.d.ts b/typings/speakingurl/utils/charmap.d.ts new file mode 100644 index 0000000..40edb17 --- /dev/null +++ b/typings/speakingurl/utils/charmap.d.ts @@ -0,0 +1,507 @@ +/** + * charMap + * @type {Object} + */ +export declare const charMap: { + [key: string]: string; +}; +/** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ +export declare const lookAheadCharArray: string[]; +/** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ +export declare const diatricMap: { + 'ာ': string; + 'ါ': string; + 'ေ': string; + 'ဲ': string; + 'ိ': string; + 'ီ': string; + 'ို': string; + 'ု': string; + 'ူ': string; + 'ေါင်': string; + 'ော': string; + 'ော်': string; + 'ေါ': string; + 'ေါ်': string; + '်': string; + 'က်': string; + 'ိုက်': string; + 'ောက်': string; + 'င်': string; + 'ိုင်': string; + 'ောင်': string; + 'စ်': string; + 'ည်': string; + 'တ်': string; + 'ိတ်': string; + 'ုတ်': string; + 'ွတ်': string; + 'ေတ်': string; + 'ဒ်': string; + 'ိုဒ်': string; + 'ုဒ်': string; + 'န်': string; + 'ာန်': string; + 'ိန်': string; + 'ုန်': string; + 'ွန်': string; + 'ပ်': string; + 'ိပ်': string; + 'ုပ်': string; + 'ွပ်': string; + 'န်ုပ်': string; + 'မ်': string; + 'ိမ်': string; + 'ုမ်': string; + 'ွမ်': string; + 'ယ်': string; + 'ိုလ်': string; + 'ဉ်': string; + 'ံ': string; + 'ိံ': string; + 'ုံ': string; + 'ައް': string; + 'ަށް': string; +}; +/** + * langCharMap language specific characters translations + * @type {Object} + */ +export declare const langCharMap: { + 'en': {}; + 'az': { + 'ç': string; + 'ə': string; + 'ğ': string; + 'ı': string; + 'ö': string; + 'ş': string; + 'ü': string; + 'Ç': string; + 'Ə': string; + 'Ğ': string; + 'İ': string; + 'Ö': string; + 'Ş': string; + 'Ü': string; + }; + 'cs': { + 'č': string; + 'ď': string; + 'ě': string; + 'ň': string; + 'ř': string; + 'š': string; + 'ť': string; + 'ů': string; + 'ž': string; + 'Č': string; + 'Ď': string; + 'Ě': string; + 'Ň': string; + 'Ř': string; + 'Š': string; + 'Ť': string; + 'Ů': string; + 'Ž': string; + }; + 'fi': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'hu': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + 'ü': string; + 'Ü': string; + 'ű': string; + 'Ű': string; + }; + 'lt': { + 'ą': string; + 'č': string; + 'ę': string; + 'ė': string; + 'į': string; + 'š': string; + 'ų': string; + 'ū': string; + 'ž': string; + 'Ą': string; + 'Č': string; + 'Ę': string; + 'Ė': string; + 'Į': string; + 'Š': string; + 'Ų': string; + 'Ū': string; + }; + 'lv': { + 'ā': string; + 'č': string; + 'ē': string; + 'ģ': string; + 'ī': string; + 'ķ': string; + 'ļ': string; + 'ņ': string; + 'š': string; + 'ū': string; + 'ž': string; + 'Ā': string; + 'Č': string; + 'Ē': string; + 'Ģ': string; + 'Ī': string; + 'Ķ': string; + 'Ļ': string; + 'Ņ': string; + 'Š': string; + 'Ū': string; + 'Ž': string; + }; + 'pl': { + 'ą': string; + 'ć': string; + 'ę': string; + 'ł': string; + 'ń': string; + 'ó': string; + 'ś': string; + 'ź': string; + 'ż': string; + 'Ą': string; + 'Ć': string; + 'Ę': string; + 'Ł': string; + 'Ń': string; + 'Ó': string; + 'Ś': string; + 'Ź': string; + 'Ż': string; + }; + 'sv': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'sk': { + 'ä': string; + 'Ä': string; + }; + 'sr': { + 'љ': string; + 'њ': string; + 'Љ': string; + 'Њ': string; + 'đ': string; + 'Đ': string; + }; + 'tr': { + 'Ü': string; + 'Ö': string; + 'ü': string; + 'ö': string; + }; +}; +/** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ +export declare const symbolMap: { + 'ar': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'az': {}; + 'ca': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'cs': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'de': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'dv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'en': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'es': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fa': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fi': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ge': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'gr': {}; + 'hu': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'it': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'my': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'mk': {}; + 'nl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ro': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ru': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sr': {}; + 'tr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'uk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'vn': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; +}; +export declare const uricChars: string; +export declare const uricNoSlashChars: string; +export declare const markChars: string; From 360fd017bdc73cdb4a553d9c55d89c4dfd4e72be Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 11:14:13 +0200 Subject: [PATCH 2/8] fix tests and default gulp task jshint --- lib/speakingurl.js | 178 +++++++++++++-------------- lib/speakingurl.js.map | 2 +- lib/utils/charmap.js | 8 +- package.json | 12 +- speakingurl.min.js | 2 +- src/speakingurl.ts | 115 +++++++++-------- test/test-arabic.js | 2 +- test/test-burmese.js | 2 +- test/test-create.js | 2 +- test/test-custom.js | 2 +- test/test-cyrillic.js | 2 +- test/test-defaults.js | 2 +- test/test-dhivehi.js | 2 +- test/test-georgien.js | 2 +- test/test-hungarian.js | 2 +- test/test-lang.js | 2 +- test/test-language.js | 2 +- test/test-maintaincase.js | 2 +- test/test-persian.js | 2 +- test/test-rfc3986.js | 2 +- test/test-separator.js | 2 +- test/test-speakingurl.js | 2 +- test/test-symbols.js | 2 +- test/test-titlecase.js | 22 ++-- test/test-truncate.js | 2 +- test/test-turkish.js | 6 +- tsconfig.json | 9 +- typings/speakingurl/speakingurl.d.ts | 5 +- 28 files changed, 194 insertions(+), 201 deletions(-) diff --git a/lib/speakingurl.js b/lib/speakingurl.js index 2486b7e..259bc66 100644 --- a/lib/speakingurl.js +++ b/lib/speakingurl.js @@ -1,48 +1,41 @@ "use strict"; -const charmap_1 = require('./utils/charmap'); -const charmap_2 = require('./utils/charmap'); -const charmap_3 = require('./utils/charmap'); -const charmap_4 = require('./utils/charmap'); -const charmap_5 = require('./utils/charmap'); -const charmap_6 = require('./utils/charmap'); -const charmap_7 = require('./utils/charmap'); -const charmap_8 = require('./utils/charmap'); +var charMapper = require('./utils/charmap'); /** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ -exports.getSlug = (input, opts) => { - let separator = '-'; - let result = ''; - let diatricString = ''; - let convertSymbols = true; - let customReplacements = {}; - let maintainCase; - let titleCase; - let truncate; - let uricFlag; - let uricNoSlashFlag; - let markFlag; - let symbol; - let langChar; - let lucky; - let i; - let ch; - let l; - let lastCharWasSymbol; - let lastCharWasDiatric; - let allowedChars = ''; + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ +exports.getSlug = function (input, opts) { + var separator = '-'; + var result = ''; + var diatricString = ''; + var convertSymbols = true; + var customReplacements = {}; + var maintainCase; + var titleCase; + var truncate; + var uricFlag; + var uricNoSlashFlag; + var markFlag; + var symbol; + var langChar; + var lucky; + var i; + var ch; + var l; + var lastCharWasSymbol; + var lastCharWasDiatric; + var allowedChars = ''; if (typeof input !== 'string') { return ''; } if (typeof opts === 'string') { separator = opts; } - symbol = charmap_8.symbolMap.en; - langChar = charmap_7.langCharMap.en; + symbol = charMapper.symbolMap.en; + langChar = charMapper.langCharMap.en; if (typeof opts === 'object') { opts = opts; maintainCase = opts.maintainCase || false; @@ -54,19 +47,19 @@ exports.getSlug = (input, opts) => { convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; separator = opts.separator || separator; if (uricFlag) { - allowedChars += charmap_6.uricChars; + allowedChars += charMapper.uricChars; } if (uricNoSlashFlag) { - allowedChars += charmap_5.uricNoSlashChars; + allowedChars += charMapper.uricNoSlashChars; } if (markFlag) { - allowedChars += charmap_4.markChars; + allowedChars += charMapper.markChars; } - symbol = (opts.lang && charmap_8.symbolMap[opts.lang] && convertSymbols) ? - charmap_8.symbolMap[opts.lang] : (convertSymbols ? charmap_8.symbolMap.en : {}); - langChar = (opts.lang && charmap_7.langCharMap[opts.lang]) ? - charmap_7.langCharMap[opts.lang] : - opts.lang === false || opts.lang === true ? {} : charmap_7.langCharMap.en; + symbol = (opts.lang && charMapper.symbolMap[opts.lang] && convertSymbols) ? + charMapper.symbolMap[opts.lang] : (convertSymbols ? charMapper.symbolMap.en : {}); + langChar = (opts.lang && charMapper.langCharMap[opts.lang]) ? + charMapper.langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : charMapper.langCharMap.en; // if titleCase config is an Array, rewrite to object format if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { opts.titleCase = opts.titleCase; @@ -74,8 +67,7 @@ exports.getSlug = (input, opts) => { customReplacements[v + ''] = v + ''; }); titleCase = true; - } - else { + } else { titleCase = !!opts.titleCase; } // if custom config is an Array, rewrite to object format @@ -87,11 +79,10 @@ exports.getSlug = (input, opts) => { } // custom replacements Object.keys(customReplacements).forEach(function (v) { - let r; + var r; if (v.length > 1) { r = new RegExp('\\b' + exports.escapeChars(v) + '\\b', 'gi'); - } - else { + } else { r = new RegExp(exports.escapeChars(v), 'gi'); } input = input.replace(r, customReplacements[v]); @@ -113,54 +104,46 @@ exports.getSlug = (input, opts) => { if (exports.isReplacedCustomChar(ch, customReplacements)) { // don't convert a already converted char lastCharWasSymbol = false; - } - else if (langChar[ch]) { + } else if (langChar[ch]) { // process language specific diactrics chars conversion ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; lastCharWasSymbol = false; - } - else if (ch in charmap_3.charMap) { + } else if (ch in charMapper.charMap) { // the transliteration changes entirely when some special characters are added - if (i + 1 < l && charmap_2.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + if (i + 1 < l && charMapper.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { diatricString += ch; ch = ''; - } - else if (lastCharWasDiatric === true) { - ch = charmap_1.diatricMap[diatricString] + charmap_3.charMap[ch]; + } else if (lastCharWasDiatric === true) { + ch = charMapper.diatricMap[diatricString] + charMapper.charMap[ch]; diatricString = ''; - } - else { + } else { // process diactrics chars - ch = lastCharWasSymbol && charmap_3.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charmap_3.charMap[ch] : charmap_3.charMap[ch]; + ch = lastCharWasSymbol && charMapper.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMapper.charMap[ch] : charMapper.charMap[ch]; } lastCharWasSymbol = false; lastCharWasDiatric = false; - } - else if (ch in charmap_1.diatricMap) { + } else if (ch in charMapper.diatricMap) { diatricString += ch; ch = ''; // end of string, put the whole meaningful word if (i === l - 1) { - ch = charmap_1.diatricMap[diatricString]; + ch = charMapper.diatricMap[diatricString]; } lastCharWasDiatric = true; - } - else if ( - // process symbol chars - symbol[ch] && !(uricFlag && charmap_6.uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && charmap_5.uricNoSlashChars - .indexOf(ch) !== -1)) { + } else if ( + // process symbol chars + symbol[ch] && !(uricFlag && charMapper.uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars + .indexOf(ch) !== -1)) { ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; lastCharWasSymbol = true; - } - else { + } else { if (lastCharWasDiatric === true) { - ch = charmap_1.diatricMap[diatricString] + ch; + ch = charMapper.diatricMap[diatricString] + ch; diatricString = ''; lastCharWasDiatric = false; - } - else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { // process latin chars ch = ' ' + ch; } @@ -171,7 +154,7 @@ exports.getSlug = (input, opts) => { } if (titleCase) { result = result.replace(/(\w)(\S*)/g, function (_, i, r) { - let j = i.toUpperCase() + (r !== null ? r : ''); + var j = i.toUpperCase() + (r !== null ? r : ''); return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); }); } @@ -194,11 +177,11 @@ exports.getSlug = (input, opts) => { return result; }; /** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ -exports.createSlug = (opts) => { + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ +exports.createSlug = function (opts) { /** * getSlugWithConfig * @param {string} input string @@ -212,7 +195,7 @@ exports.createSlug = (opts) => { * escape Chars * @param {string} input string */ -exports.escapeChars = (input) => { +exports.escapeChars = function (input) { return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); }; /** @@ -220,28 +203,35 @@ exports.escapeChars = (input) => { * @param {char} ch character to check * @param {object} customReplacements custom translation map */ -exports.isReplacedCustomChar = (ch, customReplacements) => { - for (let c in customReplacements) { +exports.isReplacedCustomChar = function (ch, customReplacements) { + for (var c in customReplacements) { if (customReplacements[c] === ch) { return true; } } }; (function () { - let exportables = [exports.createSlug, exports.getSlug, exports.isReplacedCustomChar, exports.escapeChars]; + var exportables = [exports.createSlug, exports.getSlug, exports.isReplacedCustomChar, exports.escapeChars]; // Node: Export function if (typeof module !== "undefined" && module.exports) { - exportables.forEach(exp => module.exports[nameof(exp)] = exp); - } - else if (typeof define === 'function' && define.amd) { - exportables.forEach(exp => define(() => exp)); - } - else if (window) { - exportables.forEach(exp => window[nameof(exp)] = exp); + exportables.forEach(function (exp) { + module.exports[nameof(exp)] = exp; + }); + } else if (typeof exports.define === 'function' && exports.define.amd) { + exportables.forEach(function (exp) { + exports.define(function () { + return exp; + }); + }); + } else if (window) { + exportables.forEach(function (exp) { + window[nameof(exp)] = exp; + }); } + function nameof(fn) { - return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { - let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); + return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (function () { + var result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); return !result ? '' : result[1]; })(); } diff --git a/lib/speakingurl.js.map b/lib/speakingurl.js.map index 129b105..dbb1f48 100644 --- a/lib/speakingurl.js.map +++ b/lib/speakingurl.js.map @@ -1 +1 @@ -{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/utils/charmap.js b/lib/utils/charmap.js index dba70cf..d8dd8ba 100644 --- a/lib/utils/charmap.js +++ b/lib/utils/charmap.js @@ -822,10 +822,10 @@ exports.charMap = { '₾': 'GEL' }; /** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ exports.lookAheadCharArray = [ // burmese '်', diff --git a/package.json b/package.json index 702109a..8492a1d 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,10 @@ "url": "https://github.com/pid/speakingurl/issues" }, "license": "BSD-3-Clause", - "licenses": [ - { - "type": "BSD", - "url": "https://raw.github.com/pid/speakingurl/master/LICENSE" - } - ], + "licenses": [{ + "type": "BSD", + "url": "https://raw.github.com/pid/speakingurl/master/LICENSE" + }], "keywords": [ "slug", "slugify", @@ -88,4 +86,4 @@ "lib": "lib", "test": "test" } -} +} \ No newline at end of file diff --git a/speakingurl.min.js b/speakingurl.min.js index c621c22..6d4bbb2 100644 --- a/speakingurl.min.js +++ b/speakingurl.min.js @@ -4,4 +4,4 @@ * @link http://pid.github.io/speakingurl/ * @license BSD * @author - */!function(a){"use strict";var e={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"Ae","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"Oe","Ő":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"Ue","Ű":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"ae","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"oe","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"ue","ű":"u","ý":"y","þ":"th","ÿ":"y","ẞ":"SS","ا":"a","أ":"a","إ":"i","آ":"aa","ؤ":"u","ئ":"e","ء":"a","ب":"b","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ي":"y","ى":"a","ة":"h","ﻻ":"la","ﻷ":"laa","ﻹ":"lai","ﻵ":"laa","گ":"g","چ":"ch","پ":"p","ژ":"zh","ک":"k","ی":"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","က":"k","ခ":"kh","ဂ":"g","ဃ":"ga","င":"ng","စ":"s","ဆ":"sa","ဇ":"z","စျ":"za","ည":"ny","ဋ":"t","ဌ":"ta","ဍ":"d","ဎ":"da","ဏ":"na","တ":"t","ထ":"ta","ဒ":"d","ဓ":"da","န":"n","ပ":"p","ဖ":"pa","ဗ":"b","ဘ":"ba","မ":"m","ယ":"y","ရ":"ya","လ":"l","ဝ":"w","သ":"th","ဟ":"h","ဠ":"la","အ":"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h","ဧ":"e","၏":"-e","ဣ":"i","ဤ":"-i","ဉ":"u","ဦ":"-u","ဩ":"aw","သြော":"aw","ဪ":"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"","č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z","ހ":"h","ށ":"sh","ނ":"n","ރ":"r","ބ":"b","ޅ":"lh","ކ":"k","އ":"a","ވ":"v","މ":"m","ފ":"f","ދ":"dh","ތ":"th","ލ":"l","ގ":"g","ޏ":"gn","ސ":"s","ޑ":"d","ޒ":"z","ޓ":"t","ޔ":"y","ޕ":"p","ޖ":"j","ޗ":"ch","ޘ":"tt","ޙ":"hh","ޚ":"kh","ޛ":"th","ޜ":"z","ޝ":"sh","ޞ":"s","ޟ":"d","ޠ":"t","ޡ":"z","ޢ":"a","ޣ":"gh","ޤ":"q","ޥ":"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"p","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","α":"a","β":"v","γ":"g","δ":"d","ε":"e","ζ":"z","η":"i","θ":"th","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"ks","ο":"o","π":"p","ρ":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"o","ά":"a","έ":"e","ί":"i","ό":"o","ύ":"y","ή":"i","ώ":"o","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"I","Θ":"TH","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"KS","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"O","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"I","Ώ":"O","Ϊ":"I","Ϋ":"Y","ā":"a","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","ū":"u","Ā":"A","Ē":"E","Ģ":"G","Ī":"I","Ķ":"k","Ļ":"L","Ņ":"N","Ū":"U","Ќ":"Kj","ќ":"kj","Љ":"Lj","љ":"lj","Њ":"Nj","њ":"nj","Тс":"Ts","тс":"ts","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ś":"S","Ź":"Z","Ż":"Z","Є":"Ye","І":"I","Ї":"Yi","Ґ":"G","є":"ye","і":"i","ї":"yi","ґ":"g","ă":"a","Ă":"A","ș":"s","Ș":"S","ț":"t","Ț":"T","ţ":"t","Ţ":"T","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"kh","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ё":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"I","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"Kh","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","ђ":"dj","ј":"j","ћ":"c","џ":"dz","Ђ":"Dj","Ј":"j","Ћ":"C","Џ":"Dz","ľ":"l","ĺ":"l","ŕ":"r","Ľ":"L","Ĺ":"L","Ŕ":"R","ş":"s","Ş":"S","ı":"i","İ":"I","ğ":"g","Ğ":"G","ả":"a","Ả":"A","ẳ":"a","Ẳ":"A","ẩ":"a","Ẩ":"A","đ":"d","Đ":"D","ẹ":"e","Ẹ":"E","ẽ":"e","Ẽ":"E","ẻ":"e","Ẻ":"E","ế":"e","Ế":"E","ề":"e","Ề":"E","ệ":"e","Ệ":"E","ễ":"e","Ễ":"E","ể":"e","Ể":"E","ỏ":"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","ị":"i","Ị":"I","ĩ":"i","Ĩ":"I","ỉ":"i","Ỉ":"i","ủ":"u","Ủ":"U","ụ":"u","Ụ":"U","ũ":"u","Ũ":"U","ư":"u","Ư":"U","ứ":"u","Ứ":"U","ừ":"u","Ừ":"U","ự":"u","Ự":"U","ữ":"u","Ữ":"U","ử":"u","Ử":"ư","ỷ":"y","Ỷ":"y","ỳ":"y","Ỳ":"Y","ỵ":"y","Ỵ":"Y","ỹ":"y","Ỹ":"Y","ạ":"a","Ạ":"A","ấ":"a","Ấ":"A","ầ":"a","Ầ":"A","ậ":"a","Ậ":"A","ẫ":"a","Ẫ":"A","ắ":"a","Ắ":"A","ằ":"a","Ằ":"A","ặ":"a","Ặ":"A","ẵ":"a","Ẵ":"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d","ƒ":"f","™":"(TM)","©":"(C)","œ":"oe","Œ":"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o","º":"o","ª":"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY","元":"CNY","円":"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN","лв":"BGN","៛":"KHR","₡":"CRC","₸":"KZT","ден":"MKD","zł":"PLN","₽":"RUB","₾":"GEL"},n=["်","ް"],t={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},i={en:{},az:{"ç":"c","ə":"e","ğ":"g","ı":"i","ö":"o","ş":"s","ü":"u","Ç":"C","Ə":"E","Ğ":"G","İ":"I","Ö":"O","Ş":"S","Ü":"U"},cs:{"č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"},fi:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},hu:{"ä":"a","Ä":"A","ö":"o","Ö":"O","ü":"u","Ü":"U","ű":"u","Ű":"U"},lt:{"ą":"a","č":"c","ę":"e","ė":"e","į":"i","š":"s","ų":"u","ū":"u","ž":"z","Ą":"A","Č":"C","Ę":"E","Ė":"E","Į":"I","Š":"S","Ų":"U","Ū":"U"},lv:{"ā":"a","č":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"},pl:{"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z"},sv:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},sk:{"ä":"a","Ä":"A"},sr:{"љ":"lj","њ":"nj","Љ":"Lj","Њ":"Nj","đ":"dj","Đ":"Dj"},tr:{"Ü":"U","Ö":"O","ü":"u","ö":"o"}},o={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},u=[";","?",":","@","&","=","+","$",",","/"].join(""),s=[";","?",":","@","&","=","+","$",","].join(""),l=[".","!","~","*","'","(",")"].join(""),r=function(a,r){var m,d,g,k,y,f,p,z,b,A,v,E,O,j,S="-",w="",U="",C=!0,N={},R="";if("string"!=typeof a)return"";if("string"==typeof r&&(S=r),p=o.en,z=i.en,"object"==typeof r){m=r.maintainCase||!1,N=r.custom&&"object"==typeof r.custom?r.custom:N,g=+r.truncate>1&&r.truncate||!1,k=r.uric||!1,y=r.uricNoSlash||!1,f=r.mark||!1,C=!1!==r.symbols&&!1!==r.lang,S=r.separator||S,k&&(R+=u),y&&(R+=s),f&&(R+=l),p=r.lang&&o[r.lang]&&C?o[r.lang]:C?o.en:{},z=r.lang&&i[r.lang]?i[r.lang]:!1===r.lang||!0===r.lang?{}:i.en,r.titleCase&&"number"==typeof r.titleCase.length&&Array.prototype.toString.call(r.titleCase)?(r.titleCase.forEach(function(a){N[a+""]=a+""}),d=!0):d=!!r.titleCase,r.custom&&"number"==typeof r.custom.length&&Array.prototype.toString.call(r.custom)&&r.custom.forEach(function(a){N[a+""]=a+""}),Object.keys(N).forEach(function(e){var n;n=e.length>1?new RegExp("\\b"+h(e)+"\\b","gi"):new RegExp(h(e),"gi"),a=a.replace(n,N[e])});for(v in N)R+=v}for(R=h(R+=S),O=!1,j=!1,A=0,E=(a=a.replace(/(^\s+|\s+$)/g,"")).length;A=0?(U+=v,v=""):!0===j?(v=t[U]+e[v],U=""):v=O&&e[v].match(/[A-Za-z0-9]/)?" "+e[v]:e[v],O=!1,j=!1):v in t?(U+=v,v="",A===E-1&&(v=t[U]),j=!0):!p[v]||k&&-1!==u.indexOf(v)||y&&-1!==s.indexOf(v)?(!0===j?(v=t[U]+v,U="",j=!1):O&&(/[A-Za-z0-9]/.test(v)||w.substr(-1).match(/A-Za-z0-9]/))&&(v=" "+v),O=!1):(v=O||w.substr(-1).match(/[A-Za-z0-9]/)?S+p[v]:p[v],v+=void 0!==a[A+1]&&a[A+1].match(/[A-Za-z0-9]/)?S:"",O=!0),w+=v.replace(new RegExp("[^\\w\\s"+R+"_-]","g"),S);return d&&(w=w.replace(/(\w)(\S*)/g,function(a,e,n){var t=e.toUpperCase()+(null!==n?n:"");return Object.keys(N).indexOf(t.toLowerCase())<0?t:t.toLowerCase()})),w=w.replace(/\s+/g,S).replace(new RegExp("\\"+S+"+","g"),S).replace(new RegExp("(^\\"+S+"+|\\"+S+"+$)","g"),""),g&&w.length>g&&(b=w.charAt(g)===S,w=w.slice(0,g),b||(w=w.slice(0,w.lastIndexOf(S)))),m||d||(w=w.toLowerCase()),w},m=function(a){return function(e){return r(e,a)}},h=function(a){return a.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},c=function(a,e){for(var n in e)if(e[n]===a)return!0};if("undefined"!=typeof module&&module.exports)module.exports=r,module.exports.createSlug=m;else if("undefined"!=typeof define&&define.amd)define([],function(){return r});else try{if(a.getSlug||a.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";a.getSlug=r,a.createSlug=m}catch(a){}}(this); \ No newline at end of file + */"use strict";exports.charMap={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"Ae","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"Oe","Ő":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"Ue","Ű":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"ae","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"oe","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"ue","ű":"u","ý":"y","þ":"th","ÿ":"y","ẞ":"SS","ا":"a","أ":"a","إ":"i","آ":"aa","ؤ":"u","ئ":"e","ء":"a","ب":"b","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ي":"y","ى":"a","ة":"h","ﻻ":"la","ﻷ":"laa","ﻹ":"lai","ﻵ":"laa","گ":"g","چ":"ch","پ":"p","ژ":"zh","ک":"k","ی":"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","က":"k","ခ":"kh","ဂ":"g","ဃ":"ga","င":"ng","စ":"s","ဆ":"sa","ဇ":"z","စျ":"za","ည":"ny","ဋ":"t","ဌ":"ta","ဍ":"d","ဎ":"da","ဏ":"na","တ":"t","ထ":"ta","ဒ":"d","ဓ":"da","န":"n","ပ":"p","ဖ":"pa","ဗ":"b","ဘ":"ba","မ":"m","ယ":"y","ရ":"ya","လ":"l","ဝ":"w","သ":"th","ဟ":"h","ဠ":"la","အ":"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h","ဧ":"e","၏":"-e","ဣ":"i","ဤ":"-i","ဉ":"u","ဦ":"-u","ဩ":"aw","သြော":"aw","ဪ":"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"","č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z","ހ":"h","ށ":"sh","ނ":"n","ރ":"r","ބ":"b","ޅ":"lh","ކ":"k","އ":"a","ވ":"v","މ":"m","ފ":"f","ދ":"dh","ތ":"th","ލ":"l","ގ":"g","ޏ":"gn","ސ":"s","ޑ":"d","ޒ":"z","ޓ":"t","ޔ":"y","ޕ":"p","ޖ":"j","ޗ":"ch","ޘ":"tt","ޙ":"hh","ޚ":"kh","ޛ":"th","ޜ":"z","ޝ":"sh","ޞ":"s","ޟ":"d","ޠ":"t","ޡ":"z","ޢ":"a","ޣ":"gh","ޤ":"q","ޥ":"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"p","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","α":"a","β":"v","γ":"g","δ":"d","ε":"e","ζ":"z","η":"i","θ":"th","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"ks","ο":"o","π":"p","ρ":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"o","ά":"a","έ":"e","ί":"i","ό":"o","ύ":"y","ή":"i","ώ":"o","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"I","Θ":"TH","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"KS","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"O","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"I","Ώ":"O","Ϊ":"I","Ϋ":"Y","ā":"a","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","ū":"u","Ā":"A","Ē":"E","Ģ":"G","Ī":"I","Ķ":"k","Ļ":"L","Ņ":"N","Ū":"U","Ќ":"Kj","ќ":"kj","Љ":"Lj","љ":"lj","Њ":"Nj","њ":"nj","Тс":"Ts","тс":"ts","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ś":"S","Ź":"Z","Ż":"Z","Є":"Ye","І":"I","Ї":"Yi","Ґ":"G","є":"ye","і":"i","ї":"yi","ґ":"g","ă":"a","Ă":"A","ș":"s","Ș":"S","ț":"t","Ț":"T","ţ":"t","Ţ":"T","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"kh","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ё":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"I","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"Kh","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","ђ":"dj","ј":"j","ћ":"c","џ":"dz","Ђ":"Dj","Ј":"j","Ћ":"C","Џ":"Dz","ľ":"l","ĺ":"l","ŕ":"r","Ľ":"L","Ĺ":"L","Ŕ":"R","ş":"s","Ş":"S","ı":"i","İ":"I","ğ":"g","Ğ":"G","ả":"a","Ả":"A","ẳ":"a","Ẳ":"A","ẩ":"a","Ẩ":"A","đ":"d","Đ":"D","ẹ":"e","Ẹ":"E","ẽ":"e","Ẽ":"E","ẻ":"e","Ẻ":"E","ế":"e","Ế":"E","ề":"e","Ề":"E","ệ":"e","Ệ":"E","ễ":"e","Ễ":"E","ể":"e","Ể":"E","ỏ":"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","ị":"i","Ị":"I","ĩ":"i","Ĩ":"I","ỉ":"i","Ỉ":"i","ủ":"u","Ủ":"U","ụ":"u","Ụ":"U","ũ":"u","Ũ":"U","ư":"u","Ư":"U","ứ":"u","Ứ":"U","ừ":"u","Ừ":"U","ự":"u","Ự":"U","ữ":"u","Ữ":"U","ử":"u","Ử":"ư","ỷ":"y","Ỷ":"y","ỳ":"y","Ỳ":"Y","ỵ":"y","Ỵ":"Y","ỹ":"y","Ỹ":"Y","ạ":"a","Ạ":"A","ấ":"a","Ấ":"A","ầ":"a","Ầ":"A","ậ":"a","Ậ":"A","ẫ":"a","Ẫ":"A","ắ":"a","Ắ":"A","ằ":"a","Ằ":"A","ặ":"a","Ặ":"A","ẵ":"a","Ẵ":"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d","ƒ":"f","™":"(TM)","©":"(C)","œ":"oe","Œ":"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o","º":"o","ª":"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY","元":"CNY","円":"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN","лв":"BGN","៛":"KHR","₡":"CRC","₸":"KZT","ден":"MKD","zł":"PLN","₽":"RUB","₾":"GEL"},exports.lookAheadCharArray=["်","ް"],exports.diatricMap={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},exports.langCharMap={en:{},az:{"ç":"c","ə":"e","ğ":"g","ı":"i","ö":"o","ş":"s","ü":"u","Ç":"C","Ə":"E","Ğ":"G","İ":"I","Ö":"O","Ş":"S","Ü":"U"},cs:{"č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"},fi:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},hu:{"ä":"a","Ä":"A","ö":"o","Ö":"O","ü":"u","Ü":"U","ű":"u","Ű":"U"},lt:{"ą":"a","č":"c","ę":"e","ė":"e","į":"i","š":"s","ų":"u","ū":"u","ž":"z","Ą":"A","Č":"C","Ę":"E","Ė":"E","Į":"I","Š":"S","Ų":"U","Ū":"U"},lv:{"ā":"a","č":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"},pl:{"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z"},sv:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},sk:{"ä":"a","Ä":"A"},sr:{"љ":"lj","њ":"nj","Љ":"Lj","Њ":"Nj","đ":"dj","Đ":"Dj"},tr:{"Ü":"U","Ö":"O","ü":"u","ö":"o"}},exports.symbolMap={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},exports.uricChars=[";","?",":","@","&","=","+","$",",","/"].join(""),exports.uricNoSlashChars=[";","?",":","@","&","=","+","$",","].join(""),exports.markChars=[".","!","~","*","'","(",")"].join(""); \ No newline at end of file diff --git a/src/speakingurl.ts b/src/speakingurl.ts index ed5c740..9187bfe 100644 --- a/src/speakingurl.ts +++ b/src/speakingurl.ts @@ -1,16 +1,9 @@ -import { diatricMap } from './utils/charmap'; -import { lookAheadCharArray } from './utils/charmap'; -import { charMap } from './utils/charmap'; -import { markChars } from './utils/charmap'; -import { uricNoSlashChars } from './utils/charmap'; -import { uricChars } from './utils/charmap'; -import { langCharMap } from './utils/charmap'; -import { symbolMap } from './utils/charmap'; +import * as charMapper from './utils/charmap'; /** * Interface for the SpeakingURL options * @see {@link https://github.com/pid/speakingurl#usage} */ -export interface ISpeakingurlOptions { +export interface speakingurlOptions { /** * Character that replaces the whitespaces * @default '-' @@ -88,7 +81,7 @@ export interface ISpeakingurlOptions { * @api public * @return {string} sluggified string */ -export const getSlug = (input: string, opts: ISpeakingurlOptions | string): string => { +export const getSlug = (input: string, opts: speakingurlOptions | string): string => { let separator = '-'; let result = ''; let diatricString = ''; @@ -118,11 +111,11 @@ export const getSlug = (input: string, opts: ISpeakingurlOptions | string): stri separator = opts; } - symbol = symbolMap.en; - langChar = langCharMap.en; + symbol = charMapper.symbolMap.en; + langChar = charMapper.langCharMap.en; if (typeof opts === 'object') { - opts = opts; + opts = opts; maintainCase = opts.maintainCase || false; customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; truncate = (+opts.truncate > 1 && opts.truncate) || false; @@ -133,23 +126,23 @@ export const getSlug = (input: string, opts: ISpeakingurlOptions | string): stri separator = opts.separator || separator; if (uricFlag) { - allowedChars += uricChars; + allowedChars += charMapper.uricChars; } if (uricNoSlashFlag) { - allowedChars += uricNoSlashChars; + allowedChars += charMapper.uricNoSlashChars; } if (markFlag) { - allowedChars += markChars; + allowedChars += charMapper.markChars; } - symbol = (opts.lang && symbolMap[opts.lang] && convertSymbols) ? - symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {}); + symbol = (opts.lang && charMapper.symbolMap[opts.lang] && convertSymbols) ? + charMapper.symbolMap[opts.lang] : (convertSymbols ? charMapper.symbolMap.en : {}); - langChar = (opts.lang && langCharMap[opts.lang]) ? - langCharMap[opts.lang] : - opts.lang === false || opts.lang === true ? {} : langCharMap.en; + langChar = (opts.lang && charMapper.langCharMap[opts.lang]) ? + charMapper.langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : charMapper.langCharMap.en; // if titleCase config is an Array, rewrite to object format if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { @@ -212,34 +205,34 @@ export const getSlug = (input: string, opts: ISpeakingurlOptions | string): stri ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; lastCharWasSymbol = false; - } else if (ch in charMap) { + } else if (ch in charMapper.charMap) { // the transliteration changes entirely when some special characters are added - if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + if (i + 1 < l && charMapper.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { diatricString += ch; ch = ''; } else if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + charMap[ch]; + ch = charMapper.diatricMap[diatricString] + charMapper.charMap[ch]; diatricString = ''; } else { // process diactrics chars - ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMap[ch] : charMap[ch]; + ch = lastCharWasSymbol && charMapper.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMapper.charMap[ch] : charMapper.charMap[ch]; } lastCharWasSymbol = false; lastCharWasDiatric = false; - } else if (ch in diatricMap) { + } else if (ch in charMapper.diatricMap) { diatricString += ch; ch = ''; // end of string, put the whole meaningful word if (i === l - 1) { - ch = diatricMap[diatricString]; + ch = charMapper.diatricMap[diatricString]; } lastCharWasDiatric = true; } else if ( // process symbol chars - symbol[ch] && !(uricFlag && uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars - // .indexOf(ch) !== -1) && !(markFlag && markChars + symbol[ch] && !(uricFlag && charMapper.uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars + // .indexOf(ch) !== -1) && !(markFlag && charMapper.markChars .indexOf(ch) !== -1)) { ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; @@ -247,7 +240,7 @@ export const getSlug = (input: string, opts: ISpeakingurlOptions | string): stri lastCharWasSymbol = true; } else { if (lastCharWasDiatric === true) { - ch = diatricMap[diatricString] + ch; + ch = charMapper.diatricMap[diatricString] + ch; diatricString = ''; lastCharWasDiatric = false; } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { @@ -296,7 +289,7 @@ export const getSlug = (input: string, opts: ISpeakingurlOptions | string): stri * @param {object|string} opts config object or input string * @return {Function} function getSlugWithConfig() **/ -export const createSlug = (opts: {}|string) => { +export const createSlug = (opts: {} | string) => { /** * getSlugWithConfig * @param {string} input string @@ -329,31 +322,37 @@ export const isReplacedCustomChar = (ch: string, customReplacements: {}) => { }; /* modules, require and stuff like that */ -declare var define: any; +export declare var define: any; declare var module: any; - +declare var window: any; (function () { - - let exportables = [createSlug, getSlug, isReplacedCustomChar, escapeChars]; - - // Node: Export function - if (typeof module !== "undefined" && module.exports) { - exportables.forEach(exp => module.exports[nameof(exp)] = exp); - } - // AMD/requirejs: Define the module - else if (typeof define === 'function' && define.amd) { - exportables.forEach(exp => define(() => exp)); - } - //expose it through Window - else if (window) { - exportables.forEach(exp => (window as any)[nameof(exp)] = exp); - } - - function nameof(fn: any): string { - return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { - let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); - return !result ? '' : result[1]; - })(); - } - -} ()); \ No newline at end of file + + let exportables = [createSlug, getSlug, isReplacedCustomChar, escapeChars]; + + // Node: Export function + if (typeof module !== "undefined" && module.exports) { + exportables.forEach(exp => { + module.exports[nameof(exp)] = exp; + }); + } + // AMD/requirejs: Define the module + else if (typeof define === 'function' && define.amd) { + exportables.forEach(exp => { + define(() => exp); + }); + } + //expose it through Window + else if (window) { + exportables.forEach((exp) => { + (window as any)[nameof(exp)] = exp; + }); + } + + function nameof(fn: any): string { + return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { + let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); + return !result ? '' : result[1]; + })(); + } + +}()); \ No newline at end of file diff --git a/test/test-arabic.js b/test/test-arabic.js index 76de387..26fd6aa 100644 --- a/test/test-arabic.js +++ b/test/test-arabic.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate arabic letters', function () { 'use strict'; diff --git a/test/test-burmese.js b/test/test-burmese.js index 9a26aac..c89cbd9 100644 --- a/test/test-burmese.js +++ b/test/test-burmese.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate burmese letters', function () { 'use strict'; diff --git a/test/test-create.js b/test/test-create.js index ec79b7e..56d7f15 100644 --- a/test/test-create.js +++ b/test/test-create.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug create', function () { 'use strict'; diff --git a/test/test-custom.js b/test/test-custom.js index aea5ef0..f96040c 100644 --- a/test/test-custom.js +++ b/test/test-custom.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug with custom replacement', function () { 'use strict'; diff --git a/test/test-cyrillic.js b/test/test-cyrillic.js index 4394a7f..5c362a3 100644 --- a/test/test-cyrillic.js +++ b/test/test-cyrillic.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate cyrillic letters', function () { 'use strict'; diff --git a/test/test-defaults.js b/test/test-defaults.js index 259dd77..5a2aaf2 100644 --- a/test/test-defaults.js +++ b/test/test-defaults.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug defaults', function () { 'use strict'; diff --git a/test/test-dhivehi.js b/test/test-dhivehi.js index c304af7..dccd04d 100644 --- a/test/test-dhivehi.js +++ b/test/test-dhivehi.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate dhivehi letters', function () { 'use strict'; diff --git a/test/test-georgien.js b/test/test-georgien.js index 826b84e..73b4580 100644 --- a/test/test-georgien.js +++ b/test/test-georgien.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate georgien letters', function () { 'use strict'; diff --git a/test/test-hungarian.js b/test/test-hungarian.js index 22b7838..08b6178 100644 --- a/test/test-hungarian.js +++ b/test/test-hungarian.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate hungarian letters', function () { 'use strict'; diff --git a/test/test-lang.js b/test/test-lang.js index 562fa31..9dbd8d1 100644 --- a/test/test-lang.js +++ b/test/test-lang.js @@ -1,5 +1,5 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug symbols', function () { 'use strict'; diff --git a/test/test-language.js b/test/test-language.js index c244335..09ec16f 100644 --- a/test/test-language.js +++ b/test/test-language.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug languages', function () { 'use strict'; diff --git a/test/test-maintaincase.js b/test/test-maintaincase.js index 0540f50..a93b39d 100644 --- a/test/test-maintaincase.js +++ b/test/test-maintaincase.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug maintainCase', function () { 'use strict'; diff --git a/test/test-persian.js b/test/test-persian.js index 9d9dea4..5a0b9a3 100644 --- a/test/test-persian.js +++ b/test/test-persian.js @@ -1,4 +1,4 @@ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug translate persian letters/numbers', function () { 'use strict'; diff --git a/test/test-rfc3986.js b/test/test-rfc3986.js index 23fbead..a2450f1 100644 --- a/test/test-rfc3986.js +++ b/test/test-rfc3986.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug rfc3986', function () { 'use strict'; diff --git a/test/test-separator.js b/test/test-separator.js index 62d78b6..50e73aa 100644 --- a/test/test-separator.js +++ b/test/test-separator.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug separator', function () { 'use strict'; diff --git a/test/test-speakingurl.js b/test/test-speakingurl.js index d14fd44..ac07484 100644 --- a/test/test-speakingurl.js +++ b/test/test-speakingurl.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug config combinations', function () { 'use strict'; diff --git a/test/test-symbols.js b/test/test-symbols.js index 83e9ebf..fa6fa80 100644 --- a/test/test-symbols.js +++ b/test/test-symbols.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug symbols', function () { 'use strict'; diff --git a/test/test-titlecase.js b/test/test-titlecase.js index c31d7ff..73c0c62 100644 --- a/test/test-titlecase.js +++ b/test/test-titlecase.js @@ -1,23 +1,23 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var speakingurl = require('../lib/speakingurl'); describe('getSlug titleCase', function () { 'use strict'; it('should title-case the characters', function (done) { - getSlug('This is big foo', { + speakingurl.getSlug('This is big foo', { titleCase: true }) .should.eql('This-Is-Big-Foo'); - getSlug('This is Big foo', { + speakingurl.getSlug('This is Big foo', { titleCase: true }) .should.eql('This-Is-Big-Foo'); - getSlug('Don\'t drink and drive', { + speakingurl.getSlug('Don\'t drink and drive', { titleCase: true }) .should.eql('Don-t-Drink-And-Drive'); @@ -27,39 +27,39 @@ describe('getSlug titleCase', function () { it('should title-case the characters with custom array', function (done) { - getSlug('This is yet foo and bar', { + speakingurl.getSlug('This is yet foo and bar', { titleCase: ['and', 'yet'] }) .should.eql('This-Is-yet-Foo-and-Bar'); - getSlug('This is a foo and an angry bird', { + speakingurl.getSlug('This is a foo and an angry bird', { titleCase: ['a', 'an', 'and'] }) .should.eql('This-Is-a-Foo-and-an-Angry-Bird'); - getSlug('This is a foo and an angry bird show', { + speakingurl.getSlug('This is a foo and an angry bird show', { titleCase: ['a'] }) .should.eql('This-Is-a-Foo-And-An-Angry-Bird-Show'); - getSlug('Don\'t drink and drive', { + speakingurl.getSlug('Don\'t drink and drive', { titleCase: ['and'] }) .should.eql('Don-t-Drink-and-Drive'); - getSlug('Don\'t drink and drive', { + speakingurl.getSlug('Don\'t drink and drive', { titleCase: {} }) .should.eql('Don-t-Drink-And-Drive'); - getSlug('Don\'t drink and drive', { + speakingurl.getSlug('Don\'t drink and drive', { titleCase: { 'drink': 'drive' } }) .should.eql('Don-t-Drink-And-Drive'); - getSlug('Don\'t drink and drive', { + speakingurl.getSlug('Don\'t drink and drive', { titleCase: 42 }) .should.eql('Don-t-Drink-And-Drive'); diff --git a/test/test-truncate.js b/test/test-truncate.js index 65887fb..c35e59c 100644 --- a/test/test-truncate.js +++ b/test/test-truncate.js @@ -1,6 +1,6 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var getSlug = require('../lib/speakingurl').getSlug; describe('getSlug smart truncate', function () { 'use strict'; diff --git a/test/test-turkish.js b/test/test-turkish.js index 39ac409..788ec04 100644 --- a/test/test-turkish.js +++ b/test/test-turkish.js @@ -1,18 +1,18 @@ /* global describe,it */ -var getSlug = require('../lib/speakingurl'); +var speakingurl = require('../lib/speakingurl'); describe('getSlug translate turkish letters', function () { 'use strict'; it('umlaut should be single letter transliteration', function (done) { - getSlug('ÜÄÖüäö', { + speakingurl.getSlug('ÜÄÖüäö', { lang: 'tr' }) .should.eql('uaeouaeo'); - getSlug('ÜÖÄ äüö', { + speakingurl.getSlug('ÜÖÄ äüö', { lang: 'tr' }) .should.eql('uoae-aeuo'); diff --git a/tsconfig.json b/tsconfig.json index 0e26a04..a01be46 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,18 @@ { "compilerOptions": { "module": "commonjs", - "target": "es2015", + "target": "es5", "moduleResolution": "node", "noImplicitAny": false, "sourceMap": true, "declaration": true, "declarationDir": "typings/speakingurl", - "outDir": "lib" + "outDir": "lib", + "lib": [ + "dom", + "es5", + "es2015" + ] }, "include": [ "src/**.ts" diff --git a/typings/speakingurl/speakingurl.d.ts b/typings/speakingurl/speakingurl.d.ts index 7892007..212f0a2 100644 --- a/typings/speakingurl/speakingurl.d.ts +++ b/typings/speakingurl/speakingurl.d.ts @@ -2,7 +2,7 @@ * Interface for the SpeakingURL options * @see {@link https://github.com/pid/speakingurl#usage} */ -export interface ISpeakingurlOptions { +export interface speakingurlOptions { /** * Character that replaces the whitespaces * @default '-' @@ -66,7 +66,7 @@ export interface ISpeakingurlOptions { * @api public * @return {string} sluggified string */ -export declare const getSlug: (input: string, opts: string | ISpeakingurlOptions) => string; +export declare const getSlug: (input: string, opts: string | speakingurlOptions) => string; /** * createSlug curried(opts)(input) * @param {object|string} opts config object or input string @@ -84,3 +84,4 @@ export declare const escapeChars: (input: string) => string; * @param {object} customReplacements custom translation map */ export declare const isReplacedCustomChar: (ch: string, customReplacements: {}) => boolean; +export declare var define: any; From b042693ba29678551b8278c9862211286ab41b24 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 11:47:27 +0200 Subject: [PATCH 3/8] try fuxing min file --- Gulpfile.js | 2 +- component.json | 21 ------------ lib/speakingurl.js | 73 ++++++++++++++++++++++++------------------ lib/speakingurl.js.map | 2 +- lib/utils/charmap.js | 8 ++--- src/speakingurl.ts | 6 ++-- test/test-arabic.js | 18 ----------- tsconfig.json | 4 +-- 8 files changed, 51 insertions(+), 83 deletions(-) diff --git a/Gulpfile.js b/Gulpfile.js index 1d509f3..79c1f4c 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -6,7 +6,7 @@ var argv = require('minimist')(process.argv.slice(2)); var path = { rootdir: './', - lib: ['./lib/**/*.js'], + lib: ['./lib/**/*.js', '!./lib/**/*.js.map'], libdir: './lib/', test: ['./test/**/*.js'], testdir: './test/', diff --git a/component.json b/component.json index 3ab60bc..e69de29 100644 --- a/component.json +++ b/component.json @@ -1,21 +0,0 @@ -{ - "name": "speakingurl", - "repo": "pid/speakingurl", - "description": "Generate of so called 'static' or 'Clean URL' or 'Pretty URL' or 'nice-looking URL' or 'Speaking URL' or 'user-friendly URL' or 'SEO-friendly URL' or 'slug' from a string.", - "version": "14.0.1", - "keywords": [ - "slug", - "seo", - "url", - "speakingurl", - "nice url", - "static url" - ], - "dependencies": {}, - "development": {}, - "license": "BSD", - "main": "speakingurl.min.js", - "scripts": [ - "speakingurl.min.js" - ] -} \ No newline at end of file diff --git a/lib/speakingurl.js b/lib/speakingurl.js index 259bc66..642698e 100644 --- a/lib/speakingurl.js +++ b/lib/speakingurl.js @@ -1,12 +1,12 @@ "use strict"; var charMapper = require('./utils/charmap'); /** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ exports.getSlug = function (input, opts) { var separator = '-'; var result = ''; @@ -67,7 +67,8 @@ exports.getSlug = function (input, opts) { customReplacements[v + ''] = v + ''; }); titleCase = true; - } else { + } + else { titleCase = !!opts.titleCase; } // if custom config is an Array, rewrite to object format @@ -82,7 +83,8 @@ exports.getSlug = function (input, opts) { var r; if (v.length > 1) { r = new RegExp('\\b' + exports.escapeChars(v) + '\\b', 'gi'); - } else { + } + else { r = new RegExp(exports.escapeChars(v), 'gi'); } input = input.replace(r, customReplacements[v]); @@ -104,25 +106,30 @@ exports.getSlug = function (input, opts) { if (exports.isReplacedCustomChar(ch, customReplacements)) { // don't convert a already converted char lastCharWasSymbol = false; - } else if (langChar[ch]) { + } + else if (langChar[ch]) { // process language specific diactrics chars conversion ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; lastCharWasSymbol = false; - } else if (ch in charMapper.charMap) { + } + else if (ch in charMapper.charMap) { // the transliteration changes entirely when some special characters are added if (i + 1 < l && charMapper.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { diatricString += ch; ch = ''; - } else if (lastCharWasDiatric === true) { + } + else if (lastCharWasDiatric === true) { ch = charMapper.diatricMap[diatricString] + charMapper.charMap[ch]; diatricString = ''; - } else { + } + else { // process diactrics chars ch = lastCharWasSymbol && charMapper.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMapper.charMap[ch] : charMapper.charMap[ch]; } lastCharWasSymbol = false; lastCharWasDiatric = false; - } else if (ch in charMapper.diatricMap) { + } + else if (ch in charMapper.diatricMap) { diatricString += ch; ch = ''; // end of string, put the whole meaningful word @@ -130,20 +137,23 @@ exports.getSlug = function (input, opts) { ch = charMapper.diatricMap[diatricString]; } lastCharWasDiatric = true; - } else if ( - // process symbol chars - symbol[ch] && !(uricFlag && charMapper.uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars - .indexOf(ch) !== -1)) { + } + else if ( + // process symbol chars + symbol[ch] && !(uricFlag && charMapper.uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars + .indexOf(ch) !== -1)) { ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; lastCharWasSymbol = true; - } else { + } + else { if (lastCharWasDiatric === true) { ch = charMapper.diatricMap[diatricString] + ch; diatricString = ''; lastCharWasDiatric = false; - } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + } + else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { // process latin chars ch = ' ' + ch; } @@ -177,10 +187,10 @@ exports.getSlug = function (input, opts) { return result; }; /** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ exports.createSlug = function (opts) { /** * getSlugWithConfig @@ -215,20 +225,19 @@ exports.isReplacedCustomChar = function (ch, customReplacements) { // Node: Export function if (typeof module !== "undefined" && module.exports) { exportables.forEach(function (exp) { - module.exports[nameof(exp)] = exp; + return module.exports[nameof(exp)] = exp; }); - } else if (typeof exports.define === 'function' && exports.define.amd) { + } + else if (typeof exports.define === 'function' && exports.define.amd) { exportables.forEach(function (exp) { - exports.define(function () { - return exp; - }); + return exports.define(function () { return exp; }); }); - } else if (window) { + } + else if (window) { exportables.forEach(function (exp) { - window[nameof(exp)] = exp; + return window[nameof(exp)] = exp; }); } - function nameof(fn) { return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (function () { var result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); diff --git a/lib/speakingurl.js.map b/lib/speakingurl.js.map index dbb1f48..316ccba 100644 --- a/lib/speakingurl.js.map +++ b/lib/speakingurl.js.map @@ -1 +1 @@ -{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/utils/charmap.js b/lib/utils/charmap.js index d8dd8ba..dba70cf 100644 --- a/lib/utils/charmap.js +++ b/lib/utils/charmap.js @@ -822,10 +822,10 @@ exports.charMap = { '₾': 'GEL' }; /** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ exports.lookAheadCharArray = [ // burmese '်', diff --git a/src/speakingurl.ts b/src/speakingurl.ts index 9187bfe..42b7fe7 100644 --- a/src/speakingurl.ts +++ b/src/speakingurl.ts @@ -332,19 +332,19 @@ declare var window: any; // Node: Export function if (typeof module !== "undefined" && module.exports) { exportables.forEach(exp => { - module.exports[nameof(exp)] = exp; + return module.exports[nameof(exp)] = exp; }); } // AMD/requirejs: Define the module else if (typeof define === 'function' && define.amd) { exportables.forEach(exp => { - define(() => exp); + return define(() => exp); }); } //expose it through Window else if (window) { exportables.forEach((exp) => { - (window as any)[nameof(exp)] = exp; + return (window as any)[nameof(exp)] = exp; }); } diff --git a/test/test-arabic.js b/test/test-arabic.js index 26fd6aa..e69de29 100644 --- a/test/test-arabic.js +++ b/test/test-arabic.js @@ -1,18 +0,0 @@ -/* global describe,it */ - -var getSlug = require('../lib/speakingurl').getSlug; - -describe('getSlug translate arabic letters', function () { - 'use strict'; - - it('should be ', function (done) { - - getSlug('بشس تاقفغقف - ت ب ي ق', { - lang: 'ar' - }) - .should.eql('bshs-taqfghqf-t-b-y-q'); - - done(); - }); - -}); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index a01be46..9cf8dd6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,6 @@ "compilerOptions": { "module": "commonjs", "target": "es5", - "moduleResolution": "node", "noImplicitAny": false, "sourceMap": true, "declaration": true, @@ -10,8 +9,7 @@ "outDir": "lib", "lib": [ "dom", - "es5", - "es2015" + "es5" ] }, "include": [ From cb83e8b1e6106f169da22817eec0fa6b703ae1fd Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 12:07:05 +0200 Subject: [PATCH 4/8] rm extra file fro charmap --- Gulpfile.js | 2 +- lib/speakingurl.js | 1761 ++++++++++++++++++++++---- lib/speakingurl.js.map | 2 +- lib/utils/charmap.js | 1340 -------------------- lib/utils/charmap.js.map | 1 - speakingurl.d.ts | 597 +++++++++ speakingurl.js | 1 + speakingurl.js.map | 1 + speakingurl.min.js | 2 +- src/speakingurl.ts | 1500 +++++++++++++++++++++- src/utils/charmap.ts | 1415 --------------------- tsconfig.json | 2 +- typings/speakingurl/speakingurl.d.ts | 508 +++++++- 13 files changed, 4085 insertions(+), 3047 deletions(-) delete mode 100644 lib/utils/charmap.js delete mode 100644 lib/utils/charmap.js.map create mode 100644 speakingurl.d.ts create mode 100644 speakingurl.js create mode 100644 speakingurl.js.map delete mode 100644 src/utils/charmap.ts diff --git a/Gulpfile.js b/Gulpfile.js index 79c1f4c..8fbea4d 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -6,7 +6,7 @@ var argv = require('minimist')(process.argv.slice(2)); var path = { rootdir: './', - lib: ['./lib/**/*.js', '!./lib/**/*.js.map'], + lib: ['./lib/**/speakingurl.js','./lib/**/charmap.js', '!./lib/**/*.js.map'], libdir: './lib/', test: ['./test/**/*.js'], testdir: './test/', diff --git a/lib/speakingurl.js b/lib/speakingurl.js index 642698e..b475d15 100644 --- a/lib/speakingurl.js +++ b/lib/speakingurl.js @@ -1,248 +1,1559 @@ -"use strict"; -var charMapper = require('./utils/charmap'); -/** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ -exports.getSlug = function (input, opts) { - var separator = '-'; - var result = ''; - var diatricString = ''; - var convertSymbols = true; - var customReplacements = {}; - var maintainCase; - var titleCase; - var truncate; - var uricFlag; - var uricNoSlashFlag; - var markFlag; - var symbol; - var langChar; - var lucky; - var i; - var ch; - var l; - var lastCharWasSymbol; - var lastCharWasDiatric; - var allowedChars = ''; - if (typeof input !== 'string') { - return ''; +(function (factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } else if (typeof define === 'function' && define.amd) { + define(["require", "exports"], factory); } - if (typeof opts === 'string') { - separator = opts; - } - symbol = charMapper.symbolMap.en; - langChar = charMapper.langCharMap.en; - if (typeof opts === 'object') { - opts = opts; - maintainCase = opts.maintainCase || false; - customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; - truncate = (+opts.truncate > 1 && opts.truncate) || false; - uricFlag = opts.uric || false; - uricNoSlashFlag = opts.uricNoSlash || false; - markFlag = opts.mark || false; - convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; - separator = opts.separator || separator; - if (uricFlag) { - allowedChars += charMapper.uricChars; - } - if (uricNoSlashFlag) { - allowedChars += charMapper.uricNoSlashChars; - } - if (markFlag) { - allowedChars += charMapper.markChars; +})(function (require, exports) { + "use strict"; + /** + * charMap + * @type {Object} + */ + exports.charMap = { + // latin + 'À': 'A', + 'Á': 'A', + 'Â': 'A', + 'Ã': 'A', + 'Ä': 'Ae', + 'Å': 'A', + 'Æ': 'AE', + 'Ç': 'C', + 'È': 'E', + 'É': 'E', + 'Ê': 'E', + 'Ë': 'E', + 'Ì': 'I', + 'Í': 'I', + 'Î': 'I', + 'Ï': 'I', + 'Ð': 'D', + 'Ñ': 'N', + 'Ò': 'O', + 'Ó': 'O', + 'Ô': 'O', + 'Õ': 'O', + 'Ö': 'Oe', + 'Ő': 'O', + 'Ø': 'O', + 'Ù': 'U', + 'Ú': 'U', + 'Û': 'U', + 'Ü': 'Ue', + 'Ű': 'U', + 'Ý': 'Y', + 'Þ': 'TH', + 'ß': 'ss', + 'à': 'a', + 'á': 'a', + 'â': 'a', + 'ã': 'a', + 'ä': 'ae', + 'å': 'a', + 'æ': 'ae', + 'ç': 'c', + 'è': 'e', + 'é': 'e', + 'ê': 'e', + 'ë': 'e', + 'ì': 'i', + 'í': 'i', + 'î': 'i', + 'ï': 'i', + 'ð': 'd', + 'ñ': 'n', + 'ò': 'o', + 'ó': 'o', + 'ô': 'o', + 'õ': 'o', + 'ö': 'oe', + 'ő': 'o', + 'ø': 'o', + 'ù': 'u', + 'ú': 'u', + 'û': 'u', + 'ü': 'ue', + 'ű': 'u', + 'ý': 'y', + 'þ': 'th', + 'ÿ': 'y', + 'ẞ': 'SS', + // language specific + // Arabic + 'ا': 'a', + 'أ': 'a', + 'إ': 'i', + 'آ': 'aa', + 'ؤ': 'u', + 'ئ': 'e', + 'ء': 'a', + 'ب': 'b', + 'ت': 't', + 'ث': 'th', + 'ج': 'j', + 'ح': 'h', + 'خ': 'kh', + 'د': 'd', + 'ذ': 'th', + 'ر': 'r', + 'ز': 'z', + 'س': 's', + 'ش': 'sh', + 'ص': 's', + 'ض': 'dh', + 'ط': 't', + 'ظ': 'z', + 'ع': 'a', + 'غ': 'gh', + 'ف': 'f', + 'ق': 'q', + 'ك': 'k', + 'ل': 'l', + 'م': 'm', + 'ن': 'n', + 'ه': 'h', + 'و': 'w', + 'ي': 'y', + 'ى': 'a', + 'ة': 'h', + 'ﻻ': 'la', + 'ﻷ': 'laa', + 'ﻹ': 'lai', + 'ﻵ': 'laa', + // Persian additional characters than Arabic + 'گ': 'g', + 'چ': 'ch', + 'پ': 'p', + 'ژ': 'zh', + 'ک': 'k', + 'ی': 'y', + // Arabic diactrics + 'َ': 'a', + 'ً': 'an', + 'ِ': 'e', + 'ٍ': 'en', + 'ُ': 'u', + 'ٌ': 'on', + 'ْ': '', + // Arabic numbers + '٠': '0', + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + // Persian numbers + '۰': '0', + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + // Burmese consonants + 'က': 'k', + 'ခ': 'kh', + 'ဂ': 'g', + 'ဃ': 'ga', + 'င': 'ng', + 'စ': 's', + 'ဆ': 'sa', + 'ဇ': 'z', + 'စျ': 'za', + 'ည': 'ny', + 'ဋ': 't', + 'ဌ': 'ta', + 'ဍ': 'd', + 'ဎ': 'da', + 'ဏ': 'na', + 'တ': 't', + 'ထ': 'ta', + 'ဒ': 'd', + 'ဓ': 'da', + 'န': 'n', + 'ပ': 'p', + 'ဖ': 'pa', + 'ဗ': 'b', + 'ဘ': 'ba', + 'မ': 'm', + 'ယ': 'y', + 'ရ': 'ya', + 'လ': 'l', + 'ဝ': 'w', + 'သ': 'th', + 'ဟ': 'h', + 'ဠ': 'la', + 'အ': 'a', + // consonant character combos + 'ြ': 'y', + 'ျ': 'ya', + 'ွ': 'w', + 'ြွ': 'yw', + 'ျွ': 'ywa', + 'ှ': 'h', + // independent vowels + 'ဧ': 'e', + '၏': '-e', + 'ဣ': 'i', + 'ဤ': '-i', + 'ဉ': 'u', + 'ဦ': '-u', + 'ဩ': 'aw', + 'သြော': 'aw', + 'ဪ': 'aw', + // numbers + '၀': '0', + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + // virama and tone marks which are silent in transliteration + '္': '', + '့': '', + 'း': '', + // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z', + // Dhivehi + 'ހ': 'h', + 'ށ': 'sh', + 'ނ': 'n', + 'ރ': 'r', + 'ބ': 'b', + 'ޅ': 'lh', + 'ކ': 'k', + 'އ': 'a', + 'ވ': 'v', + 'މ': 'm', + 'ފ': 'f', + 'ދ': 'dh', + 'ތ': 'th', + 'ލ': 'l', + 'ގ': 'g', + 'ޏ': 'gn', + 'ސ': 's', + 'ޑ': 'd', + 'ޒ': 'z', + 'ޓ': 't', + 'ޔ': 'y', + 'ޕ': 'p', + 'ޖ': 'j', + 'ޗ': 'ch', + 'ޘ': 'tt', + 'ޙ': 'hh', + 'ޚ': 'kh', + 'ޛ': 'th', + 'ޜ': 'z', + 'ޝ': 'sh', + 'ޞ': 's', + 'ޟ': 'd', + 'ޠ': 't', + 'ޡ': 'z', + 'ޢ': 'a', + 'ޣ': 'gh', + 'ޤ': 'q', + 'ޥ': 'w', + 'ަ': 'a', + 'ާ': 'aa', + 'ި': 'i', + 'ީ': 'ee', + 'ު': 'u', + 'ޫ': 'oo', + 'ެ': 'e', + 'ޭ': 'ey', + 'ޮ': 'o', + 'ޯ': 'oa', + 'ް': '', + // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian + // National system (2002) + 'ა': 'a', + 'ბ': 'b', + 'გ': 'g', + 'დ': 'd', + 'ე': 'e', + 'ვ': 'v', + 'ზ': 'z', + 'თ': 't', + 'ი': 'i', + 'კ': 'k', + 'ლ': 'l', + 'მ': 'm', + 'ნ': 'n', + 'ო': 'o', + 'პ': 'p', + 'ჟ': 'zh', + 'რ': 'r', + 'ს': 's', + 'ტ': 't', + 'უ': 'u', + 'ფ': 'p', + 'ქ': 'k', + 'ღ': 'gh', + 'ყ': 'q', + 'შ': 'sh', + 'ჩ': 'ch', + 'ც': 'ts', + 'ძ': 'dz', + 'წ': 'ts', + 'ჭ': 'ch', + 'ხ': 'kh', + 'ჯ': 'j', + 'ჰ': 'h', + // Greek + 'α': 'a', + 'β': 'v', + 'γ': 'g', + 'δ': 'd', + 'ε': 'e', + 'ζ': 'z', + 'η': 'i', + 'θ': 'th', + 'ι': 'i', + 'κ': 'k', + 'λ': 'l', + 'μ': 'm', + 'ν': 'n', + 'ξ': 'ks', + 'ο': 'o', + 'π': 'p', + 'ρ': 'r', + 'σ': 's', + 'τ': 't', + 'υ': 'y', + 'φ': 'f', + 'χ': 'x', + 'ψ': 'ps', + 'ω': 'o', + 'ά': 'a', + 'έ': 'e', + 'ί': 'i', + 'ό': 'o', + 'ύ': 'y', + 'ή': 'i', + 'ώ': 'o', + 'ς': 's', + 'ϊ': 'i', + 'ΰ': 'y', + 'ϋ': 'y', + 'ΐ': 'i', + 'Α': 'A', + 'Β': 'B', + 'Γ': 'G', + 'Δ': 'D', + 'Ε': 'E', + 'Ζ': 'Z', + 'Η': 'I', + 'Θ': 'TH', + 'Ι': 'I', + 'Κ': 'K', + 'Λ': 'L', + 'Μ': 'M', + 'Ν': 'N', + 'Ξ': 'KS', + 'Ο': 'O', + 'Π': 'P', + 'Ρ': 'R', + 'Σ': 'S', + 'Τ': 'T', + 'Υ': 'Y', + 'Φ': 'F', + 'Χ': 'X', + 'Ψ': 'PS', + 'Ω': 'O', + 'Ά': 'A', + 'Έ': 'E', + 'Ί': 'I', + 'Ό': 'O', + 'Ύ': 'Y', + 'Ή': 'I', + 'Ώ': 'O', + 'Ϊ': 'I', + 'Ϋ': 'Y', + // Latvian + 'ā': 'a', + // 'č': 'c', // duplicate + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + // 'š': 's', // duplicate + 'ū': 'u', + // 'ž': 'z', // duplicate + 'Ā': 'A', + // 'Č': 'C', // duplicate + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'I', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + // 'Š': 'S', // duplicate + 'Ū': 'U', + // 'Ž': 'Z', // duplicate + // Macedonian + 'Ќ': 'Kj', + 'ќ': 'kj', + 'Љ': 'Lj', + 'љ': 'lj', + 'Њ': 'Nj', + 'њ': 'nj', + 'Тс': 'Ts', + 'тс': 'ts', + // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + // 'ó': 'o', // duplicate + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'E', + 'Ł': 'L', + 'Ń': 'N', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z', + // Ukranian + 'Є': 'Ye', + 'І': 'I', + 'Ї': 'Yi', + 'Ґ': 'G', + 'є': 'ye', + 'і': 'i', + 'ї': 'yi', + 'ґ': 'g', + // Romanian + 'ă': 'a', + 'Ă': 'A', + 'ș': 's', + 'Ș': 'S', + // 'ş': 's', // duplicate + // 'Ş': 'S', // duplicate + 'ț': 't', + 'Ț': 'T', + 'ţ': 't', + 'Ţ': 'T', + // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian + // ICAO + 'а': 'a', + 'б': 'b', + 'в': 'v', + 'г': 'g', + 'д': 'd', + 'е': 'e', + 'ё': 'yo', + 'ж': 'zh', + 'з': 'z', + 'и': 'i', + 'й': 'i', + 'к': 'k', + 'л': 'l', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'p', + 'р': 'r', + 'с': 's', + 'т': 't', + 'у': 'u', + 'ф': 'f', + 'х': 'kh', + 'ц': 'c', + 'ч': 'ch', + 'ш': 'sh', + 'щ': 'sh', + 'ъ': '', + 'ы': 'y', + 'ь': '', + 'э': 'e', + 'ю': 'yu', + 'я': 'ya', + 'А': 'A', + 'Б': 'B', + 'В': 'V', + 'Г': 'G', + 'Д': 'D', + 'Е': 'E', + 'Ё': 'Yo', + 'Ж': 'Zh', + 'З': 'Z', + 'И': 'I', + 'Й': 'I', + 'К': 'K', + 'Л': 'L', + 'М': 'M', + 'Н': 'N', + 'О': 'O', + 'П': 'P', + 'Р': 'R', + 'С': 'S', + 'Т': 'T', + 'У': 'U', + 'Ф': 'F', + 'Х': 'Kh', + 'Ц': 'C', + 'Ч': 'Ch', + 'Ш': 'Sh', + 'Щ': 'Sh', + 'Ъ': '', + 'Ы': 'Y', + 'Ь': '', + 'Э': 'E', + 'Ю': 'Yu', + 'Я': 'Ya', + // Serbian + 'ђ': 'dj', + 'ј': 'j', + // 'љ': 'lj', // duplicate + // 'њ': 'nj', // duplicate + 'ћ': 'c', + 'џ': 'dz', + 'Ђ': 'Dj', + 'Ј': 'j', + // 'Љ': 'Lj', // duplicate + // 'Њ': 'Nj', // duplicate + 'Ћ': 'C', + 'Џ': 'Dz', + // Slovak + 'ľ': 'l', + 'ĺ': 'l', + 'ŕ': 'r', + 'Ľ': 'L', + 'Ĺ': 'L', + 'Ŕ': 'R', + // Turkish + 'ş': 's', + 'Ş': 'S', + 'ı': 'i', + 'İ': 'I', + // 'ç': 'c', // duplicate + // 'Ç': 'C', // duplicate + // 'ü': 'u', // duplicate, see langCharMap + // 'Ü': 'U', // duplicate, see langCharMap + // 'ö': 'o', // duplicate, see langCharMap + // 'Ö': 'O', // duplicate, see langCharMap + 'ğ': 'g', + 'Ğ': 'G', + // Vietnamese + 'ả': 'a', + 'Ả': 'A', + 'ẳ': 'a', + 'Ẳ': 'A', + 'ẩ': 'a', + 'Ẩ': 'A', + 'đ': 'd', + 'Đ': 'D', + 'ẹ': 'e', + 'Ẹ': 'E', + 'ẽ': 'e', + 'Ẽ': 'E', + 'ẻ': 'e', + 'Ẻ': 'E', + 'ế': 'e', + 'Ế': 'E', + 'ề': 'e', + 'Ề': 'E', + 'ệ': 'e', + 'Ệ': 'E', + 'ễ': 'e', + 'Ễ': 'E', + 'ể': 'e', + 'Ể': 'E', + 'ỏ': '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', + 'ị': 'i', + 'Ị': 'I', + 'ĩ': 'i', + 'Ĩ': 'I', + 'ỉ': 'i', + 'Ỉ': 'i', + 'ủ': 'u', + 'Ủ': 'U', + 'ụ': 'u', + 'Ụ': 'U', + 'ũ': 'u', + 'Ũ': 'U', + 'ư': 'u', + 'Ư': 'U', + 'ứ': 'u', + 'Ứ': 'U', + 'ừ': 'u', + 'Ừ': 'U', + 'ự': 'u', + 'Ự': 'U', + 'ữ': 'u', + 'Ữ': 'U', + 'ử': 'u', + 'Ử': 'ư', + 'ỷ': 'y', + 'Ỷ': 'y', + 'ỳ': 'y', + 'Ỳ': 'Y', + 'ỵ': 'y', + 'Ỵ': 'Y', + 'ỹ': 'y', + 'Ỹ': 'Y', + 'ạ': 'a', + 'Ạ': 'A', + 'ấ': 'a', + 'Ấ': 'A', + 'ầ': 'a', + 'Ầ': 'A', + 'ậ': 'a', + 'Ậ': 'A', + 'ẫ': 'a', + 'Ẫ': 'A', + // 'ă': 'a', // duplicate + // 'Ă': 'A', // duplicate + 'ắ': 'a', + 'Ắ': 'A', + 'ằ': 'a', + 'Ằ': 'A', + 'ặ': 'a', + 'Ặ': 'A', + 'ẵ': 'a', + 'Ẵ': 'A', + "⓪": "0", + "①": "1", + "②": "2", + "③": "3", + "④": "4", + "⑤": "5", + "⑥": "6", + "⑦": "7", + "⑧": "8", + "⑨": "9", + "⑩": "10", + "⑪": "11", + "⑫": "12", + "⑬": "13", + "⑭": "14", + "⑮": "15", + "⑯": "16", + "⑰": "17", + "⑱": "18", + "⑲": "18", + "⑳": "18", + "⓵": "1", + "⓶": "2", + "⓷": "3", + "⓸": "4", + "⓹": "5", + "⓺": "6", + "⓻": "7", + "⓼": "8", + "⓽": "9", + "⓾": "10", + "⓿": "0", + "⓫": "11", + "⓬": "12", + "⓭": "13", + "⓮": "14", + "⓯": "15", + "⓰": "16", + "⓱": "17", + "⓲": "18", + "⓳": "19", + "⓴": "20", + "Ⓐ": "A", + "Ⓑ": "B", + "Ⓒ": "C", + "Ⓓ": "D", + "Ⓔ": "E", + "Ⓕ": "F", + "Ⓖ": "G", + "Ⓗ": "H", + "Ⓘ": "I", + "Ⓙ": "J", + "Ⓚ": "K", + "Ⓛ": "L", + "Ⓜ": "M", + "Ⓝ": "N", + "Ⓞ": "O", + "Ⓟ": "P", + "Ⓠ": "Q", + "Ⓡ": "R", + "Ⓢ": "S", + "Ⓣ": "T", + "Ⓤ": "U", + "Ⓥ": "V", + "Ⓦ": "W", + "Ⓧ": "X", + "Ⓨ": "Y", + "Ⓩ": "Z", + "ⓐ": "a", + "ⓑ": "b", + "ⓒ": "c", + "ⓓ": "d", + "ⓔ": "e", + "ⓕ": "f", + "ⓖ": "g", + "ⓗ": "h", + "ⓘ": "i", + "ⓙ": "j", + "ⓚ": "k", + "ⓛ": "l", + "ⓜ": "m", + "ⓝ": "n", + "ⓞ": "o", + "ⓟ": "p", + "ⓠ": "q", + "ⓡ": "r", + "ⓢ": "s", + "ⓣ": "t", + "ⓤ": "u", + "ⓦ": "v", + "ⓥ": "w", + "ⓧ": "x", + "ⓨ": "y", + "ⓩ": "z", + // symbols + '“': '"', + '”': '"', + '‘': "'", + '’': "'", + '∂': 'd', + 'ƒ': 'f', + '™': '(TM)', + '©': '(C)', + 'œ': 'oe', + 'Œ': 'OE', + '®': '(R)', + '†': '+', + '℠': '(SM)', + '…': '...', + '˚': 'o', + 'º': 'o', + 'ª': 'a', + '•': '*', + '၊': ',', + '။': '.', + // currency + '$': 'USD', + '€': 'EUR', + '₢': 'BRN', + '₣': 'FRF', + '£': 'GBP', + '₤': 'ITL', + '₦': 'NGN', + '₧': 'ESP', + '₩': 'KRW', + '₪': 'ILS', + '₫': 'VND', + '₭': 'LAK', + '₮': 'MNT', + '₯': 'GRD', + '₱': 'ARS', + '₲': 'PYG', + '₳': 'ARA', + '₴': 'UAH', + '₵': 'GHS', + '¢': 'cent', + '¥': 'CNY', + '元': 'CNY', + '円': 'YEN', + '﷼': 'IRR', + '₠': 'EWE', + '฿': 'THB', + '₨': 'INR', + '₹': 'INR', + '₰': 'PF', + '₺': 'TRY', + '؋': 'AFN', + '₼': 'AZN', + 'лв': 'BGN', + '៛': 'KHR', + '₡': 'CRC', + '₸': 'KZT', + 'ден': 'MKD', + 'zł': 'PLN', + '₽': 'RUB', + '₾': 'GEL' + }; + /** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ + exports.lookAheadCharArray = [ + // burmese + '်', + // Dhivehi + 'ް' + ]; + /** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ + exports.diatricMap = { + // Burmese + // dependent vowels + 'ာ': 'a', + 'ါ': 'a', + 'ေ': 'e', + 'ဲ': 'e', + 'ိ': 'i', + 'ီ': 'i', + 'ို': 'o', + 'ု': 'u', + 'ူ': 'u', + 'ေါင်': 'aung', + 'ော': 'aw', + 'ော်': 'aw', + 'ေါ': 'aw', + 'ေါ်': 'aw', + '်': '်', + 'က်': 'et', + 'ိုက်': 'aik', + 'ောက်': 'auk', + 'င်': 'in', + 'ိုင်': 'aing', + 'ောင်': 'aung', + 'စ်': 'it', + 'ည်': 'i', + 'တ်': 'at', + 'ိတ်': 'eik', + 'ုတ်': 'ok', + 'ွတ်': 'ut', + 'ေတ်': 'it', + 'ဒ်': 'd', + 'ိုဒ်': 'ok', + 'ုဒ်': 'ait', + 'န်': 'an', + 'ာန်': 'an', + 'ိန်': 'ein', + 'ုန်': 'on', + 'ွန်': 'un', + 'ပ်': 'at', + 'ိပ်': 'eik', + 'ုပ်': 'ok', + 'ွပ်': 'ut', + 'န်ုပ်': 'nub', + 'မ်': 'an', + 'ိမ်': 'ein', + 'ုမ်': 'on', + 'ွမ်': 'un', + 'ယ်': 'e', + 'ိုလ်': 'ol', + 'ဉ်': 'in', + 'ံ': 'an', + 'ိံ': 'ein', + 'ုံ': 'on', + // Dhivehi + 'ައް': 'ah', + 'ަށް': 'ah' + }; + /** + * langCharMap language specific characters translations + * @type {Object} + */ + exports.langCharMap = { + 'en': {}, + 'az': { + 'ç': 'c', + 'ə': 'e', + 'ğ': 'g', + 'ı': 'i', + 'ö': 'o', + 'ş': 's', + 'ü': 'u', + 'Ç': 'C', + 'Ə': 'E', + 'Ğ': 'G', + 'İ': 'I', + 'Ö': 'O', + 'Ş': 'S', + 'Ü': 'U' + }, + 'cs': { + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z' + }, + 'fi': { + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', + 'Ä': 'A', + 'ö': 'o', + 'Ö': 'O' // ok + }, + 'hu': { + 'ä': 'a', + 'Ä': 'A', + // 'á': 'a', duplicate see charMap/latin + // 'Á': 'A', duplicate see charMap/latin + 'ö': 'o', + 'Ö': 'O', + // 'ő': 'o', duplicate see charMap/latin + // 'Ő': 'O', duplicate see charMap/latin + 'ü': 'u', + 'Ü': 'U', + 'ű': 'u', + 'Ű': 'U' + }, + 'lt': { + 'ą': 'a', + 'č': 'c', + 'ę': 'e', + 'ė': 'e', + 'į': 'i', + 'š': 's', + 'ų': 'u', + 'ū': 'u', + 'ž': 'z', + 'Ą': 'A', + 'Č': 'C', + 'Ę': 'E', + 'Ė': 'E', + 'Į': 'I', + 'Š': 'S', + 'Ų': 'U', + 'Ū': 'U' + }, + 'lv': { + 'ā': 'a', + 'č': 'c', + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + 'š': 's', + 'ū': 'u', + 'ž': 'z', + 'Ā': 'A', + 'Č': 'C', + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'i', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + 'Š': 'S', + 'Ū': 'u', + 'Ž': 'Z' + }, + 'pl': { + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + 'ó': 'o', + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'e', + 'Ł': 'L', + 'Ń': 'N', + 'Ó': 'O', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z' + }, + 'sv': { + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', + 'Ä': 'A', + 'ö': 'o', + 'Ö': 'O' // ok + }, + 'sk': { + 'ä': 'a', + 'Ä': 'A' + }, + 'sr': { + 'љ': 'lj', + 'њ': 'nj', + 'Љ': 'Lj', + 'Њ': 'Nj', + 'đ': 'dj', + 'Đ': 'Dj' + }, + 'tr': { + 'Ü': 'U', + 'Ö': 'O', + 'ü': 'u', + 'ö': 'o' } - symbol = (opts.lang && charMapper.symbolMap[opts.lang] && convertSymbols) ? - charMapper.symbolMap[opts.lang] : (convertSymbols ? charMapper.symbolMap.en : {}); - langChar = (opts.lang && charMapper.langCharMap[opts.lang]) ? - charMapper.langCharMap[opts.lang] : - opts.lang === false || opts.lang === true ? {} : charMapper.langCharMap.en; - // if titleCase config is an Array, rewrite to object format - if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { - opts.titleCase = opts.titleCase; - opts.titleCase.forEach(function (v) { - customReplacements[v + ''] = v + ''; - }); - titleCase = true; + }; + /** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ + exports.symbolMap = { + 'ar': { + '∆': 'delta', + '∞': 'la-nihaya', + '♥': 'hob', + '&': 'wa', + '|': 'aw', + '<': 'aqal-men', + '>': 'akbar-men', + '∑': 'majmou', + '¤': 'omla' + }, + 'az': {}, + 'ca': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'amor', + '&': 'i', + '|': 'o', + '<': 'menys que', + '>': 'mes que', + '∑': 'suma dels', + '¤': 'moneda' + }, + 'cs': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'nebo', + '<': 'mensi nez', + '>': 'vetsi nez', + '∑': 'soucet', + '¤': 'mena' + }, + 'de': { + '∆': 'delta', + '∞': 'unendlich', + '♥': 'Liebe', + '&': 'und', + '|': 'oder', + '<': 'kleiner als', + '>': 'groesser als', + '∑': 'Summe von', + '¤': 'Waehrung' + }, + 'dv': { + '∆': 'delta', + '∞': 'kolunulaa', + '♥': 'loabi', + '&': 'aai', + '|': 'noonee', + '<': 'ah vure kuda', + '>': 'ah vure bodu', + '∑': 'jumula', + '¤': 'faisaa' + }, + 'en': { + '∆': 'delta', + '∞': 'infinity', + '♥': 'love', + '&': 'and', + '|': 'or', + '<': 'less than', + '>': 'greater than', + '∑': 'sum', + '¤': 'currency' + }, + 'es': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'y', + '|': 'u', + '<': 'menos que', + '>': 'mas que', + '∑': 'suma de los', + '¤': 'moneda' + }, + 'fa': { + '∆': 'delta', + '∞': 'bi-nahayat', + '♥': 'eshgh', + '&': 'va', + '|': 'ya', + '<': 'kamtar-az', + '>': 'bishtar-az', + '∑': 'majmooe', + '¤': 'vahed' + }, + 'fi': { + '∆': 'delta', + '∞': 'aarettomyys', + '♥': 'rakkaus', + '&': 'ja', + '|': 'tai', + '<': 'pienempi kuin', + '>': 'suurempi kuin', + '∑': 'summa', + '¤': 'valuutta' + }, + 'fr': { + '∆': 'delta', + '∞': 'infiniment', + '♥': 'Amour', + '&': 'et', + '|': 'ou', + '<': 'moins que', + '>': 'superieure a', + '∑': 'somme des', + '¤': 'monnaie' + }, + 'ge': { + '∆': 'delta', + '∞': 'usasruloba', + '♥': 'siqvaruli', + '&': 'da', + '|': 'an', + '<': 'naklebi', + '>': 'meti', + '∑': 'jami', + '¤': 'valuta' + }, + 'gr': {}, + 'hu': { + '∆': 'delta', + '∞': 'vegtelen', + '♥': 'szerelem', + '&': 'es', + '|': 'vagy', + '<': 'kisebb mint', + '>': 'nagyobb mint', + '∑': 'szumma', + '¤': 'penznem' + }, + 'it': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amore', + '&': 'e', + '|': 'o', + '<': 'minore di', + '>': 'maggiore di', + '∑': 'somma', + '¤': 'moneta' + }, + 'lt': { + '∆': 'delta', + '∞': 'begalybe', + '♥': 'meile', + '&': 'ir', + '|': 'ar', + '<': 'maziau nei', + '>': 'daugiau nei', + '∑': 'suma', + '¤': 'valiuta' + }, + 'lv': { + '∆': 'delta', + '∞': 'bezgaliba', + '♥': 'milestiba', + '&': 'un', + '|': 'vai', + '<': 'mazak neka', + '>': 'lielaks neka', + '∑': 'summa', + '¤': 'valuta' + }, + 'my': { + '∆': 'kwahkhyaet', + '∞': 'asaonasme', + '♥': 'akhyait', + '&': 'nhin', + '|': 'tho', + '<': 'ngethaw', + '>': 'kyithaw', + '∑': 'paungld', + '¤': 'ngwekye' + }, + 'mk': {}, + 'nl': { + '∆': 'delta', + '∞': 'oneindig', + '♥': 'liefde', + '&': 'en', + '|': 'of', + '<': 'kleiner dan', + '>': 'groter dan', + '∑': 'som', + '¤': 'valuta' + }, + 'pl': { + '∆': 'delta', + '∞': 'nieskonczonosc', + '♥': 'milosc', + '&': 'i', + '|': 'lub', + '<': 'mniejsze niz', + '>': 'wieksze niz', + '∑': 'suma', + '¤': 'waluta' + }, + 'pt': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'e', + '|': 'ou', + '<': 'menor que', + '>': 'maior que', + '∑': 'soma', + '¤': 'moeda' + }, + 'ro': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'dragoste', + '&': 'si', + '|': 'sau', + '<': 'mai mic ca', + '>': 'mai mare ca', + '∑': 'suma', + '¤': 'valuta' + }, + 'ru': { + '∆': 'delta', + '∞': 'beskonechno', + '♥': 'lubov', + '&': 'i', + '|': 'ili', + '<': 'menshe', + '>': 'bolshe', + '∑': 'summa', + '¤': 'valjuta' + }, + 'sk': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'alebo', + '<': 'menej ako', + '>': 'viac ako', + '∑': 'sucet', + '¤': 'mena' + }, + 'sr': {}, + 'tr': { + '∆': 'delta', + '∞': 'sonsuzluk', + '♥': 'ask', + '&': 've', + '|': 'veya', + '<': 'kucuktur', + '>': 'buyuktur', + '∑': 'toplam', + '¤': 'para birimi' + }, + 'uk': { + '∆': 'delta', + '∞': 'bezkinechnist', + '♥': 'lubov', + '&': 'i', + '|': 'abo', + '<': 'menshe', + '>': 'bilshe', + '∑': 'suma', + '¤': 'valjuta' + }, + 'vn': { + '∆': 'delta', + '∞': 'vo cuc', + '♥': 'yeu', + '&': 'va', + '|': 'hoac', + '<': 'nho hon', + '>': 'lon hon', + '∑': 'tong', + '¤': 'tien te' } - else { - titleCase = !!opts.titleCase; + }; + exports.uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); + exports.uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); + exports.markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); + /** + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ + exports.getSlug = function (input, opts) { + var separator = '-'; + var result = ''; + var diatricString = ''; + var convertSymbols = true; + var customReplacements = {}; + var maintainCase; + var titleCase; + var truncate; + var uricFlag; + var uricNoSlashFlag; + var markFlag; + var symbol; + var langChar; + var lucky; + var i; + var ch; + var l; + var lastCharWasSymbol; + var lastCharWasDiatric; + var allowedChars = ''; + if (typeof input !== 'string') { + return ''; } - // if custom config is an Array, rewrite to object format - if (opts.custom && Array.isArray(opts.custom) && typeof opts.custom.length === 'number' && Array.prototype.toString.call(opts.custom)) { - opts.custom = opts.custom; - opts.custom.forEach(function (v) { - customReplacements[v + ''] = v + ''; - }); + if (typeof opts === 'string') { + separator = opts; } - // custom replacements - Object.keys(customReplacements).forEach(function (v) { - var r; - if (v.length > 1) { - r = new RegExp('\\b' + exports.escapeChars(v) + '\\b', 'gi'); + symbol = exports.symbolMap.en; + langChar = exports.langCharMap.en; + if (typeof opts === 'object') { + opts = opts; + maintainCase = opts.maintainCase || false; + customReplacements = (opts.custom && typeof opts.custom === 'object') ? opts.custom : customReplacements; + truncate = (+opts.truncate > 1 && opts.truncate) || false; + uricFlag = opts.uric || false; + uricNoSlashFlag = opts.uricNoSlash || false; + markFlag = opts.mark || false; + convertSymbols = (opts.symbols === false || opts.lang === false) ? false : true; + separator = opts.separator || separator; + if (uricFlag) { + allowedChars += exports.uricChars; } - else { - r = new RegExp(exports.escapeChars(v), 'gi'); + if (uricNoSlashFlag) { + allowedChars += exports.uricNoSlashChars; } - input = input.replace(r, customReplacements[v]); - }); - // add all custom replacement to allowed charlist - for (ch in customReplacements) { - allowedChars += ch; - } - } - allowedChars += separator; - // escape all necessary chars - allowedChars = exports.escapeChars(allowedChars); - // trim whitespaces - input = input.replace(/(^\s+|\s+$)/g, ''); - lastCharWasSymbol = false; - lastCharWasDiatric = false; - for (i = 0, l = input.length; i < l; i++) { - ch = input[i]; - if (exports.isReplacedCustomChar(ch, customReplacements)) { - // don't convert a already converted char - lastCharWasSymbol = false; - } - else if (langChar[ch]) { - // process language specific diactrics chars conversion - ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; - lastCharWasSymbol = false; - } - else if (ch in charMapper.charMap) { - // the transliteration changes entirely when some special characters are added - if (i + 1 < l && charMapper.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { - diatricString += ch; - ch = ''; + if (markFlag) { + allowedChars += exports.markChars; } - else if (lastCharWasDiatric === true) { - ch = charMapper.diatricMap[diatricString] + charMapper.charMap[ch]; - diatricString = ''; + symbol = (opts.lang && exports.symbolMap[opts.lang] && convertSymbols) ? + exports.symbolMap[opts.lang] : (convertSymbols ? exports.symbolMap.en : {}); + langChar = (opts.lang && exports.langCharMap[opts.lang]) ? + exports.langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : exports.langCharMap.en; + // if titleCase config is an Array, rewrite to object format + if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { + opts.titleCase = opts.titleCase; + opts.titleCase.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); + titleCase = true; + } else { + titleCase = !!opts.titleCase; } - else { - // process diactrics chars - ch = lastCharWasSymbol && charMapper.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMapper.charMap[ch] : charMapper.charMap[ch]; + // if custom config is an Array, rewrite to object format + if (opts.custom && Array.isArray(opts.custom) && typeof opts.custom.length === 'number' && Array.prototype.toString.call(opts.custom)) { + opts.custom = opts.custom; + opts.custom.forEach(function (v) { + customReplacements[v + ''] = v + ''; + }); } - lastCharWasSymbol = false; - lastCharWasDiatric = false; - } - else if (ch in charMapper.diatricMap) { - diatricString += ch; - ch = ''; - // end of string, put the whole meaningful word - if (i === l - 1) { - ch = charMapper.diatricMap[diatricString]; + // custom replacements + Object.keys(customReplacements).forEach(function (v) { + var r; + if (v.length > 1) { + r = new RegExp('\\b' + exports.escapeChars(v) + '\\b', 'gi'); + } else { + r = new RegExp(exports.escapeChars(v), 'gi'); + } + input = input.replace(r, customReplacements[v]); + }); + // add all custom replacement to allowed charlist + for (ch in customReplacements) { + allowedChars += ch; } - lastCharWasDiatric = true; - } - else if ( - // process symbol chars - symbol[ch] && !(uricFlag && charMapper.uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars - .indexOf(ch) !== -1)) { - ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; - ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; - lastCharWasSymbol = true; } - else { - if (lastCharWasDiatric === true) { - ch = charMapper.diatricMap[diatricString] + ch; - diatricString = ''; + allowedChars += separator; + // escape all necessary chars + allowedChars = exports.escapeChars(allowedChars); + // trim whitespaces + input = input.replace(/(^\s+|\s+$)/g, ''); + lastCharWasSymbol = false; + lastCharWasDiatric = false; + for (i = 0, l = input.length; i < l; i++) { + ch = input[i]; + if (exports.isReplacedCustomChar(ch, customReplacements)) { + // don't convert a already converted char + lastCharWasSymbol = false; + } else if (langChar[ch]) { + // process language specific diactrics chars conversion + ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; + lastCharWasSymbol = false; + } else if (ch in exports.charMap) { + // the transliteration changes entirely when some special characters are added + if (i + 1 < l && exports.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + diatricString += ch; + ch = ''; + } else if (lastCharWasDiatric === true) { + ch = exports.diatricMap[diatricString] + exports.charMap[ch]; + diatricString = ''; + } else { + // process diactrics chars + ch = lastCharWasSymbol && exports.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + exports.charMap[ch] : exports.charMap[ch]; + } + lastCharWasSymbol = false; lastCharWasDiatric = false; + } else if (ch in exports.diatricMap) { + diatricString += ch; + ch = ''; + // end of string, put the whole meaningful word + if (i === l - 1) { + ch = exports.diatricMap[diatricString]; + } + lastCharWasDiatric = true; + } else if ( + // process symbol chars + symbol[ch] && !(uricFlag && exports.uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && exports.uricNoSlashChars + .indexOf(ch) !== -1)) { + ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; + ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; + lastCharWasSymbol = true; + } else { + if (lastCharWasDiatric === true) { + ch = exports.diatricMap[diatricString] + ch; + diatricString = ''; + lastCharWasDiatric = false; + } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + // process latin chars + ch = ' ' + ch; + } + lastCharWasSymbol = false; } - else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { - // process latin chars - ch = ' ' + ch; + // add allowed chars + result += ch.replace(new RegExp('[^\\w\\s' + allowedChars + '_-]', 'g'), separator); + } + if (titleCase) { + result = result.replace(/(\w)(\S*)/g, function (_, i, r) { + var j = i.toUpperCase() + (r !== null ? r : ''); + return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); + }); + } + // eliminate duplicate separators + // add separator + // trim separators from start and end + result = result.replace(/\s+/g, separator) + .replace(new RegExp('\\' + separator + '+', 'g'), separator) + .replace(new RegExp('(^\\' + separator + '+|\\' + separator + '+$)', 'g'), ''); + if (truncate && result.length > truncate) { + lucky = result.charAt(truncate) === separator; + result = result.slice(0, truncate); + if (!lucky) { + result = result.slice(0, result.lastIndexOf(separator)); } - lastCharWasSymbol = false; } - // add allowed chars - result += ch.replace(new RegExp('[^\\w\\s' + allowedChars + '_-]', 'g'), separator); - } - if (titleCase) { - result = result.replace(/(\w)(\S*)/g, function (_, i, r) { - var j = i.toUpperCase() + (r !== null ? r : ''); - return (Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase(); - }); - } - // eliminate duplicate separators - // add separator - // trim separators from start and end - result = result.replace(/\s+/g, separator) - .replace(new RegExp('\\' + separator + '+', 'g'), separator) - .replace(new RegExp('(^\\' + separator + '+|\\' + separator + '+$)', 'g'), ''); - if (truncate && result.length > truncate) { - lucky = result.charAt(truncate) === separator; - result = result.slice(0, truncate); - if (!lucky) { - result = result.slice(0, result.lastIndexOf(separator)); + if (!maintainCase && !titleCase) { + result = result.toLowerCase(); } - } - if (!maintainCase && !titleCase) { - result = result.toLowerCase(); - } - return result; -}; -/** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ -exports.createSlug = function (opts) { + return result; + }; + /** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ + exports.createSlug = function (opts) { + /** + * getSlugWithConfig + * @param {string} input string + * @return {string} slug string + */ + return function getSlugWithConfig(input) { + return exports.getSlug(input, opts); + }; + }; /** - * getSlugWithConfig + * escape Chars * @param {string} input string - * @return {string} slug string */ - return function getSlugWithConfig(input) { - return exports.getSlug(input, opts); + exports.escapeChars = function (input) { + return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); }; -}; -/** - * escape Chars - * @param {string} input string - */ -exports.escapeChars = function (input) { - return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); -}; -/** - * check if the char is an already converted char from custom list - * @param {char} ch character to check - * @param {object} customReplacements custom translation map - */ -exports.isReplacedCustomChar = function (ch, customReplacements) { - for (var c in customReplacements) { - if (customReplacements[c] === ch) { - return true; + /** + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map + */ + exports.isReplacedCustomChar = function (ch, customReplacements) { + for (var c in customReplacements) { + if (customReplacements[c] === ch) { + return true; + } } - } -}; -(function () { - var exportables = [exports.createSlug, exports.getSlug, exports.isReplacedCustomChar, exports.escapeChars]; - // Node: Export function - if (typeof module !== "undefined" && module.exports) { - exportables.forEach(function (exp) { - return module.exports[nameof(exp)] = exp; - }); - } - else if (typeof exports.define === 'function' && exports.define.amd) { - exportables.forEach(function (exp) { - return exports.define(function () { return exp; }); - }); - } - else if (window) { - exportables.forEach(function (exp) { - return window[nameof(exp)] = exp; - }); - } - function nameof(fn) { - return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (function () { - var result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); - return !result ? '' : result[1]; - })(); - } -}()); + }; +}); //# sourceMappingURL=speakingurl.js.map \ No newline at end of file diff --git a/lib/speakingurl.js.map b/lib/speakingurl.js.map index 316ccba..fa38381 100644 --- a/lib/speakingurl.js.map +++ b/lib/speakingurl.js.map @@ -1 +1 @@ -{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["../src/speakingurl.ts"],"names":[],"mappings":"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,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QAER,QAAQ;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG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,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QAER,aAAa;QACb,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,yBAAyB;QACzB,yBAAyB;QACzB,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QAET,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QAET,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QAET,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QAER,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAA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"} \ No newline at end of file diff --git a/lib/utils/charmap.js b/lib/utils/charmap.js deleted file mode 100644 index dba70cf..0000000 --- a/lib/utils/charmap.js +++ /dev/null @@ -1,1340 +0,0 @@ -"use strict"; -/** - * charMap - * @type {Object} - */ -exports.charMap = { - // latin - 'À': 'A', - 'Á': 'A', - 'Â': 'A', - 'Ã': 'A', - 'Ä': 'Ae', - 'Å': 'A', - 'Æ': 'AE', - 'Ç': 'C', - 'È': 'E', - 'É': 'E', - 'Ê': 'E', - 'Ë': 'E', - 'Ì': 'I', - 'Í': 'I', - 'Î': 'I', - 'Ï': 'I', - 'Ð': 'D', - 'Ñ': 'N', - 'Ò': 'O', - 'Ó': 'O', - 'Ô': 'O', - 'Õ': 'O', - 'Ö': 'Oe', - 'Ő': 'O', - 'Ø': 'O', - 'Ù': 'U', - 'Ú': 'U', - 'Û': 'U', - 'Ü': 'Ue', - 'Ű': 'U', - 'Ý': 'Y', - 'Þ': 'TH', - 'ß': 'ss', - 'à': 'a', - 'á': 'a', - 'â': 'a', - 'ã': 'a', - 'ä': 'ae', - 'å': 'a', - 'æ': 'ae', - 'ç': 'c', - 'è': 'e', - 'é': 'e', - 'ê': 'e', - 'ë': 'e', - 'ì': 'i', - 'í': 'i', - 'î': 'i', - 'ï': 'i', - 'ð': 'd', - 'ñ': 'n', - 'ò': 'o', - 'ó': 'o', - 'ô': 'o', - 'õ': 'o', - 'ö': 'oe', - 'ő': 'o', - 'ø': 'o', - 'ù': 'u', - 'ú': 'u', - 'û': 'u', - 'ü': 'ue', - 'ű': 'u', - 'ý': 'y', - 'þ': 'th', - 'ÿ': 'y', - 'ẞ': 'SS', - // language specific - // Arabic - 'ا': 'a', - 'أ': 'a', - 'إ': 'i', - 'آ': 'aa', - 'ؤ': 'u', - 'ئ': 'e', - 'ء': 'a', - 'ب': 'b', - 'ت': 't', - 'ث': 'th', - 'ج': 'j', - 'ح': 'h', - 'خ': 'kh', - 'د': 'd', - 'ذ': 'th', - 'ر': 'r', - 'ز': 'z', - 'س': 's', - 'ش': 'sh', - 'ص': 's', - 'ض': 'dh', - 'ط': 't', - 'ظ': 'z', - 'ع': 'a', - 'غ': 'gh', - 'ف': 'f', - 'ق': 'q', - 'ك': 'k', - 'ل': 'l', - 'م': 'm', - 'ن': 'n', - 'ه': 'h', - 'و': 'w', - 'ي': 'y', - 'ى': 'a', - 'ة': 'h', - 'ﻻ': 'la', - 'ﻷ': 'laa', - 'ﻹ': 'lai', - 'ﻵ': 'laa', - // Persian additional characters than Arabic - 'گ': 'g', - 'چ': 'ch', - 'پ': 'p', - 'ژ': 'zh', - 'ک': 'k', - 'ی': 'y', - // Arabic diactrics - 'َ': 'a', - 'ً': 'an', - 'ِ': 'e', - 'ٍ': 'en', - 'ُ': 'u', - 'ٌ': 'on', - 'ْ': '', - // Arabic numbers - '٠': '0', - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - // Persian numbers - '۰': '0', - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - // Burmese consonants - 'က': 'k', - 'ခ': 'kh', - 'ဂ': 'g', - 'ဃ': 'ga', - 'င': 'ng', - 'စ': 's', - 'ဆ': 'sa', - 'ဇ': 'z', - 'စျ': 'za', - 'ည': 'ny', - 'ဋ': 't', - 'ဌ': 'ta', - 'ဍ': 'd', - 'ဎ': 'da', - 'ဏ': 'na', - 'တ': 't', - 'ထ': 'ta', - 'ဒ': 'd', - 'ဓ': 'da', - 'န': 'n', - 'ပ': 'p', - 'ဖ': 'pa', - 'ဗ': 'b', - 'ဘ': 'ba', - 'မ': 'm', - 'ယ': 'y', - 'ရ': 'ya', - 'လ': 'l', - 'ဝ': 'w', - 'သ': 'th', - 'ဟ': 'h', - 'ဠ': 'la', - 'အ': 'a', - // consonant character combos - 'ြ': 'y', - 'ျ': 'ya', - 'ွ': 'w', - 'ြွ': 'yw', - 'ျွ': 'ywa', - 'ှ': 'h', - // independent vowels - 'ဧ': 'e', - '၏': '-e', - 'ဣ': 'i', - 'ဤ': '-i', - 'ဉ': 'u', - 'ဦ': '-u', - 'ဩ': 'aw', - 'သြော': 'aw', - 'ဪ': 'aw', - // numbers - '၀': '0', - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - // virama and tone marks which are silent in transliteration - '္': '', - '့': '', - 'း': '', - // Czech - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z', - // Dhivehi - 'ހ': 'h', - 'ށ': 'sh', - 'ނ': 'n', - 'ރ': 'r', - 'ބ': 'b', - 'ޅ': 'lh', - 'ކ': 'k', - 'އ': 'a', - 'ވ': 'v', - 'މ': 'm', - 'ފ': 'f', - 'ދ': 'dh', - 'ތ': 'th', - 'ލ': 'l', - 'ގ': 'g', - 'ޏ': 'gn', - 'ސ': 's', - 'ޑ': 'd', - 'ޒ': 'z', - 'ޓ': 't', - 'ޔ': 'y', - 'ޕ': 'p', - 'ޖ': 'j', - 'ޗ': 'ch', - 'ޘ': 'tt', - 'ޙ': 'hh', - 'ޚ': 'kh', - 'ޛ': 'th', - 'ޜ': 'z', - 'ޝ': 'sh', - 'ޞ': 's', - 'ޟ': 'd', - 'ޠ': 't', - 'ޡ': 'z', - 'ޢ': 'a', - 'ޣ': 'gh', - 'ޤ': 'q', - 'ޥ': 'w', - 'ަ': 'a', - 'ާ': 'aa', - 'ި': 'i', - 'ީ': 'ee', - 'ު': 'u', - 'ޫ': 'oo', - 'ެ': 'e', - 'ޭ': 'ey', - 'ޮ': 'o', - 'ޯ': 'oa', - 'ް': '', - // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian - // National system (2002) - 'ა': 'a', - 'ბ': 'b', - 'გ': 'g', - 'დ': 'd', - 'ე': 'e', - 'ვ': 'v', - 'ზ': 'z', - 'თ': 't', - 'ი': 'i', - 'კ': 'k', - 'ლ': 'l', - 'მ': 'm', - 'ნ': 'n', - 'ო': 'o', - 'პ': 'p', - 'ჟ': 'zh', - 'რ': 'r', - 'ს': 's', - 'ტ': 't', - 'უ': 'u', - 'ფ': 'p', - 'ქ': 'k', - 'ღ': 'gh', - 'ყ': 'q', - 'შ': 'sh', - 'ჩ': 'ch', - 'ც': 'ts', - 'ძ': 'dz', - 'წ': 'ts', - 'ჭ': 'ch', - 'ხ': 'kh', - 'ჯ': 'j', - 'ჰ': 'h', - // Greek - 'α': 'a', - 'β': 'v', - 'γ': 'g', - 'δ': 'd', - 'ε': 'e', - 'ζ': 'z', - 'η': 'i', - 'θ': 'th', - 'ι': 'i', - 'κ': 'k', - 'λ': 'l', - 'μ': 'm', - 'ν': 'n', - 'ξ': 'ks', - 'ο': 'o', - 'π': 'p', - 'ρ': 'r', - 'σ': 's', - 'τ': 't', - 'υ': 'y', - 'φ': 'f', - 'χ': 'x', - 'ψ': 'ps', - 'ω': 'o', - 'ά': 'a', - 'έ': 'e', - 'ί': 'i', - 'ό': 'o', - 'ύ': 'y', - 'ή': 'i', - 'ώ': 'o', - 'ς': 's', - 'ϊ': 'i', - 'ΰ': 'y', - 'ϋ': 'y', - 'ΐ': 'i', - 'Α': 'A', - 'Β': 'B', - 'Γ': 'G', - 'Δ': 'D', - 'Ε': 'E', - 'Ζ': 'Z', - 'Η': 'I', - 'Θ': 'TH', - 'Ι': 'I', - 'Κ': 'K', - 'Λ': 'L', - 'Μ': 'M', - 'Ν': 'N', - 'Ξ': 'KS', - 'Ο': 'O', - 'Π': 'P', - 'Ρ': 'R', - 'Σ': 'S', - 'Τ': 'T', - 'Υ': 'Y', - 'Φ': 'F', - 'Χ': 'X', - 'Ψ': 'PS', - 'Ω': 'O', - 'Ά': 'A', - 'Έ': 'E', - 'Ί': 'I', - 'Ό': 'O', - 'Ύ': 'Y', - 'Ή': 'I', - 'Ώ': 'O', - 'Ϊ': 'I', - 'Ϋ': 'Y', - // Latvian - 'ā': 'a', - // 'č': 'c', // duplicate - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - // 'š': 's', // duplicate - 'ū': 'u', - // 'ž': 'z', // duplicate - 'Ā': 'A', - // 'Č': 'C', // duplicate - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'I', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - // 'Š': 'S', // duplicate - 'Ū': 'U', - // 'Ž': 'Z', // duplicate - // Macedonian - 'Ќ': 'Kj', - 'ќ': 'kj', - 'Љ': 'Lj', - 'љ': 'lj', - 'Њ': 'Nj', - 'њ': 'nj', - 'Тс': 'Ts', - 'тс': 'ts', - // Polish - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - // 'ó': 'o', // duplicate - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'E', - 'Ł': 'L', - 'Ń': 'N', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z', - // Ukranian - 'Є': 'Ye', - 'І': 'I', - 'Ї': 'Yi', - 'Ґ': 'G', - 'є': 'ye', - 'і': 'i', - 'ї': 'yi', - 'ґ': 'g', - // Romanian - 'ă': 'a', - 'Ă': 'A', - 'ș': 's', - 'Ș': 'S', - // 'ş': 's', // duplicate - // 'Ş': 'S', // duplicate - 'ț': 't', - 'Ț': 'T', - 'ţ': 't', - 'Ţ': 'T', - // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian - // ICAO - 'а': 'a', - 'б': 'b', - 'в': 'v', - 'г': 'g', - 'д': 'd', - 'е': 'e', - 'ё': 'yo', - 'ж': 'zh', - 'з': 'z', - 'и': 'i', - 'й': 'i', - 'к': 'k', - 'л': 'l', - 'м': 'm', - 'н': 'n', - 'о': 'o', - 'п': 'p', - 'р': 'r', - 'с': 's', - 'т': 't', - 'у': 'u', - 'ф': 'f', - 'х': 'kh', - 'ц': 'c', - 'ч': 'ch', - 'ш': 'sh', - 'щ': 'sh', - 'ъ': '', - 'ы': 'y', - 'ь': '', - 'э': 'e', - 'ю': 'yu', - 'я': 'ya', - 'А': 'A', - 'Б': 'B', - 'В': 'V', - 'Г': 'G', - 'Д': 'D', - 'Е': 'E', - 'Ё': 'Yo', - 'Ж': 'Zh', - 'З': 'Z', - 'И': 'I', - 'Й': 'I', - 'К': 'K', - 'Л': 'L', - 'М': 'M', - 'Н': 'N', - 'О': 'O', - 'П': 'P', - 'Р': 'R', - 'С': 'S', - 'Т': 'T', - 'У': 'U', - 'Ф': 'F', - 'Х': 'Kh', - 'Ц': 'C', - 'Ч': 'Ch', - 'Ш': 'Sh', - 'Щ': 'Sh', - 'Ъ': '', - 'Ы': 'Y', - 'Ь': '', - 'Э': 'E', - 'Ю': 'Yu', - 'Я': 'Ya', - // Serbian - 'ђ': 'dj', - 'ј': 'j', - // 'љ': 'lj', // duplicate - // 'њ': 'nj', // duplicate - 'ћ': 'c', - 'џ': 'dz', - 'Ђ': 'Dj', - 'Ј': 'j', - // 'Љ': 'Lj', // duplicate - // 'Њ': 'Nj', // duplicate - 'Ћ': 'C', - 'Џ': 'Dz', - // Slovak - 'ľ': 'l', - 'ĺ': 'l', - 'ŕ': 'r', - 'Ľ': 'L', - 'Ĺ': 'L', - 'Ŕ': 'R', - // Turkish - 'ş': 's', - 'Ş': 'S', - 'ı': 'i', - 'İ': 'I', - // 'ç': 'c', // duplicate - // 'Ç': 'C', // duplicate - // 'ü': 'u', // duplicate, see langCharMap - // 'Ü': 'U', // duplicate, see langCharMap - // 'ö': 'o', // duplicate, see langCharMap - // 'Ö': 'O', // duplicate, see langCharMap - 'ğ': 'g', - 'Ğ': 'G', - // Vietnamese - 'ả': 'a', - 'Ả': 'A', - 'ẳ': 'a', - 'Ẳ': 'A', - 'ẩ': 'a', - 'Ẩ': 'A', - 'đ': 'd', - 'Đ': 'D', - 'ẹ': 'e', - 'Ẹ': 'E', - 'ẽ': 'e', - 'Ẽ': 'E', - 'ẻ': 'e', - 'Ẻ': 'E', - 'ế': 'e', - 'Ế': 'E', - 'ề': 'e', - 'Ề': 'E', - 'ệ': 'e', - 'Ệ': 'E', - 'ễ': 'e', - 'Ễ': 'E', - 'ể': 'e', - 'Ể': 'E', - 'ỏ': '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', - 'ị': 'i', - 'Ị': 'I', - 'ĩ': 'i', - 'Ĩ': 'I', - 'ỉ': 'i', - 'Ỉ': 'i', - 'ủ': 'u', - 'Ủ': 'U', - 'ụ': 'u', - 'Ụ': 'U', - 'ũ': 'u', - 'Ũ': 'U', - 'ư': 'u', - 'Ư': 'U', - 'ứ': 'u', - 'Ứ': 'U', - 'ừ': 'u', - 'Ừ': 'U', - 'ự': 'u', - 'Ự': 'U', - 'ữ': 'u', - 'Ữ': 'U', - 'ử': 'u', - 'Ử': 'ư', - 'ỷ': 'y', - 'Ỷ': 'y', - 'ỳ': 'y', - 'Ỳ': 'Y', - 'ỵ': 'y', - 'Ỵ': 'Y', - 'ỹ': 'y', - 'Ỹ': 'Y', - 'ạ': 'a', - 'Ạ': 'A', - 'ấ': 'a', - 'Ấ': 'A', - 'ầ': 'a', - 'Ầ': 'A', - 'ậ': 'a', - 'Ậ': 'A', - 'ẫ': 'a', - 'Ẫ': 'A', - // 'ă': 'a', // duplicate - // 'Ă': 'A', // duplicate - 'ắ': 'a', - 'Ắ': 'A', - 'ằ': 'a', - 'Ằ': 'A', - 'ặ': 'a', - 'Ặ': 'A', - 'ẵ': 'a', - 'Ẵ': 'A', - "⓪": "0", - "①": "1", - "②": "2", - "③": "3", - "④": "4", - "⑤": "5", - "⑥": "6", - "⑦": "7", - "⑧": "8", - "⑨": "9", - "⑩": "10", - "⑪": "11", - "⑫": "12", - "⑬": "13", - "⑭": "14", - "⑮": "15", - "⑯": "16", - "⑰": "17", - "⑱": "18", - "⑲": "18", - "⑳": "18", - "⓵": "1", - "⓶": "2", - "⓷": "3", - "⓸": "4", - "⓹": "5", - "⓺": "6", - "⓻": "7", - "⓼": "8", - "⓽": "9", - "⓾": "10", - "⓿": "0", - "⓫": "11", - "⓬": "12", - "⓭": "13", - "⓮": "14", - "⓯": "15", - "⓰": "16", - "⓱": "17", - "⓲": "18", - "⓳": "19", - "⓴": "20", - "Ⓐ": "A", - "Ⓑ": "B", - "Ⓒ": "C", - "Ⓓ": "D", - "Ⓔ": "E", - "Ⓕ": "F", - "Ⓖ": "G", - "Ⓗ": "H", - "Ⓘ": "I", - "Ⓙ": "J", - "Ⓚ": "K", - "Ⓛ": "L", - "Ⓜ": "M", - "Ⓝ": "N", - "Ⓞ": "O", - "Ⓟ": "P", - "Ⓠ": "Q", - "Ⓡ": "R", - "Ⓢ": "S", - "Ⓣ": "T", - "Ⓤ": "U", - "Ⓥ": "V", - "Ⓦ": "W", - "Ⓧ": "X", - "Ⓨ": "Y", - "Ⓩ": "Z", - "ⓐ": "a", - "ⓑ": "b", - "ⓒ": "c", - "ⓓ": "d", - "ⓔ": "e", - "ⓕ": "f", - "ⓖ": "g", - "ⓗ": "h", - "ⓘ": "i", - "ⓙ": "j", - "ⓚ": "k", - "ⓛ": "l", - "ⓜ": "m", - "ⓝ": "n", - "ⓞ": "o", - "ⓟ": "p", - "ⓠ": "q", - "ⓡ": "r", - "ⓢ": "s", - "ⓣ": "t", - "ⓤ": "u", - "ⓦ": "v", - "ⓥ": "w", - "ⓧ": "x", - "ⓨ": "y", - "ⓩ": "z", - // symbols - '“': '"', - '”': '"', - '‘': "'", - '’': "'", - '∂': 'd', - 'ƒ': 'f', - '™': '(TM)', - '©': '(C)', - 'œ': 'oe', - 'Œ': 'OE', - '®': '(R)', - '†': '+', - '℠': '(SM)', - '…': '...', - '˚': 'o', - 'º': 'o', - 'ª': 'a', - '•': '*', - '၊': ',', - '။': '.', - // currency - '$': 'USD', - '€': 'EUR', - '₢': 'BRN', - '₣': 'FRF', - '£': 'GBP', - '₤': 'ITL', - '₦': 'NGN', - '₧': 'ESP', - '₩': 'KRW', - '₪': 'ILS', - '₫': 'VND', - '₭': 'LAK', - '₮': 'MNT', - '₯': 'GRD', - '₱': 'ARS', - '₲': 'PYG', - '₳': 'ARA', - '₴': 'UAH', - '₵': 'GHS', - '¢': 'cent', - '¥': 'CNY', - '元': 'CNY', - '円': 'YEN', - '﷼': 'IRR', - '₠': 'EWE', - '฿': 'THB', - '₨': 'INR', - '₹': 'INR', - '₰': 'PF', - '₺': 'TRY', - '؋': 'AFN', - '₼': 'AZN', - 'лв': 'BGN', - '៛': 'KHR', - '₡': 'CRC', - '₸': 'KZT', - 'ден': 'MKD', - 'zł': 'PLN', - '₽': 'RUB', - '₾': 'GEL' -}; -/** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ -exports.lookAheadCharArray = [ - // burmese - '်', - // Dhivehi - 'ް' -]; -/** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ -exports.diatricMap = { - // Burmese - // dependent vowels - 'ာ': 'a', - 'ါ': 'a', - 'ေ': 'e', - 'ဲ': 'e', - 'ိ': 'i', - 'ီ': 'i', - 'ို': 'o', - 'ု': 'u', - 'ူ': 'u', - 'ေါင်': 'aung', - 'ော': 'aw', - 'ော်': 'aw', - 'ေါ': 'aw', - 'ေါ်': 'aw', - '်': '်', - 'က်': 'et', - 'ိုက်': 'aik', - 'ောက်': 'auk', - 'င်': 'in', - 'ိုင်': 'aing', - 'ောင်': 'aung', - 'စ်': 'it', - 'ည်': 'i', - 'တ်': 'at', - 'ိတ်': 'eik', - 'ုတ်': 'ok', - 'ွတ်': 'ut', - 'ေတ်': 'it', - 'ဒ်': 'd', - 'ိုဒ်': 'ok', - 'ုဒ်': 'ait', - 'န်': 'an', - 'ာန်': 'an', - 'ိန်': 'ein', - 'ုန်': 'on', - 'ွန်': 'un', - 'ပ်': 'at', - 'ိပ်': 'eik', - 'ုပ်': 'ok', - 'ွပ်': 'ut', - 'န်ုပ်': 'nub', - 'မ်': 'an', - 'ိမ်': 'ein', - 'ုမ်': 'on', - 'ွမ်': 'un', - 'ယ်': 'e', - 'ိုလ်': 'ol', - 'ဉ်': 'in', - 'ံ': 'an', - 'ိံ': 'ein', - 'ုံ': 'on', - // Dhivehi - 'ައް': 'ah', - 'ަށް': 'ah' -}; -/** - * langCharMap language specific characters translations - * @type {Object} - */ -exports.langCharMap = { - 'en': {}, - 'az': { - 'ç': 'c', - 'ə': 'e', - 'ğ': 'g', - 'ı': 'i', - 'ö': 'o', - 'ş': 's', - 'ü': 'u', - 'Ç': 'C', - 'Ə': 'E', - 'Ğ': 'G', - 'İ': 'I', - 'Ö': 'O', - 'Ş': 'S', - 'Ü': 'U' - }, - 'cs': { - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z' - }, - 'fi': { - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', - 'Ä': 'A', - 'ö': 'o', - 'Ö': 'O' // ok - }, - 'hu': { - 'ä': 'a', - 'Ä': 'A', - // 'á': 'a', duplicate see charMap/latin - // 'Á': 'A', duplicate see charMap/latin - 'ö': 'o', - 'Ö': 'O', - // 'ő': 'o', duplicate see charMap/latin - // 'Ő': 'O', duplicate see charMap/latin - 'ü': 'u', - 'Ü': 'U', - 'ű': 'u', - 'Ű': 'U' - }, - 'lt': { - 'ą': 'a', - 'č': 'c', - 'ę': 'e', - 'ė': 'e', - 'į': 'i', - 'š': 's', - 'ų': 'u', - 'ū': 'u', - 'ž': 'z', - 'Ą': 'A', - 'Č': 'C', - 'Ę': 'E', - 'Ė': 'E', - 'Į': 'I', - 'Š': 'S', - 'Ų': 'U', - 'Ū': 'U' - }, - 'lv': { - 'ā': 'a', - 'č': 'c', - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - 'š': 's', - 'ū': 'u', - 'ž': 'z', - 'Ā': 'A', - 'Č': 'C', - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'i', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - 'Š': 'S', - 'Ū': 'u', - 'Ž': 'Z' - }, - 'pl': { - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - 'ó': 'o', - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'e', - 'Ł': 'L', - 'Ń': 'N', - 'Ó': 'O', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z' - }, - 'sv': { - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', - 'Ä': 'A', - 'ö': 'o', - 'Ö': 'O' // ok - }, - 'sk': { - 'ä': 'a', - 'Ä': 'A' - }, - 'sr': { - 'љ': 'lj', - 'њ': 'nj', - 'Љ': 'Lj', - 'Њ': 'Nj', - 'đ': 'dj', - 'Đ': 'Dj' - }, - 'tr': { - 'Ü': 'U', - 'Ö': 'O', - 'ü': 'u', - 'ö': 'o' - } -}; -/** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ -exports.symbolMap = { - 'ar': { - '∆': 'delta', - '∞': 'la-nihaya', - '♥': 'hob', - '&': 'wa', - '|': 'aw', - '<': 'aqal-men', - '>': 'akbar-men', - '∑': 'majmou', - '¤': 'omla' - }, - 'az': {}, - 'ca': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'amor', - '&': 'i', - '|': 'o', - '<': 'menys que', - '>': 'mes que', - '∑': 'suma dels', - '¤': 'moneda' - }, - 'cs': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'nebo', - '<': 'mensi nez', - '>': 'vetsi nez', - '∑': 'soucet', - '¤': 'mena' - }, - 'de': { - '∆': 'delta', - '∞': 'unendlich', - '♥': 'Liebe', - '&': 'und', - '|': 'oder', - '<': 'kleiner als', - '>': 'groesser als', - '∑': 'Summe von', - '¤': 'Waehrung' - }, - 'dv': { - '∆': 'delta', - '∞': 'kolunulaa', - '♥': 'loabi', - '&': 'aai', - '|': 'noonee', - '<': 'ah vure kuda', - '>': 'ah vure bodu', - '∑': 'jumula', - '¤': 'faisaa' - }, - 'en': { - '∆': 'delta', - '∞': 'infinity', - '♥': 'love', - '&': 'and', - '|': 'or', - '<': 'less than', - '>': 'greater than', - '∑': 'sum', - '¤': 'currency' - }, - 'es': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'y', - '|': 'u', - '<': 'menos que', - '>': 'mas que', - '∑': 'suma de los', - '¤': 'moneda' - }, - 'fa': { - '∆': 'delta', - '∞': 'bi-nahayat', - '♥': 'eshgh', - '&': 'va', - '|': 'ya', - '<': 'kamtar-az', - '>': 'bishtar-az', - '∑': 'majmooe', - '¤': 'vahed' - }, - 'fi': { - '∆': 'delta', - '∞': 'aarettomyys', - '♥': 'rakkaus', - '&': 'ja', - '|': 'tai', - '<': 'pienempi kuin', - '>': 'suurempi kuin', - '∑': 'summa', - '¤': 'valuutta' - }, - 'fr': { - '∆': 'delta', - '∞': 'infiniment', - '♥': 'Amour', - '&': 'et', - '|': 'ou', - '<': 'moins que', - '>': 'superieure a', - '∑': 'somme des', - '¤': 'monnaie' - }, - 'ge': { - '∆': 'delta', - '∞': 'usasruloba', - '♥': 'siqvaruli', - '&': 'da', - '|': 'an', - '<': 'naklebi', - '>': 'meti', - '∑': 'jami', - '¤': 'valuta' - }, - 'gr': {}, - 'hu': { - '∆': 'delta', - '∞': 'vegtelen', - '♥': 'szerelem', - '&': 'es', - '|': 'vagy', - '<': 'kisebb mint', - '>': 'nagyobb mint', - '∑': 'szumma', - '¤': 'penznem' - }, - 'it': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amore', - '&': 'e', - '|': 'o', - '<': 'minore di', - '>': 'maggiore di', - '∑': 'somma', - '¤': 'moneta' - }, - 'lt': { - '∆': 'delta', - '∞': 'begalybe', - '♥': 'meile', - '&': 'ir', - '|': 'ar', - '<': 'maziau nei', - '>': 'daugiau nei', - '∑': 'suma', - '¤': 'valiuta' - }, - 'lv': { - '∆': 'delta', - '∞': 'bezgaliba', - '♥': 'milestiba', - '&': 'un', - '|': 'vai', - '<': 'mazak neka', - '>': 'lielaks neka', - '∑': 'summa', - '¤': 'valuta' - }, - 'my': { - '∆': 'kwahkhyaet', - '∞': 'asaonasme', - '♥': 'akhyait', - '&': 'nhin', - '|': 'tho', - '<': 'ngethaw', - '>': 'kyithaw', - '∑': 'paungld', - '¤': 'ngwekye' - }, - 'mk': {}, - 'nl': { - '∆': 'delta', - '∞': 'oneindig', - '♥': 'liefde', - '&': 'en', - '|': 'of', - '<': 'kleiner dan', - '>': 'groter dan', - '∑': 'som', - '¤': 'valuta' - }, - 'pl': { - '∆': 'delta', - '∞': 'nieskonczonosc', - '♥': 'milosc', - '&': 'i', - '|': 'lub', - '<': 'mniejsze niz', - '>': 'wieksze niz', - '∑': 'suma', - '¤': 'waluta' - }, - 'pt': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'e', - '|': 'ou', - '<': 'menor que', - '>': 'maior que', - '∑': 'soma', - '¤': 'moeda' - }, - 'ro': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'dragoste', - '&': 'si', - '|': 'sau', - '<': 'mai mic ca', - '>': 'mai mare ca', - '∑': 'suma', - '¤': 'valuta' - }, - 'ru': { - '∆': 'delta', - '∞': 'beskonechno', - '♥': 'lubov', - '&': 'i', - '|': 'ili', - '<': 'menshe', - '>': 'bolshe', - '∑': 'summa', - '¤': 'valjuta' - }, - 'sk': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'alebo', - '<': 'menej ako', - '>': 'viac ako', - '∑': 'sucet', - '¤': 'mena' - }, - 'sr': {}, - 'tr': { - '∆': 'delta', - '∞': 'sonsuzluk', - '♥': 'ask', - '&': 've', - '|': 'veya', - '<': 'kucuktur', - '>': 'buyuktur', - '∑': 'toplam', - '¤': 'para birimi' - }, - 'uk': { - '∆': 'delta', - '∞': 'bezkinechnist', - '♥': 'lubov', - '&': 'i', - '|': 'abo', - '<': 'menshe', - '>': 'bilshe', - '∑': 'suma', - '¤': 'valjuta' - }, - 'vn': { - '∆': 'delta', - '∞': 'vo cuc', - '♥': 'yeu', - '&': 'va', - '|': 'hoac', - '<': 'nho hon', - '>': 'lon hon', - '∑': 'tong', - '¤': 'tien te' - } -}; -exports.uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); -exports.uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); -exports.markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); -//# sourceMappingURL=charmap.js.map \ No newline at end of file diff --git a/lib/utils/charmap.js.map b/lib/utils/charmap.js.map deleted file mode 100644 index 0fead7d..0000000 --- a/lib/utils/charmap.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"charmap.js","sourceRoot":"","sources":["../../src/utils/charmap.ts"],"names":[],"mappings":"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AG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IAER,QAAQ;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GA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AG;IACR,GAAG,EAAE,GAAG;IAER,aAAa;IACb,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,yBAAyB;IACzB,yBAAyB;IACzB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IAET,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IAER,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;I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"} \ No newline at end of file diff --git a/speakingurl.d.ts b/speakingurl.d.ts new file mode 100644 index 0000000..2874f47 --- /dev/null +++ b/speakingurl.d.ts @@ -0,0 +1,597 @@ +declare module "utils/charmap" { + /** + * charMap + * @type {Object} + */ + export const charMap: { + [key: string]: string; + }; + /** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ + export const lookAheadCharArray: string[]; + /** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ + export const diatricMap: { + 'ာ': string; + 'ါ': string; + 'ေ': string; + 'ဲ': string; + 'ိ': string; + 'ီ': string; + 'ို': string; + 'ု': string; + 'ူ': string; + 'ေါင်': string; + 'ော': string; + 'ော်': string; + 'ေါ': string; + 'ေါ်': string; + '်': string; + 'က်': string; + 'ိုက်': string; + 'ောက်': string; + 'င်': string; + 'ိုင်': string; + 'ောင်': string; + 'စ်': string; + 'ည်': string; + 'တ်': string; + 'ိတ်': string; + 'ုတ်': string; + 'ွတ်': string; + 'ေတ်': string; + 'ဒ်': string; + 'ိုဒ်': string; + 'ုဒ်': string; + 'န်': string; + 'ာန်': string; + 'ိန်': string; + 'ုန်': string; + 'ွန်': string; + 'ပ်': string; + 'ိပ်': string; + 'ုပ်': string; + 'ွပ်': string; + 'န်ုပ်': string; + 'မ်': string; + 'ိမ်': string; + 'ုမ်': string; + 'ွမ်': string; + 'ယ်': string; + 'ိုလ်': string; + 'ဉ်': string; + 'ံ': string; + 'ိံ': string; + 'ုံ': string; + 'ައް': string; + 'ަށް': string; + }; + /** + * langCharMap language specific characters translations + * @type {Object} + */ + export const langCharMap: { + 'en': {}; + 'az': { + 'ç': string; + 'ə': string; + 'ğ': string; + 'ı': string; + 'ö': string; + 'ş': string; + 'ü': string; + 'Ç': string; + 'Ə': string; + 'Ğ': string; + 'İ': string; + 'Ö': string; + 'Ş': string; + 'Ü': string; + }; + 'cs': { + 'č': string; + 'ď': string; + 'ě': string; + 'ň': string; + 'ř': string; + 'š': string; + 'ť': string; + 'ů': string; + 'ž': string; + 'Č': string; + 'Ď': string; + 'Ě': string; + 'Ň': string; + 'Ř': string; + 'Š': string; + 'Ť': string; + 'Ů': string; + 'Ž': string; + }; + 'fi': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'hu': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + 'ü': string; + 'Ü': string; + 'ű': string; + 'Ű': string; + }; + 'lt': { + 'ą': string; + 'č': string; + 'ę': string; + 'ė': string; + 'į': string; + 'š': string; + 'ų': string; + 'ū': string; + 'ž': string; + 'Ą': string; + 'Č': string; + 'Ę': string; + 'Ė': string; + 'Į': string; + 'Š': string; + 'Ų': string; + 'Ū': string; + }; + 'lv': { + 'ā': string; + 'č': string; + 'ē': string; + 'ģ': string; + 'ī': string; + 'ķ': string; + 'ļ': string; + 'ņ': string; + 'š': string; + 'ū': string; + 'ž': string; + 'Ā': string; + 'Č': string; + 'Ē': string; + 'Ģ': string; + 'Ī': string; + 'Ķ': string; + 'Ļ': string; + 'Ņ': string; + 'Š': string; + 'Ū': string; + 'Ž': string; + }; + 'pl': { + 'ą': string; + 'ć': string; + 'ę': string; + 'ł': string; + 'ń': string; + 'ó': string; + 'ś': string; + 'ź': string; + 'ż': string; + 'Ą': string; + 'Ć': string; + 'Ę': string; + 'Ł': string; + 'Ń': string; + 'Ó': string; + 'Ś': string; + 'Ź': string; + 'Ż': string; + }; + 'sv': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'sk': { + 'ä': string; + 'Ä': string; + }; + 'sr': { + 'љ': string; + 'њ': string; + 'Љ': string; + 'Њ': string; + 'đ': string; + 'Đ': string; + }; + 'tr': { + 'Ü': string; + 'Ö': string; + 'ü': string; + 'ö': string; + }; + }; + /** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ + export const symbolMap: { + 'ar': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'az': {}; + 'ca': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'cs': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'de': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'dv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'en': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'es': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fa': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fi': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ge': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'gr': {}; + 'hu': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'it': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'my': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'mk': {}; + 'nl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ro': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ru': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sr': {}; + 'tr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'uk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'vn': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + }; + export const uricChars: string; + export const uricNoSlashChars: string; + export const markChars: string; +} +declare module "speakingurl" { + /** + * Interface for the SpeakingURL options + * @see {@link https://github.com/pid/speakingurl#usage} + */ + export interface speakingurlOptions { + /** + * Character that replaces the whitespaces + * @default '-' + */ + separator?: string; + /** + * ISO 639-1 Codes for language specific transliteration + * @default 'en' + */ + lang?: string | boolean; + /** + * Converts symbols according to the 'lang' setting if true. Don't convert symbols if false + * @default true + */ + symbols?: boolean; + /** + * Maintains case chars if true. Convert all chars to lower case if false + * @default false + */ + maintainCase?: boolean; + /** + * converts input string to title-case if true. Omit the words from the array if array is given. + * @default false + */ + titleCase?: boolean | string[]; + /** + * Don't trim length if 0. Trim to max length while not breaking any words if greater or equal to 1. + * @default 0 + */ + truncate?: number; + /** + * Allow additional characters if true. + * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", ",", "/" + * @default false + */ + uric?: boolean; + /** + * Allow additional characters if true. + * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", "," + * @default false + */ + uricNoSlash?: boolean; + /** + * Allow additional characters if true. + * Characters allowed: "-", "_", ".", "!", "~", "*", "'", "(", ")" + * @default false + */ + mark?: boolean; + /** + * custom map for translation if object provided. Add array chars to allowed charMap if array provided. + * @default {} + */ + custom?: { + [key: string]: string; + } | string[]; + } + /** + * getSlug + * @param {string} input input string + * @param {object|string} opts config object or separator string/char + * @api public + * @return {string} sluggified string + */ + export const getSlug: (input: string, opts: string | speakingurlOptions) => string; + /** + * createSlug curried(opts)(input) + * @param {object|string} opts config object or input string + * @return {Function} function getSlugWithConfig() + **/ + export const createSlug: (opts: string | {}) => (input: string) => string; + /** + * escape Chars + * @param {string} input string + */ + export const escapeChars: (input: string) => string; + /** + * check if the char is an already converted char from custom list + * @param {char} ch character to check + * @param {object} customReplacements custom translation map + */ + export const isReplacedCustomChar: (ch: string, customReplacements: {}) => boolean; +} diff --git a/speakingurl.js b/speakingurl.js new file mode 100644 index 0000000..1900e53 --- /dev/null +++ b/speakingurl.js @@ -0,0 +1 @@ +//# sourceMappingURL=speakingurl.js.map \ No newline at end of file diff --git a/speakingurl.js.map b/speakingurl.js.map new file mode 100644 index 0000000..98edb74 --- /dev/null +++ b/speakingurl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["src/utils/charmap.ts","src/speakingurl.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/speakingurl.min.js b/speakingurl.min.js index 6d4bbb2..32e85fc 100644 --- a/speakingurl.min.js +++ b/speakingurl.min.js @@ -4,4 +4,4 @@ * @link http://pid.github.io/speakingurl/ * @license BSD * @author - */"use strict";exports.charMap={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"Ae","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"Oe","Ő":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"Ue","Ű":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"ae","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"oe","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"ue","ű":"u","ý":"y","þ":"th","ÿ":"y","ẞ":"SS","ا":"a","أ":"a","إ":"i","آ":"aa","ؤ":"u","ئ":"e","ء":"a","ب":"b","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ي":"y","ى":"a","ة":"h","ﻻ":"la","ﻷ":"laa","ﻹ":"lai","ﻵ":"laa","گ":"g","چ":"ch","پ":"p","ژ":"zh","ک":"k","ی":"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","က":"k","ခ":"kh","ဂ":"g","ဃ":"ga","င":"ng","စ":"s","ဆ":"sa","ဇ":"z","စျ":"za","ည":"ny","ဋ":"t","ဌ":"ta","ဍ":"d","ဎ":"da","ဏ":"na","တ":"t","ထ":"ta","ဒ":"d","ဓ":"da","န":"n","ပ":"p","ဖ":"pa","ဗ":"b","ဘ":"ba","မ":"m","ယ":"y","ရ":"ya","လ":"l","ဝ":"w","သ":"th","ဟ":"h","ဠ":"la","အ":"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h","ဧ":"e","၏":"-e","ဣ":"i","ဤ":"-i","ဉ":"u","ဦ":"-u","ဩ":"aw","သြော":"aw","ဪ":"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"","č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z","ހ":"h","ށ":"sh","ނ":"n","ރ":"r","ބ":"b","ޅ":"lh","ކ":"k","އ":"a","ވ":"v","މ":"m","ފ":"f","ދ":"dh","ތ":"th","ލ":"l","ގ":"g","ޏ":"gn","ސ":"s","ޑ":"d","ޒ":"z","ޓ":"t","ޔ":"y","ޕ":"p","ޖ":"j","ޗ":"ch","ޘ":"tt","ޙ":"hh","ޚ":"kh","ޛ":"th","ޜ":"z","ޝ":"sh","ޞ":"s","ޟ":"d","ޠ":"t","ޡ":"z","ޢ":"a","ޣ":"gh","ޤ":"q","ޥ":"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"p","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","α":"a","β":"v","γ":"g","δ":"d","ε":"e","ζ":"z","η":"i","θ":"th","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"ks","ο":"o","π":"p","ρ":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"o","ά":"a","έ":"e","ί":"i","ό":"o","ύ":"y","ή":"i","ώ":"o","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"I","Θ":"TH","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"KS","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"O","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"I","Ώ":"O","Ϊ":"I","Ϋ":"Y","ā":"a","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","ū":"u","Ā":"A","Ē":"E","Ģ":"G","Ī":"I","Ķ":"k","Ļ":"L","Ņ":"N","Ū":"U","Ќ":"Kj","ќ":"kj","Љ":"Lj","љ":"lj","Њ":"Nj","њ":"nj","Тс":"Ts","тс":"ts","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ś":"S","Ź":"Z","Ż":"Z","Є":"Ye","І":"I","Ї":"Yi","Ґ":"G","є":"ye","і":"i","ї":"yi","ґ":"g","ă":"a","Ă":"A","ș":"s","Ș":"S","ț":"t","Ț":"T","ţ":"t","Ţ":"T","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"kh","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ё":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"I","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"Kh","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","ђ":"dj","ј":"j","ћ":"c","џ":"dz","Ђ":"Dj","Ј":"j","Ћ":"C","Џ":"Dz","ľ":"l","ĺ":"l","ŕ":"r","Ľ":"L","Ĺ":"L","Ŕ":"R","ş":"s","Ş":"S","ı":"i","İ":"I","ğ":"g","Ğ":"G","ả":"a","Ả":"A","ẳ":"a","Ẳ":"A","ẩ":"a","Ẩ":"A","đ":"d","Đ":"D","ẹ":"e","Ẹ":"E","ẽ":"e","Ẽ":"E","ẻ":"e","Ẻ":"E","ế":"e","Ế":"E","ề":"e","Ề":"E","ệ":"e","Ệ":"E","ễ":"e","Ễ":"E","ể":"e","Ể":"E","ỏ":"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","ị":"i","Ị":"I","ĩ":"i","Ĩ":"I","ỉ":"i","Ỉ":"i","ủ":"u","Ủ":"U","ụ":"u","Ụ":"U","ũ":"u","Ũ":"U","ư":"u","Ư":"U","ứ":"u","Ứ":"U","ừ":"u","Ừ":"U","ự":"u","Ự":"U","ữ":"u","Ữ":"U","ử":"u","Ử":"ư","ỷ":"y","Ỷ":"y","ỳ":"y","Ỳ":"Y","ỵ":"y","Ỵ":"Y","ỹ":"y","Ỹ":"Y","ạ":"a","Ạ":"A","ấ":"a","Ấ":"A","ầ":"a","Ầ":"A","ậ":"a","Ậ":"A","ẫ":"a","Ẫ":"A","ắ":"a","Ắ":"A","ằ":"a","Ằ":"A","ặ":"a","Ặ":"A","ẵ":"a","Ẵ":"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d","ƒ":"f","™":"(TM)","©":"(C)","œ":"oe","Œ":"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o","º":"o","ª":"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY","元":"CNY","円":"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN","лв":"BGN","៛":"KHR","₡":"CRC","₸":"KZT","ден":"MKD","zł":"PLN","₽":"RUB","₾":"GEL"},exports.lookAheadCharArray=["်","ް"],exports.diatricMap={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},exports.langCharMap={en:{},az:{"ç":"c","ə":"e","ğ":"g","ı":"i","ö":"o","ş":"s","ü":"u","Ç":"C","Ə":"E","Ğ":"G","İ":"I","Ö":"O","Ş":"S","Ü":"U"},cs:{"č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"},fi:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},hu:{"ä":"a","Ä":"A","ö":"o","Ö":"O","ü":"u","Ü":"U","ű":"u","Ű":"U"},lt:{"ą":"a","č":"c","ę":"e","ė":"e","į":"i","š":"s","ų":"u","ū":"u","ž":"z","Ą":"A","Č":"C","Ę":"E","Ė":"E","Į":"I","Š":"S","Ų":"U","Ū":"U"},lv:{"ā":"a","č":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"},pl:{"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z"},sv:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},sk:{"ä":"a","Ä":"A"},sr:{"љ":"lj","њ":"nj","Љ":"Lj","Њ":"Nj","đ":"dj","Đ":"Dj"},tr:{"Ü":"U","Ö":"O","ü":"u","ö":"o"}},exports.symbolMap={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},exports.uricChars=[";","?",":","@","&","=","+","$",",","/"].join(""),exports.uricNoSlashChars=[";","?",":","@","&","=","+","$",","].join(""),exports.markChars=[".","!","~","*","'","(",")"].join(""); \ No newline at end of file + */!function(a){if("object"==typeof module&&"object"==typeof module.exports){var e=a(require,exports);void 0!==e&&(module.exports=e)}else"function"==typeof define&&define.amd&&define(["require","exports"],a)}(function(a,e){"use strict";e.charMap={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"Ae","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"Oe","Ő":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"Ue","Ű":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"ae","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"oe","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"ue","ű":"u","ý":"y","þ":"th","ÿ":"y","ẞ":"SS","ا":"a","أ":"a","إ":"i","آ":"aa","ؤ":"u","ئ":"e","ء":"a","ب":"b","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ي":"y","ى":"a","ة":"h","ﻻ":"la","ﻷ":"laa","ﻹ":"lai","ﻵ":"laa","گ":"g","چ":"ch","پ":"p","ژ":"zh","ک":"k","ی":"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","က":"k","ခ":"kh","ဂ":"g","ဃ":"ga","င":"ng","စ":"s","ဆ":"sa","ဇ":"z","စျ":"za","ည":"ny","ဋ":"t","ဌ":"ta","ဍ":"d","ဎ":"da","ဏ":"na","တ":"t","ထ":"ta","ဒ":"d","ဓ":"da","န":"n","ပ":"p","ဖ":"pa","ဗ":"b","ဘ":"ba","မ":"m","ယ":"y","ရ":"ya","လ":"l","ဝ":"w","သ":"th","ဟ":"h","ဠ":"la","အ":"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h","ဧ":"e","၏":"-e","ဣ":"i","ဤ":"-i","ဉ":"u","ဦ":"-u","ဩ":"aw","သြော":"aw","ဪ":"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"","č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z","ހ":"h","ށ":"sh","ނ":"n","ރ":"r","ބ":"b","ޅ":"lh","ކ":"k","އ":"a","ވ":"v","މ":"m","ފ":"f","ދ":"dh","ތ":"th","ލ":"l","ގ":"g","ޏ":"gn","ސ":"s","ޑ":"d","ޒ":"z","ޓ":"t","ޔ":"y","ޕ":"p","ޖ":"j","ޗ":"ch","ޘ":"tt","ޙ":"hh","ޚ":"kh","ޛ":"th","ޜ":"z","ޝ":"sh","ޞ":"s","ޟ":"d","ޠ":"t","ޡ":"z","ޢ":"a","ޣ":"gh","ޤ":"q","ޥ":"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"p","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","α":"a","β":"v","γ":"g","δ":"d","ε":"e","ζ":"z","η":"i","θ":"th","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"ks","ο":"o","π":"p","ρ":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"o","ά":"a","έ":"e","ί":"i","ό":"o","ύ":"y","ή":"i","ώ":"o","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"I","Θ":"TH","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"KS","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"O","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"I","Ώ":"O","Ϊ":"I","Ϋ":"Y","ā":"a","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","ū":"u","Ā":"A","Ē":"E","Ģ":"G","Ī":"I","Ķ":"k","Ļ":"L","Ņ":"N","Ū":"U","Ќ":"Kj","ќ":"kj","Љ":"Lj","љ":"lj","Њ":"Nj","њ":"nj","Тс":"Ts","тс":"ts","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ś":"S","Ź":"Z","Ż":"Z","Є":"Ye","І":"I","Ї":"Yi","Ґ":"G","є":"ye","і":"i","ї":"yi","ґ":"g","ă":"a","Ă":"A","ș":"s","Ș":"S","ț":"t","Ț":"T","ţ":"t","Ţ":"T","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"kh","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ё":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"I","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"Kh","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","ђ":"dj","ј":"j","ћ":"c","џ":"dz","Ђ":"Dj","Ј":"j","Ћ":"C","Џ":"Dz","ľ":"l","ĺ":"l","ŕ":"r","Ľ":"L","Ĺ":"L","Ŕ":"R","ş":"s","Ş":"S","ı":"i","İ":"I","ğ":"g","Ğ":"G","ả":"a","Ả":"A","ẳ":"a","Ẳ":"A","ẩ":"a","Ẩ":"A","đ":"d","Đ":"D","ẹ":"e","Ẹ":"E","ẽ":"e","Ẽ":"E","ẻ":"e","Ẻ":"E","ế":"e","Ế":"E","ề":"e","Ề":"E","ệ":"e","Ệ":"E","ễ":"e","Ễ":"E","ể":"e","Ể":"E","ỏ":"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","ị":"i","Ị":"I","ĩ":"i","Ĩ":"I","ỉ":"i","Ỉ":"i","ủ":"u","Ủ":"U","ụ":"u","Ụ":"U","ũ":"u","Ũ":"U","ư":"u","Ư":"U","ứ":"u","Ứ":"U","ừ":"u","Ừ":"U","ự":"u","Ự":"U","ữ":"u","Ữ":"U","ử":"u","Ử":"ư","ỷ":"y","Ỷ":"y","ỳ":"y","Ỳ":"Y","ỵ":"y","Ỵ":"Y","ỹ":"y","Ỹ":"Y","ạ":"a","Ạ":"A","ấ":"a","Ấ":"A","ầ":"a","Ầ":"A","ậ":"a","Ậ":"A","ẫ":"a","Ẫ":"A","ắ":"a","Ắ":"A","ằ":"a","Ằ":"A","ặ":"a","Ặ":"A","ẵ":"a","Ẵ":"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d","ƒ":"f","™":"(TM)","©":"(C)","œ":"oe","Œ":"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o","º":"o","ª":"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY","元":"CNY","円":"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN","лв":"BGN","៛":"KHR","₡":"CRC","₸":"KZT","ден":"MKD","zł":"PLN","₽":"RUB","₾":"GEL"},e.lookAheadCharArray=["်","ް"],e.diatricMap={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},e.langCharMap={en:{},az:{"ç":"c","ə":"e","ğ":"g","ı":"i","ö":"o","ş":"s","ü":"u","Ç":"C","Ə":"E","Ğ":"G","İ":"I","Ö":"O","Ş":"S","Ü":"U"},cs:{"č":"c","ď":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"},fi:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},hu:{"ä":"a","Ä":"A","ö":"o","Ö":"O","ü":"u","Ü":"U","ű":"u","Ű":"U"},lt:{"ą":"a","č":"c","ę":"e","ė":"e","į":"i","š":"s","ų":"u","ū":"u","ž":"z","Ą":"A","Č":"C","Ę":"E","Ė":"E","Į":"I","Š":"S","Ų":"U","Ū":"U"},lv:{"ā":"a","č":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"},pl:{"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z"},sv:{"ä":"a","Ä":"A","ö":"o","Ö":"O"},sk:{"ä":"a","Ä":"A"},sr:{"љ":"lj","њ":"nj","Љ":"Lj","Њ":"Nj","đ":"dj","Đ":"Dj"},tr:{"Ü":"U","Ö":"O","ü":"u","ö":"o"}},e.symbolMap={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},e.uricChars=[";","?",":","@","&","=","+","$",",","/"].join(""),e.uricNoSlashChars=[";","?",":","@","&","=","+","$",","].join(""),e.markChars=[".","!","~","*","'","(",")"].join(""),e.getSlug=function(a,n){var t,i,o,s,r,u,l,h,m,c,d,g,p,y,k="-",f="",A="",b=!0,C={},z="";if("string"!=typeof a)return"";if("string"==typeof n&&(k=n),l=e.symbolMap.en,h=e.langCharMap.en,"object"==typeof n){t=(n=n).maintainCase||!1,C=n.custom&&"object"==typeof n.custom?n.custom:C,o=+n.truncate>1&&n.truncate||!1,s=n.uric||!1,r=n.uricNoSlash||!1,u=n.mark||!1,b=!1!==n.symbols&&!1!==n.lang,k=n.separator||k,s&&(z+=e.uricChars),r&&(z+=e.uricNoSlashChars),u&&(z+=e.markChars),l=n.lang&&e.symbolMap[n.lang]&&b?e.symbolMap[n.lang]:b?e.symbolMap.en:{},h=n.lang&&e.langCharMap[n.lang]?e.langCharMap[n.lang]:!1===n.lang||!0===n.lang?{}:e.langCharMap.en,n.titleCase&&Array.isArray(n.titleCase)&&"number"==typeof n.titleCase.length&&Array.prototype.toString.call(n.titleCase)?(n.titleCase=n.titleCase,n.titleCase.forEach(function(a){C[a+""]=a+""}),i=!0):i=!!n.titleCase,n.custom&&Array.isArray(n.custom)&&"number"==typeof n.custom.length&&Array.prototype.toString.call(n.custom)&&(n.custom=n.custom,n.custom.forEach(function(a){C[a+""]=a+""})),Object.keys(C).forEach(function(n){var t;t=n.length>1?new RegExp("\\b"+e.escapeChars(n)+"\\b","gi"):new RegExp(e.escapeChars(n),"gi"),a=a.replace(t,C[n])});for(d in C)z+=d}for(z+=k,z=e.escapeChars(z),p=!1,y=!1,c=0,g=(a=a.replace(/(^\s+|\s+$)/g,"")).length;c=0?(A+=d,d=""):!0===y?(d=e.diatricMap[A]+e.charMap[d],A=""):d=p&&e.charMap[d].match(/[A-Za-z0-9]/)?" "+e.charMap[d]:e.charMap[d],p=!1,y=!1):d in e.diatricMap?(A+=d,d="",c===g-1&&(d=e.diatricMap[A]),y=!0):!l[d]||s&&-1!==e.uricChars.indexOf(d)||r&&-1!==e.uricNoSlashChars.indexOf(d)?(!0===y?(d=e.diatricMap[A]+d,A="",y=!1):p&&(/[A-Za-z0-9]/.test(d)||f.substr(-1).match(/A-Za-z0-9]/))&&(d=" "+d),p=!1):(d=p||f.substr(-1).match(/[A-Za-z0-9]/)?k+l[d]:l[d],d+=void 0!==a[c+1]&&a[c+1].match(/[A-Za-z0-9]/)?k:"",p=!0),f+=d.replace(new RegExp("[^\\w\\s"+z+"_-]","g"),k);return i&&(f=f.replace(/(\w)(\S*)/g,function(a,e,n){var t=e.toUpperCase()+(null!==n?n:"");return Object.keys(C).indexOf(t.toLowerCase())<0?t:t.toLowerCase()})),f=f.replace(/\s+/g,k).replace(new RegExp("\\"+k+"+","g"),k).replace(new RegExp("(^\\"+k+"+|\\"+k+"+$)","g"),""),o&&f.length>o&&(m=f.charAt(o)===k,f=f.slice(0,o),m||(f=f.slice(0,f.lastIndexOf(k)))),t||i||(f=f.toLowerCase()),f},e.createSlug=function(a){return function(n){return e.getSlug(n,a)}},e.escapeChars=function(a){return a.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},e.isReplacedCustomChar=function(a,e){for(var n in e)if(e[n]===a)return!0}}); \ No newline at end of file diff --git a/src/speakingurl.ts b/src/speakingurl.ts index 42b7fe7..67fa840 100644 --- a/src/speakingurl.ts +++ b/src/speakingurl.ts @@ -1,4 +1,1418 @@ -import * as charMapper from './utils/charmap'; +/** + * charMap + * @type {Object} + */ +export const charMap: { [key: string]: string } = { + + // latin + 'À': 'A', + 'Á': 'A', + 'Â': 'A', + 'Ã': 'A', + 'Ä': 'Ae', + 'Å': 'A', + 'Æ': 'AE', + 'Ç': 'C', + 'È': 'E', + 'É': 'E', + 'Ê': 'E', + 'Ë': 'E', + 'Ì': 'I', + 'Í': 'I', + 'Î': 'I', + 'Ï': 'I', + 'Ð': 'D', + 'Ñ': 'N', + 'Ò': 'O', + 'Ó': 'O', + 'Ô': 'O', + 'Õ': 'O', + 'Ö': 'Oe', + 'Ő': 'O', + 'Ø': 'O', + 'Ù': 'U', + 'Ú': 'U', + 'Û': 'U', + 'Ü': 'Ue', + 'Ű': 'U', + 'Ý': 'Y', + 'Þ': 'TH', + 'ß': 'ss', + 'à': 'a', + 'á': 'a', + 'â': 'a', + 'ã': 'a', + 'ä': 'ae', + 'å': 'a', + 'æ': 'ae', + 'ç': 'c', + 'è': 'e', + 'é': 'e', + 'ê': 'e', + 'ë': 'e', + 'ì': 'i', + 'í': 'i', + 'î': 'i', + 'ï': 'i', + 'ð': 'd', + 'ñ': 'n', + 'ò': 'o', + 'ó': 'o', + 'ô': 'o', + 'õ': 'o', + 'ö': 'oe', + 'ő': 'o', + 'ø': 'o', + 'ù': 'u', + 'ú': 'u', + 'û': 'u', + 'ü': 'ue', + 'ű': 'u', + 'ý': 'y', + 'þ': 'th', + 'ÿ': 'y', + 'ẞ': 'SS', + + // language specific + + // Arabic + 'ا': 'a', + 'أ': 'a', + 'إ': 'i', + 'آ': 'aa', + 'ؤ': 'u', + 'ئ': 'e', + 'ء': 'a', + 'ب': 'b', + 'ت': 't', + 'ث': 'th', + 'ج': 'j', + 'ح': 'h', + 'خ': 'kh', + 'د': 'd', + 'ذ': 'th', + 'ر': 'r', + 'ز': 'z', + 'س': 's', + 'ش': 'sh', + 'ص': 's', + 'ض': 'dh', + 'ط': 't', + 'ظ': 'z', + 'ع': 'a', + 'غ': 'gh', + 'ف': 'f', + 'ق': 'q', + 'ك': 'k', + 'ل': 'l', + 'م': 'm', + 'ن': 'n', + 'ه': 'h', + 'و': 'w', + 'ي': 'y', + 'ى': 'a', + 'ة': 'h', + 'ﻻ': 'la', + 'ﻷ': 'laa', + 'ﻹ': 'lai', + 'ﻵ': 'laa', + + // Persian additional characters than Arabic + 'گ': 'g', + 'چ': 'ch', + 'پ': 'p', + 'ژ': 'zh', + 'ک': 'k', + 'ی': 'y', + + // Arabic diactrics + 'َ': 'a', + 'ً': 'an', + 'ِ': 'e', + 'ٍ': 'en', + 'ُ': 'u', + 'ٌ': 'on', + 'ْ': '', + + // Arabic numbers + '٠': '0', + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + + // Persian numbers + '۰': '0', + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + + // Burmese consonants + 'က': 'k', + 'ခ': 'kh', + 'ဂ': 'g', + 'ဃ': 'ga', + 'င': 'ng', + 'စ': 's', + 'ဆ': 'sa', + 'ဇ': 'z', + 'စျ': 'za', + 'ည': 'ny', + 'ဋ': 't', + 'ဌ': 'ta', + 'ဍ': 'd', + 'ဎ': 'da', + 'ဏ': 'na', + 'တ': 't', + 'ထ': 'ta', + 'ဒ': 'd', + 'ဓ': 'da', + 'န': 'n', + 'ပ': 'p', + 'ဖ': 'pa', + 'ဗ': 'b', + 'ဘ': 'ba', + 'မ': 'm', + 'ယ': 'y', + 'ရ': 'ya', + 'လ': 'l', + 'ဝ': 'w', + 'သ': 'th', + 'ဟ': 'h', + 'ဠ': 'la', + 'အ': 'a', + // consonant character combos + 'ြ': 'y', + 'ျ': 'ya', + 'ွ': 'w', + 'ြွ': 'yw', + 'ျွ': 'ywa', + 'ှ': 'h', + // independent vowels + 'ဧ': 'e', + '၏': '-e', + 'ဣ': 'i', + 'ဤ': '-i', + 'ဉ': 'u', + 'ဦ': '-u', + 'ဩ': 'aw', + 'သြော': 'aw', + 'ဪ': 'aw', + // numbers + '၀': '0', + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + // virama and tone marks which are silent in transliteration + '္': '', + '့': '', + 'း': '', + + // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z', + + // Dhivehi + 'ހ': 'h', + 'ށ': 'sh', + 'ނ': 'n', + 'ރ': 'r', + 'ބ': 'b', + 'ޅ': 'lh', + 'ކ': 'k', + 'އ': 'a', + 'ވ': 'v', + 'މ': 'm', + 'ފ': 'f', + 'ދ': 'dh', + 'ތ': 'th', + 'ލ': 'l', + 'ގ': 'g', + 'ޏ': 'gn', + 'ސ': 's', + 'ޑ': 'd', + 'ޒ': 'z', + 'ޓ': 't', + 'ޔ': 'y', + 'ޕ': 'p', + 'ޖ': 'j', + 'ޗ': 'ch', + 'ޘ': 'tt', + 'ޙ': 'hh', + 'ޚ': 'kh', + 'ޛ': 'th', + 'ޜ': 'z', + 'ޝ': 'sh', + 'ޞ': 's', + 'ޟ': 'd', + 'ޠ': 't', + 'ޡ': 'z', + 'ޢ': 'a', + 'ޣ': 'gh', + 'ޤ': 'q', + 'ޥ': 'w', + 'ަ': 'a', + 'ާ': 'aa', + 'ި': 'i', + 'ީ': 'ee', + 'ު': 'u', + 'ޫ': 'oo', + 'ެ': 'e', + 'ޭ': 'ey', + 'ޮ': 'o', + 'ޯ': 'oa', + 'ް': '', + + // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian + // National system (2002) + 'ა': 'a', + 'ბ': 'b', + 'გ': 'g', + 'დ': 'd', + 'ე': 'e', + 'ვ': 'v', + 'ზ': 'z', + 'თ': 't', + 'ი': 'i', + 'კ': 'k', + 'ლ': 'l', + 'მ': 'm', + 'ნ': 'n', + 'ო': 'o', + 'პ': 'p', + 'ჟ': 'zh', + 'რ': 'r', + 'ს': 's', + 'ტ': 't', + 'უ': 'u', + 'ფ': 'p', + 'ქ': 'k', + 'ღ': 'gh', + 'ყ': 'q', + 'შ': 'sh', + 'ჩ': 'ch', + 'ც': 'ts', + 'ძ': 'dz', + 'წ': 'ts', + 'ჭ': 'ch', + 'ხ': 'kh', + 'ჯ': 'j', + 'ჰ': 'h', + + // Greek + 'α': 'a', + 'β': 'v', + 'γ': 'g', + 'δ': 'd', + 'ε': 'e', + 'ζ': 'z', + 'η': 'i', + 'θ': 'th', + 'ι': 'i', + 'κ': 'k', + 'λ': 'l', + 'μ': 'm', + 'ν': 'n', + 'ξ': 'ks', + 'ο': 'o', + 'π': 'p', + 'ρ': 'r', + 'σ': 's', + 'τ': 't', + 'υ': 'y', + 'φ': 'f', + 'χ': 'x', + 'ψ': 'ps', + 'ω': 'o', + 'ά': 'a', + 'έ': 'e', + 'ί': 'i', + 'ό': 'o', + 'ύ': 'y', + 'ή': 'i', + 'ώ': 'o', + 'ς': 's', + 'ϊ': 'i', + 'ΰ': 'y', + 'ϋ': 'y', + 'ΐ': 'i', + 'Α': 'A', + 'Β': 'B', + 'Γ': 'G', + 'Δ': 'D', + 'Ε': 'E', + 'Ζ': 'Z', + 'Η': 'I', + 'Θ': 'TH', + 'Ι': 'I', + 'Κ': 'K', + 'Λ': 'L', + 'Μ': 'M', + 'Ν': 'N', + 'Ξ': 'KS', + 'Ο': 'O', + 'Π': 'P', + 'Ρ': 'R', + 'Σ': 'S', + 'Τ': 'T', + 'Υ': 'Y', + 'Φ': 'F', + 'Χ': 'X', + 'Ψ': 'PS', + 'Ω': 'O', + 'Ά': 'A', + 'Έ': 'E', + 'Ί': 'I', + 'Ό': 'O', + 'Ύ': 'Y', + 'Ή': 'I', + 'Ώ': 'O', + 'Ϊ': 'I', + 'Ϋ': 'Y', + + // Latvian + 'ā': 'a', + // 'č': 'c', // duplicate + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + // 'š': 's', // duplicate + 'ū': 'u', + // 'ž': 'z', // duplicate + 'Ā': 'A', + // 'Č': 'C', // duplicate + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'I', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + // 'Š': 'S', // duplicate + 'Ū': 'U', + // 'Ž': 'Z', // duplicate + + // Macedonian + 'Ќ': 'Kj', + 'ќ': 'kj', + 'Љ': 'Lj', + 'љ': 'lj', + 'Њ': 'Nj', + 'њ': 'nj', + 'Тс': 'Ts', + 'тс': 'ts', + + // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + // 'ó': 'o', // duplicate + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'E', + 'Ł': 'L', + 'Ń': 'N', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z', + + // Ukranian + 'Є': 'Ye', + 'І': 'I', + 'Ї': 'Yi', + 'Ґ': 'G', + 'є': 'ye', + 'і': 'i', + 'ї': 'yi', + 'ґ': 'g', + + // Romanian + 'ă': 'a', + 'Ă': 'A', + 'ș': 's', + 'Ș': 'S', + // 'ş': 's', // duplicate + // 'Ş': 'S', // duplicate + 'ț': 't', + 'Ț': 'T', + 'ţ': 't', + 'Ţ': 'T', + + // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian + // ICAO + + 'а': 'a', + 'б': 'b', + 'в': 'v', + 'г': 'g', + 'д': 'd', + 'е': 'e', + 'ё': 'yo', + 'ж': 'zh', + 'з': 'z', + 'и': 'i', + 'й': 'i', + 'к': 'k', + 'л': 'l', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'p', + 'р': 'r', + 'с': 's', + 'т': 't', + 'у': 'u', + 'ф': 'f', + 'х': 'kh', + 'ц': 'c', + 'ч': 'ch', + 'ш': 'sh', + 'щ': 'sh', + 'ъ': '', + 'ы': 'y', + 'ь': '', + 'э': 'e', + 'ю': 'yu', + 'я': 'ya', + 'А': 'A', + 'Б': 'B', + 'В': 'V', + 'Г': 'G', + 'Д': 'D', + 'Е': 'E', + 'Ё': 'Yo', + 'Ж': 'Zh', + 'З': 'Z', + 'И': 'I', + 'Й': 'I', + 'К': 'K', + 'Л': 'L', + 'М': 'M', + 'Н': 'N', + 'О': 'O', + 'П': 'P', + 'Р': 'R', + 'С': 'S', + 'Т': 'T', + 'У': 'U', + 'Ф': 'F', + 'Х': 'Kh', + 'Ц': 'C', + 'Ч': 'Ch', + 'Ш': 'Sh', + 'Щ': 'Sh', + 'Ъ': '', + 'Ы': 'Y', + 'Ь': '', + 'Э': 'E', + 'Ю': 'Yu', + 'Я': 'Ya', + + // Serbian + 'ђ': 'dj', + 'ј': 'j', + // 'љ': 'lj', // duplicate + // 'њ': 'nj', // duplicate + 'ћ': 'c', + 'џ': 'dz', + 'Ђ': 'Dj', + 'Ј': 'j', + // 'Љ': 'Lj', // duplicate + // 'Њ': 'Nj', // duplicate + 'Ћ': 'C', + 'Џ': 'Dz', + + // Slovak + 'ľ': 'l', + 'ĺ': 'l', + 'ŕ': 'r', + 'Ľ': 'L', + 'Ĺ': 'L', + 'Ŕ': 'R', + + // Turkish + 'ş': 's', + 'Ş': 'S', + 'ı': 'i', + 'İ': 'I', + // 'ç': 'c', // duplicate + // 'Ç': 'C', // duplicate + // 'ü': 'u', // duplicate, see langCharMap + // 'Ü': 'U', // duplicate, see langCharMap + // 'ö': 'o', // duplicate, see langCharMap + // 'Ö': 'O', // duplicate, see langCharMap + 'ğ': 'g', + 'Ğ': 'G', + + // Vietnamese + 'ả': 'a', + 'Ả': 'A', + 'ẳ': 'a', + 'Ẳ': 'A', + 'ẩ': 'a', + 'Ẩ': 'A', + 'đ': 'd', + 'Đ': 'D', + 'ẹ': 'e', + 'Ẹ': 'E', + 'ẽ': 'e', + 'Ẽ': 'E', + 'ẻ': 'e', + 'Ẻ': 'E', + 'ế': 'e', + 'Ế': 'E', + 'ề': 'e', + 'Ề': 'E', + 'ệ': 'e', + 'Ệ': 'E', + 'ễ': 'e', + 'Ễ': 'E', + 'ể': 'e', + 'Ể': 'E', + 'ỏ': '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', + 'ị': 'i', + 'Ị': 'I', + 'ĩ': 'i', + 'Ĩ': 'I', + 'ỉ': 'i', + 'Ỉ': 'i', + 'ủ': 'u', + 'Ủ': 'U', + 'ụ': 'u', + 'Ụ': 'U', + 'ũ': 'u', + 'Ũ': 'U', + 'ư': 'u', + 'Ư': 'U', + 'ứ': 'u', + 'Ứ': 'U', + 'ừ': 'u', + 'Ừ': 'U', + 'ự': 'u', + 'Ự': 'U', + 'ữ': 'u', + 'Ữ': 'U', + 'ử': 'u', + 'Ử': 'ư', + 'ỷ': 'y', + 'Ỷ': 'y', + 'ỳ': 'y', + 'Ỳ': 'Y', + 'ỵ': 'y', + 'Ỵ': 'Y', + 'ỹ': 'y', + 'Ỹ': 'Y', + 'ạ': 'a', + 'Ạ': 'A', + 'ấ': 'a', + 'Ấ': 'A', + 'ầ': 'a', + 'Ầ': 'A', + 'ậ': 'a', + 'Ậ': 'A', + 'ẫ': 'a', + 'Ẫ': 'A', + // 'ă': 'a', // duplicate + // 'Ă': 'A', // duplicate + 'ắ': 'a', + 'Ắ': 'A', + 'ằ': 'a', + 'Ằ': 'A', + 'ặ': 'a', + 'Ặ': 'A', + 'ẵ': 'a', + 'Ẵ': 'A', + "⓪": "0", + "①": "1", + "②": "2", + "③": "3", + "④": "4", + "⑤": "5", + "⑥": "6", + "⑦": "7", + "⑧": "8", + "⑨": "9", + "⑩": "10", + "⑪": "11", + "⑫": "12", + "⑬": "13", + "⑭": "14", + "⑮": "15", + "⑯": "16", + "⑰": "17", + "⑱": "18", + "⑲": "18", + "⑳": "18", + + "⓵": "1", + "⓶": "2", + "⓷": "3", + "⓸": "4", + "⓹": "5", + "⓺": "6", + "⓻": "7", + "⓼": "8", + "⓽": "9", + "⓾": "10", + + "⓿": "0", + "⓫": "11", + "⓬": "12", + "⓭": "13", + "⓮": "14", + "⓯": "15", + "⓰": "16", + "⓱": "17", + "⓲": "18", + "⓳": "19", + "⓴": "20", + + "Ⓐ": "A", + "Ⓑ": "B", + "Ⓒ": "C", + "Ⓓ": "D", + "Ⓔ": "E", + "Ⓕ": "F", + "Ⓖ": "G", + "Ⓗ": "H", + "Ⓘ": "I", + "Ⓙ": "J", + "Ⓚ": "K", + "Ⓛ": "L", + "Ⓜ": "M", + "Ⓝ": "N", + "Ⓞ": "O", + "Ⓟ": "P", + "Ⓠ": "Q", + "Ⓡ": "R", + "Ⓢ": "S", + "Ⓣ": "T", + "Ⓤ": "U", + "Ⓥ": "V", + "Ⓦ": "W", + "Ⓧ": "X", + "Ⓨ": "Y", + "Ⓩ": "Z", + + "ⓐ": "a", + "ⓑ": "b", + "ⓒ": "c", + "ⓓ": "d", + "ⓔ": "e", + "ⓕ": "f", + "ⓖ": "g", + "ⓗ": "h", + "ⓘ": "i", + "ⓙ": "j", + "ⓚ": "k", + "ⓛ": "l", + "ⓜ": "m", + "ⓝ": "n", + "ⓞ": "o", + "ⓟ": "p", + "ⓠ": "q", + "ⓡ": "r", + "ⓢ": "s", + "ⓣ": "t", + "ⓤ": "u", + "ⓦ": "v", + "ⓥ": "w", + "ⓧ": "x", + "ⓨ": "y", + "ⓩ": "z", + + // symbols + '“': '"', + '”': '"', + '‘': "'", + '’': "'", + '∂': 'd', + 'ƒ': 'f', + '™': '(TM)', + '©': '(C)', + 'œ': 'oe', + 'Œ': 'OE', + '®': '(R)', + '†': '+', + '℠': '(SM)', + '…': '...', + '˚': 'o', + 'º': 'o', + 'ª': 'a', + '•': '*', + '၊': ',', + '။': '.', + + // currency + '$': 'USD', + '€': 'EUR', + '₢': 'BRN', + '₣': 'FRF', + '£': 'GBP', + '₤': 'ITL', + '₦': 'NGN', + '₧': 'ESP', + '₩': 'KRW', + '₪': 'ILS', + '₫': 'VND', + '₭': 'LAK', + '₮': 'MNT', + '₯': 'GRD', + '₱': 'ARS', + '₲': 'PYG', + '₳': 'ARA', + '₴': 'UAH', + '₵': 'GHS', + '¢': 'cent', + '¥': 'CNY', + '元': 'CNY', + '円': 'YEN', + '﷼': 'IRR', + '₠': 'EWE', + '฿': 'THB', + '₨': 'INR', + '₹': 'INR', + '₰': 'PF', + '₺': 'TRY', + '؋': 'AFN', + '₼': 'AZN', + 'лв': 'BGN', + '៛': 'KHR', + '₡': 'CRC', + '₸': 'KZT', + 'ден': 'MKD', + 'zł': 'PLN', + '₽': 'RUB', + '₾': 'GEL' +}; + +/** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ +export const lookAheadCharArray = [ + // burmese + '်', + + // Dhivehi + 'ް' +]; + +/** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ +export const diatricMap = { + // Burmese + // dependent vowels + 'ာ': 'a', + 'ါ': 'a', + 'ေ': 'e', + 'ဲ': 'e', + 'ိ': 'i', + 'ီ': 'i', + 'ို': 'o', + 'ု': 'u', + 'ူ': 'u', + 'ေါင်': 'aung', + 'ော': 'aw', + 'ော်': 'aw', + 'ေါ': 'aw', + 'ေါ်': 'aw', + '်': '်', // this is special case but the character will be converted to latin in the code + 'က်': 'et', + 'ိုက်': 'aik', + 'ောက်': 'auk', + 'င်': 'in', + 'ိုင်': 'aing', + 'ောင်': 'aung', + 'စ်': 'it', + 'ည်': 'i', + 'တ်': 'at', + 'ိတ်': 'eik', + 'ုတ်': 'ok', + 'ွတ်': 'ut', + 'ေတ်': 'it', + 'ဒ်': 'd', + 'ိုဒ်': 'ok', + 'ုဒ်': 'ait', + 'န်': 'an', + 'ာန်': 'an', + 'ိန်': 'ein', + 'ုန်': 'on', + 'ွန်': 'un', + 'ပ်': 'at', + 'ိပ်': 'eik', + 'ုပ်': 'ok', + 'ွပ်': 'ut', + 'န်ုပ်': 'nub', + 'မ်': 'an', + 'ိမ်': 'ein', + 'ုမ်': 'on', + 'ွမ်': 'un', + 'ယ်': 'e', + 'ိုလ်': 'ol', + 'ဉ်': 'in', + 'ံ': 'an', + 'ိံ': 'ein', + 'ုံ': 'on', + + // Dhivehi + 'ައް': 'ah', + 'ަށް': 'ah' +}; + +/** + * langCharMap language specific characters translations + * @type {Object} + */ +export const langCharMap = { + 'en': {}, // default language + + 'az': { // Azerbaijani + 'ç': 'c', + 'ə': 'e', + 'ğ': 'g', + 'ı': 'i', + 'ö': 'o', + 'ş': 's', + 'ü': 'u', + 'Ç': 'C', + 'Ə': 'E', + 'Ğ': 'G', + 'İ': 'I', + 'Ö': 'O', + 'Ş': 'S', + 'Ü': 'U' + }, + + 'cs': { // Czech + 'č': 'c', + 'ď': 'd', + 'ě': 'e', + 'ň': 'n', + 'ř': 'r', + 'š': 's', + 'ť': 't', + 'ů': 'u', + 'ž': 'z', + 'Č': 'C', + 'Ď': 'D', + 'Ě': 'E', + 'Ň': 'N', + 'Ř': 'R', + 'Š': 'S', + 'Ť': 'T', + 'Ů': 'U', + 'Ž': 'Z' + }, + + 'fi': { // Finnish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', // ok + 'Ä': 'A', // ok + 'ö': 'o', // ok + 'Ö': 'O' // ok + }, + + 'hu': { // Hungarian + 'ä': 'a', // ok + 'Ä': 'A', // ok + // 'á': 'a', duplicate see charMap/latin + // 'Á': 'A', duplicate see charMap/latin + 'ö': 'o', // ok + 'Ö': 'O', // ok + // 'ő': 'o', duplicate see charMap/latin + // 'Ő': 'O', duplicate see charMap/latin + 'ü': 'u', + 'Ü': 'U', + 'ű': 'u', + 'Ű': 'U' + }, + + 'lt': { // Lithuanian + 'ą': 'a', + 'č': 'c', + 'ę': 'e', + 'ė': 'e', + 'į': 'i', + 'š': 's', + 'ų': 'u', + 'ū': 'u', + 'ž': 'z', + 'Ą': 'A', + 'Č': 'C', + 'Ę': 'E', + 'Ė': 'E', + 'Į': 'I', + 'Š': 'S', + 'Ų': 'U', + 'Ū': 'U' + }, + + 'lv': { // Latvian + 'ā': 'a', + 'č': 'c', + 'ē': 'e', + 'ģ': 'g', + 'ī': 'i', + 'ķ': 'k', + 'ļ': 'l', + 'ņ': 'n', + 'š': 's', + 'ū': 'u', + 'ž': 'z', + 'Ā': 'A', + 'Č': 'C', + 'Ē': 'E', + 'Ģ': 'G', + 'Ī': 'i', + 'Ķ': 'k', + 'Ļ': 'L', + 'Ņ': 'N', + 'Š': 'S', + 'Ū': 'u', + 'Ž': 'Z' + }, + + 'pl': { // Polish + 'ą': 'a', + 'ć': 'c', + 'ę': 'e', + 'ł': 'l', + 'ń': 'n', + 'ó': 'o', + 'ś': 's', + 'ź': 'z', + 'ż': 'z', + 'Ą': 'A', + 'Ć': 'C', + 'Ę': 'e', + 'Ł': 'L', + 'Ń': 'N', + 'Ó': 'O', + 'Ś': 'S', + 'Ź': 'Z', + 'Ż': 'Z' + }, + + 'sv': { // Swedish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + 'ä': 'a', // ok + 'Ä': 'A', // ok + 'ö': 'o', // ok + 'Ö': 'O' // ok + }, + + 'sk': { // Slovak + 'ä': 'a', + 'Ä': 'A' + }, + + 'sr': { // Serbian + 'љ': 'lj', + 'њ': 'nj', + 'Љ': 'Lj', + 'Њ': 'Nj', + 'đ': 'dj', + 'Đ': 'Dj' + }, + + 'tr': { // Turkish + 'Ü': 'U', + 'Ö': 'O', + 'ü': 'u', + 'ö': 'o' + } +}; + +/** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ +export const symbolMap = { + 'ar': { + '∆': 'delta', + '∞': 'la-nihaya', + '♥': 'hob', + '&': 'wa', + '|': 'aw', + '<': 'aqal-men', + '>': 'akbar-men', + '∑': 'majmou', + '¤': 'omla' + }, + + 'az': {}, + + 'ca': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'amor', + '&': 'i', + '|': 'o', + '<': 'menys que', + '>': 'mes que', + '∑': 'suma dels', + '¤': 'moneda' + }, + + 'cs': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'nebo', + '<': 'mensi nez', + '>': 'vetsi nez', + '∑': 'soucet', + '¤': 'mena' + }, + + 'de': { + '∆': 'delta', + '∞': 'unendlich', + '♥': 'Liebe', + '&': 'und', + '|': 'oder', + '<': 'kleiner als', + '>': 'groesser als', + '∑': 'Summe von', + '¤': 'Waehrung' + }, + + 'dv': { + '∆': 'delta', + '∞': 'kolunulaa', + '♥': 'loabi', + '&': 'aai', + '|': 'noonee', + '<': 'ah vure kuda', + '>': 'ah vure bodu', + '∑': 'jumula', + '¤': 'faisaa' + }, + + 'en': { + '∆': 'delta', + '∞': 'infinity', + '♥': 'love', + '&': 'and', + '|': 'or', + '<': 'less than', + '>': 'greater than', + '∑': 'sum', + '¤': 'currency' + }, + + 'es': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'y', + '|': 'u', + '<': 'menos que', + '>': 'mas que', + '∑': 'suma de los', + '¤': 'moneda' + }, + + 'fa': { + '∆': 'delta', + '∞': 'bi-nahayat', + '♥': 'eshgh', + '&': 'va', + '|': 'ya', + '<': 'kamtar-az', + '>': 'bishtar-az', + '∑': 'majmooe', + '¤': 'vahed' + }, + + 'fi': { + '∆': 'delta', + '∞': 'aarettomyys', + '♥': 'rakkaus', + '&': 'ja', + '|': 'tai', + '<': 'pienempi kuin', + '>': 'suurempi kuin', + '∑': 'summa', + '¤': 'valuutta' + }, + + 'fr': { + '∆': 'delta', + '∞': 'infiniment', + '♥': 'Amour', + '&': 'et', + '|': 'ou', + '<': 'moins que', + '>': 'superieure a', + '∑': 'somme des', + '¤': 'monnaie' + }, + + 'ge': { + '∆': 'delta', + '∞': 'usasruloba', + '♥': 'siqvaruli', + '&': 'da', + '|': 'an', + '<': 'naklebi', + '>': 'meti', + '∑': 'jami', + '¤': 'valuta' + }, + + 'gr': {}, + + 'hu': { + '∆': 'delta', + '∞': 'vegtelen', + '♥': 'szerelem', + '&': 'es', + '|': 'vagy', + '<': 'kisebb mint', + '>': 'nagyobb mint', + '∑': 'szumma', + '¤': 'penznem' + }, + + 'it': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amore', + '&': 'e', + '|': 'o', + '<': 'minore di', + '>': 'maggiore di', + '∑': 'somma', + '¤': 'moneta' + }, + + 'lt': { + '∆': 'delta', + '∞': 'begalybe', + '♥': 'meile', + '&': 'ir', + '|': 'ar', + '<': 'maziau nei', + '>': 'daugiau nei', + '∑': 'suma', + '¤': 'valiuta' + }, + + 'lv': { + '∆': 'delta', + '∞': 'bezgaliba', + '♥': 'milestiba', + '&': 'un', + '|': 'vai', + '<': 'mazak neka', + '>': 'lielaks neka', + '∑': 'summa', + '¤': 'valuta' + }, + + 'my': { + '∆': 'kwahkhyaet', + '∞': 'asaonasme', + '♥': 'akhyait', + '&': 'nhin', + '|': 'tho', + '<': 'ngethaw', + '>': 'kyithaw', + '∑': 'paungld', + '¤': 'ngwekye' + }, + + 'mk': {}, + + 'nl': { + '∆': 'delta', + '∞': 'oneindig', + '♥': 'liefde', + '&': 'en', + '|': 'of', + '<': 'kleiner dan', + '>': 'groter dan', + '∑': 'som', + '¤': 'valuta' + }, + + 'pl': { + '∆': 'delta', + '∞': 'nieskonczonosc', + '♥': 'milosc', + '&': 'i', + '|': 'lub', + '<': 'mniejsze niz', + '>': 'wieksze niz', + '∑': 'suma', + '¤': 'waluta' + }, + + 'pt': { + '∆': 'delta', + '∞': 'infinito', + '♥': 'amor', + '&': 'e', + '|': 'ou', + '<': 'menor que', + '>': 'maior que', + '∑': 'soma', + '¤': 'moeda' + }, + + 'ro': { + '∆': 'delta', + '∞': 'infinit', + '♥': 'dragoste', + '&': 'si', + '|': 'sau', + '<': 'mai mic ca', + '>': 'mai mare ca', + '∑': 'suma', + '¤': 'valuta' + }, + + 'ru': { + '∆': 'delta', + '∞': 'beskonechno', + '♥': 'lubov', + '&': 'i', + '|': 'ili', + '<': 'menshe', + '>': 'bolshe', + '∑': 'summa', + '¤': 'valjuta' + }, + + 'sk': { + '∆': 'delta', + '∞': 'nekonecno', + '♥': 'laska', + '&': 'a', + '|': 'alebo', + '<': 'menej ako', + '>': 'viac ako', + '∑': 'sucet', + '¤': 'mena' + }, + + 'sr': {}, + + 'tr': { + '∆': 'delta', + '∞': 'sonsuzluk', + '♥': 'ask', + '&': 've', + '|': 'veya', + '<': 'kucuktur', + '>': 'buyuktur', + '∑': 'toplam', + '¤': 'para birimi' + }, + + 'uk': { + '∆': 'delta', + '∞': 'bezkinechnist', + '♥': 'lubov', + '&': 'i', + '|': 'abo', + '<': 'menshe', + '>': 'bilshe', + '∑': 'suma', + '¤': 'valjuta' + }, + + 'vn': { + '∆': 'delta', + '∞': 'vo cuc', + '♥': 'yeu', + '&': 'va', + '|': 'hoac', + '<': 'nho hon', + '>': 'lon hon', + '∑': 'tong', + '¤': 'tien te' + } +}; + +export const uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); + +export const uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); + +export const markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); /** * Interface for the SpeakingURL options * @see {@link https://github.com/pid/speakingurl#usage} @@ -111,8 +1525,8 @@ export const getSlug = (input: string, opts: speakingurlOptions | string): strin separator = opts; } - symbol = charMapper.symbolMap.en; - langChar = charMapper.langCharMap.en; + symbol = symbolMap.en; + langChar = langCharMap.en; if (typeof opts === 'object') { opts = opts; @@ -126,23 +1540,23 @@ export const getSlug = (input: string, opts: speakingurlOptions | string): strin separator = opts.separator || separator; if (uricFlag) { - allowedChars += charMapper.uricChars; + allowedChars += uricChars; } if (uricNoSlashFlag) { - allowedChars += charMapper.uricNoSlashChars; + allowedChars += uricNoSlashChars; } if (markFlag) { - allowedChars += charMapper.markChars; + allowedChars += markChars; } - symbol = (opts.lang && charMapper.symbolMap[opts.lang] && convertSymbols) ? - charMapper.symbolMap[opts.lang] : (convertSymbols ? charMapper.symbolMap.en : {}); + symbol = (opts.lang && symbolMap[opts.lang] && convertSymbols) ? + symbolMap[opts.lang] : (convertSymbols ? symbolMap.en : {}); - langChar = (opts.lang && charMapper.langCharMap[opts.lang]) ? - charMapper.langCharMap[opts.lang] : - opts.lang === false || opts.lang === true ? {} : charMapper.langCharMap.en; + langChar = (opts.lang && langCharMap[opts.lang]) ? + langCharMap[opts.lang] : + opts.lang === false || opts.lang === true ? {} : langCharMap.en; // if titleCase config is an Array, rewrite to object format if (opts.titleCase && Array.isArray(opts.titleCase) && typeof opts.titleCase.length === 'number' && Array.prototype.toString.call(opts.titleCase)) { @@ -205,34 +1619,34 @@ export const getSlug = (input: string, opts: speakingurlOptions | string): strin ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? ' ' + langChar[ch] : langChar[ch]; lastCharWasSymbol = false; - } else if (ch in charMapper.charMap) { + } else if (ch in charMap) { // the transliteration changes entirely when some special characters are added - if (i + 1 < l && charMapper.lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { diatricString += ch; ch = ''; } else if (lastCharWasDiatric === true) { - ch = charMapper.diatricMap[diatricString] + charMapper.charMap[ch]; + ch = diatricMap[diatricString] + charMap[ch]; diatricString = ''; } else { // process diactrics chars - ch = lastCharWasSymbol && charMapper.charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMapper.charMap[ch] : charMapper.charMap[ch]; + ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? ' ' + charMap[ch] : charMap[ch]; } lastCharWasSymbol = false; lastCharWasDiatric = false; - } else if (ch in charMapper.diatricMap) { + } else if (ch in diatricMap) { diatricString += ch; ch = ''; // end of string, put the whole meaningful word if (i === l - 1) { - ch = charMapper.diatricMap[diatricString]; + ch = diatricMap[diatricString]; } lastCharWasDiatric = true; } else if ( // process symbol chars - symbol[ch] && !(uricFlag && charMapper.uricChars - .indexOf(ch) !== -1) && !(uricNoSlashFlag && charMapper.uricNoSlashChars - // .indexOf(ch) !== -1) && !(markFlag && charMapper.markChars + symbol[ch] && !(uricFlag && uricChars + .indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars + // .indexOf(ch) !== -1) && !(markFlag && markChars .indexOf(ch) !== -1)) { ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ''; @@ -240,7 +1654,7 @@ export const getSlug = (input: string, opts: speakingurlOptions | string): strin lastCharWasSymbol = true; } else { if (lastCharWasDiatric === true) { - ch = charMapper.diatricMap[diatricString] + ch; + ch = diatricMap[diatricString] + ch; diatricString = ''; lastCharWasDiatric = false; } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { @@ -282,7 +1696,7 @@ export const getSlug = (input: string, opts: speakingurlOptions | string): strin } return result; -}; +} /** * createSlug curried(opts)(input) @@ -298,7 +1712,7 @@ export const createSlug = (opts: {} | string) => { return function getSlugWithConfig(input: string): string { return getSlug(input, opts); }; -}; +} /** * escape Chars @@ -306,7 +1720,7 @@ export const createSlug = (opts: {} | string) => { */ export const escapeChars = (input: string): string => { return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, '\\$&'); -}; +} /** * check if the char is an already converted char from custom list @@ -319,40 +1733,4 @@ export const isReplacedCustomChar = (ch: string, customReplacements: {}) => { return true; } } -}; - -/* modules, require and stuff like that */ -export declare var define: any; -declare var module: any; -declare var window: any; -(function () { - - let exportables = [createSlug, getSlug, isReplacedCustomChar, escapeChars]; - - // Node: Export function - if (typeof module !== "undefined" && module.exports) { - exportables.forEach(exp => { - return module.exports[nameof(exp)] = exp; - }); - } - // AMD/requirejs: Define the module - else if (typeof define === 'function' && define.amd) { - exportables.forEach(exp => { - return define(() => exp); - }); - } - //expose it through Window - else if (window) { - exportables.forEach((exp) => { - return (window as any)[nameof(exp)] = exp; - }); - } - - function nameof(fn: any): string { - return typeof fn === 'undefined' ? '' : fn.name ? fn.name : (() => { - let result = /^function\s+([\w\$]+)\s*\(/.exec(fn.toString()); - return !result ? '' : result[1]; - })(); - } - -}()); \ No newline at end of file +} \ No newline at end of file diff --git a/src/utils/charmap.ts b/src/utils/charmap.ts deleted file mode 100644 index c6f14d5..0000000 --- a/src/utils/charmap.ts +++ /dev/null @@ -1,1415 +0,0 @@ -/** - * charMap - * @type {Object} - */ -export const charMap: { [key: string]: string } = { - - // latin - 'À': 'A', - 'Á': 'A', - 'Â': 'A', - 'Ã': 'A', - 'Ä': 'Ae', - 'Å': 'A', - 'Æ': 'AE', - 'Ç': 'C', - 'È': 'E', - 'É': 'E', - 'Ê': 'E', - 'Ë': 'E', - 'Ì': 'I', - 'Í': 'I', - 'Î': 'I', - 'Ï': 'I', - 'Ð': 'D', - 'Ñ': 'N', - 'Ò': 'O', - 'Ó': 'O', - 'Ô': 'O', - 'Õ': 'O', - 'Ö': 'Oe', - 'Ő': 'O', - 'Ø': 'O', - 'Ù': 'U', - 'Ú': 'U', - 'Û': 'U', - 'Ü': 'Ue', - 'Ű': 'U', - 'Ý': 'Y', - 'Þ': 'TH', - 'ß': 'ss', - 'à': 'a', - 'á': 'a', - 'â': 'a', - 'ã': 'a', - 'ä': 'ae', - 'å': 'a', - 'æ': 'ae', - 'ç': 'c', - 'è': 'e', - 'é': 'e', - 'ê': 'e', - 'ë': 'e', - 'ì': 'i', - 'í': 'i', - 'î': 'i', - 'ï': 'i', - 'ð': 'd', - 'ñ': 'n', - 'ò': 'o', - 'ó': 'o', - 'ô': 'o', - 'õ': 'o', - 'ö': 'oe', - 'ő': 'o', - 'ø': 'o', - 'ù': 'u', - 'ú': 'u', - 'û': 'u', - 'ü': 'ue', - 'ű': 'u', - 'ý': 'y', - 'þ': 'th', - 'ÿ': 'y', - 'ẞ': 'SS', - - // language specific - - // Arabic - 'ا': 'a', - 'أ': 'a', - 'إ': 'i', - 'آ': 'aa', - 'ؤ': 'u', - 'ئ': 'e', - 'ء': 'a', - 'ب': 'b', - 'ت': 't', - 'ث': 'th', - 'ج': 'j', - 'ح': 'h', - 'خ': 'kh', - 'د': 'd', - 'ذ': 'th', - 'ر': 'r', - 'ز': 'z', - 'س': 's', - 'ش': 'sh', - 'ص': 's', - 'ض': 'dh', - 'ط': 't', - 'ظ': 'z', - 'ع': 'a', - 'غ': 'gh', - 'ف': 'f', - 'ق': 'q', - 'ك': 'k', - 'ل': 'l', - 'م': 'm', - 'ن': 'n', - 'ه': 'h', - 'و': 'w', - 'ي': 'y', - 'ى': 'a', - 'ة': 'h', - 'ﻻ': 'la', - 'ﻷ': 'laa', - 'ﻹ': 'lai', - 'ﻵ': 'laa', - - // Persian additional characters than Arabic - 'گ': 'g', - 'چ': 'ch', - 'پ': 'p', - 'ژ': 'zh', - 'ک': 'k', - 'ی': 'y', - - // Arabic diactrics - 'َ': 'a', - 'ً': 'an', - 'ِ': 'e', - 'ٍ': 'en', - 'ُ': 'u', - 'ٌ': 'on', - 'ْ': '', - - // Arabic numbers - '٠': '0', - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - - // Persian numbers - '۰': '0', - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - - // Burmese consonants - 'က': 'k', - 'ခ': 'kh', - 'ဂ': 'g', - 'ဃ': 'ga', - 'င': 'ng', - 'စ': 's', - 'ဆ': 'sa', - 'ဇ': 'z', - 'စျ': 'za', - 'ည': 'ny', - 'ဋ': 't', - 'ဌ': 'ta', - 'ဍ': 'd', - 'ဎ': 'da', - 'ဏ': 'na', - 'တ': 't', - 'ထ': 'ta', - 'ဒ': 'd', - 'ဓ': 'da', - 'န': 'n', - 'ပ': 'p', - 'ဖ': 'pa', - 'ဗ': 'b', - 'ဘ': 'ba', - 'မ': 'm', - 'ယ': 'y', - 'ရ': 'ya', - 'လ': 'l', - 'ဝ': 'w', - 'သ': 'th', - 'ဟ': 'h', - 'ဠ': 'la', - 'အ': 'a', - // consonant character combos - 'ြ': 'y', - 'ျ': 'ya', - 'ွ': 'w', - 'ြွ': 'yw', - 'ျွ': 'ywa', - 'ှ': 'h', - // independent vowels - 'ဧ': 'e', - '၏': '-e', - 'ဣ': 'i', - 'ဤ': '-i', - 'ဉ': 'u', - 'ဦ': '-u', - 'ဩ': 'aw', - 'သြော': 'aw', - 'ဪ': 'aw', - // numbers - '၀': '0', - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - // virama and tone marks which are silent in transliteration - '္': '', - '့': '', - 'း': '', - - // Czech - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z', - - // Dhivehi - 'ހ': 'h', - 'ށ': 'sh', - 'ނ': 'n', - 'ރ': 'r', - 'ބ': 'b', - 'ޅ': 'lh', - 'ކ': 'k', - 'އ': 'a', - 'ވ': 'v', - 'މ': 'm', - 'ފ': 'f', - 'ދ': 'dh', - 'ތ': 'th', - 'ލ': 'l', - 'ގ': 'g', - 'ޏ': 'gn', - 'ސ': 's', - 'ޑ': 'd', - 'ޒ': 'z', - 'ޓ': 't', - 'ޔ': 'y', - 'ޕ': 'p', - 'ޖ': 'j', - 'ޗ': 'ch', - 'ޘ': 'tt', - 'ޙ': 'hh', - 'ޚ': 'kh', - 'ޛ': 'th', - 'ޜ': 'z', - 'ޝ': 'sh', - 'ޞ': 's', - 'ޟ': 'd', - 'ޠ': 't', - 'ޡ': 'z', - 'ޢ': 'a', - 'ޣ': 'gh', - 'ޤ': 'q', - 'ޥ': 'w', - 'ަ': 'a', - 'ާ': 'aa', - 'ި': 'i', - 'ީ': 'ee', - 'ު': 'u', - 'ޫ': 'oo', - 'ެ': 'e', - 'ޭ': 'ey', - 'ޮ': 'o', - 'ޯ': 'oa', - 'ް': '', - - // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian - // National system (2002) - 'ა': 'a', - 'ბ': 'b', - 'გ': 'g', - 'დ': 'd', - 'ე': 'e', - 'ვ': 'v', - 'ზ': 'z', - 'თ': 't', - 'ი': 'i', - 'კ': 'k', - 'ლ': 'l', - 'მ': 'm', - 'ნ': 'n', - 'ო': 'o', - 'პ': 'p', - 'ჟ': 'zh', - 'რ': 'r', - 'ს': 's', - 'ტ': 't', - 'უ': 'u', - 'ფ': 'p', - 'ქ': 'k', - 'ღ': 'gh', - 'ყ': 'q', - 'შ': 'sh', - 'ჩ': 'ch', - 'ც': 'ts', - 'ძ': 'dz', - 'წ': 'ts', - 'ჭ': 'ch', - 'ხ': 'kh', - 'ჯ': 'j', - 'ჰ': 'h', - - // Greek - 'α': 'a', - 'β': 'v', - 'γ': 'g', - 'δ': 'd', - 'ε': 'e', - 'ζ': 'z', - 'η': 'i', - 'θ': 'th', - 'ι': 'i', - 'κ': 'k', - 'λ': 'l', - 'μ': 'm', - 'ν': 'n', - 'ξ': 'ks', - 'ο': 'o', - 'π': 'p', - 'ρ': 'r', - 'σ': 's', - 'τ': 't', - 'υ': 'y', - 'φ': 'f', - 'χ': 'x', - 'ψ': 'ps', - 'ω': 'o', - 'ά': 'a', - 'έ': 'e', - 'ί': 'i', - 'ό': 'o', - 'ύ': 'y', - 'ή': 'i', - 'ώ': 'o', - 'ς': 's', - 'ϊ': 'i', - 'ΰ': 'y', - 'ϋ': 'y', - 'ΐ': 'i', - 'Α': 'A', - 'Β': 'B', - 'Γ': 'G', - 'Δ': 'D', - 'Ε': 'E', - 'Ζ': 'Z', - 'Η': 'I', - 'Θ': 'TH', - 'Ι': 'I', - 'Κ': 'K', - 'Λ': 'L', - 'Μ': 'M', - 'Ν': 'N', - 'Ξ': 'KS', - 'Ο': 'O', - 'Π': 'P', - 'Ρ': 'R', - 'Σ': 'S', - 'Τ': 'T', - 'Υ': 'Y', - 'Φ': 'F', - 'Χ': 'X', - 'Ψ': 'PS', - 'Ω': 'O', - 'Ά': 'A', - 'Έ': 'E', - 'Ί': 'I', - 'Ό': 'O', - 'Ύ': 'Y', - 'Ή': 'I', - 'Ώ': 'O', - 'Ϊ': 'I', - 'Ϋ': 'Y', - - // Latvian - 'ā': 'a', - // 'č': 'c', // duplicate - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - // 'š': 's', // duplicate - 'ū': 'u', - // 'ž': 'z', // duplicate - 'Ā': 'A', - // 'Č': 'C', // duplicate - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'I', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - // 'Š': 'S', // duplicate - 'Ū': 'U', - // 'Ž': 'Z', // duplicate - - // Macedonian - 'Ќ': 'Kj', - 'ќ': 'kj', - 'Љ': 'Lj', - 'љ': 'lj', - 'Њ': 'Nj', - 'њ': 'nj', - 'Тс': 'Ts', - 'тс': 'ts', - - // Polish - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - // 'ó': 'o', // duplicate - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'E', - 'Ł': 'L', - 'Ń': 'N', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z', - - // Ukranian - 'Є': 'Ye', - 'І': 'I', - 'Ї': 'Yi', - 'Ґ': 'G', - 'є': 'ye', - 'і': 'i', - 'ї': 'yi', - 'ґ': 'g', - - // Romanian - 'ă': 'a', - 'Ă': 'A', - 'ș': 's', - 'Ș': 'S', - // 'ş': 's', // duplicate - // 'Ş': 'S', // duplicate - 'ț': 't', - 'Ț': 'T', - 'ţ': 't', - 'Ţ': 'T', - - // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian - // ICAO - - 'а': 'a', - 'б': 'b', - 'в': 'v', - 'г': 'g', - 'д': 'd', - 'е': 'e', - 'ё': 'yo', - 'ж': 'zh', - 'з': 'z', - 'и': 'i', - 'й': 'i', - 'к': 'k', - 'л': 'l', - 'м': 'm', - 'н': 'n', - 'о': 'o', - 'п': 'p', - 'р': 'r', - 'с': 's', - 'т': 't', - 'у': 'u', - 'ф': 'f', - 'х': 'kh', - 'ц': 'c', - 'ч': 'ch', - 'ш': 'sh', - 'щ': 'sh', - 'ъ': '', - 'ы': 'y', - 'ь': '', - 'э': 'e', - 'ю': 'yu', - 'я': 'ya', - 'А': 'A', - 'Б': 'B', - 'В': 'V', - 'Г': 'G', - 'Д': 'D', - 'Е': 'E', - 'Ё': 'Yo', - 'Ж': 'Zh', - 'З': 'Z', - 'И': 'I', - 'Й': 'I', - 'К': 'K', - 'Л': 'L', - 'М': 'M', - 'Н': 'N', - 'О': 'O', - 'П': 'P', - 'Р': 'R', - 'С': 'S', - 'Т': 'T', - 'У': 'U', - 'Ф': 'F', - 'Х': 'Kh', - 'Ц': 'C', - 'Ч': 'Ch', - 'Ш': 'Sh', - 'Щ': 'Sh', - 'Ъ': '', - 'Ы': 'Y', - 'Ь': '', - 'Э': 'E', - 'Ю': 'Yu', - 'Я': 'Ya', - - // Serbian - 'ђ': 'dj', - 'ј': 'j', - // 'љ': 'lj', // duplicate - // 'њ': 'nj', // duplicate - 'ћ': 'c', - 'џ': 'dz', - 'Ђ': 'Dj', - 'Ј': 'j', - // 'Љ': 'Lj', // duplicate - // 'Њ': 'Nj', // duplicate - 'Ћ': 'C', - 'Џ': 'Dz', - - // Slovak - 'ľ': 'l', - 'ĺ': 'l', - 'ŕ': 'r', - 'Ľ': 'L', - 'Ĺ': 'L', - 'Ŕ': 'R', - - // Turkish - 'ş': 's', - 'Ş': 'S', - 'ı': 'i', - 'İ': 'I', - // 'ç': 'c', // duplicate - // 'Ç': 'C', // duplicate - // 'ü': 'u', // duplicate, see langCharMap - // 'Ü': 'U', // duplicate, see langCharMap - // 'ö': 'o', // duplicate, see langCharMap - // 'Ö': 'O', // duplicate, see langCharMap - 'ğ': 'g', - 'Ğ': 'G', - - // Vietnamese - 'ả': 'a', - 'Ả': 'A', - 'ẳ': 'a', - 'Ẳ': 'A', - 'ẩ': 'a', - 'Ẩ': 'A', - 'đ': 'd', - 'Đ': 'D', - 'ẹ': 'e', - 'Ẹ': 'E', - 'ẽ': 'e', - 'Ẽ': 'E', - 'ẻ': 'e', - 'Ẻ': 'E', - 'ế': 'e', - 'Ế': 'E', - 'ề': 'e', - 'Ề': 'E', - 'ệ': 'e', - 'Ệ': 'E', - 'ễ': 'e', - 'Ễ': 'E', - 'ể': 'e', - 'Ể': 'E', - 'ỏ': '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', - 'ị': 'i', - 'Ị': 'I', - 'ĩ': 'i', - 'Ĩ': 'I', - 'ỉ': 'i', - 'Ỉ': 'i', - 'ủ': 'u', - 'Ủ': 'U', - 'ụ': 'u', - 'Ụ': 'U', - 'ũ': 'u', - 'Ũ': 'U', - 'ư': 'u', - 'Ư': 'U', - 'ứ': 'u', - 'Ứ': 'U', - 'ừ': 'u', - 'Ừ': 'U', - 'ự': 'u', - 'Ự': 'U', - 'ữ': 'u', - 'Ữ': 'U', - 'ử': 'u', - 'Ử': 'ư', - 'ỷ': 'y', - 'Ỷ': 'y', - 'ỳ': 'y', - 'Ỳ': 'Y', - 'ỵ': 'y', - 'Ỵ': 'Y', - 'ỹ': 'y', - 'Ỹ': 'Y', - 'ạ': 'a', - 'Ạ': 'A', - 'ấ': 'a', - 'Ấ': 'A', - 'ầ': 'a', - 'Ầ': 'A', - 'ậ': 'a', - 'Ậ': 'A', - 'ẫ': 'a', - 'Ẫ': 'A', - // 'ă': 'a', // duplicate - // 'Ă': 'A', // duplicate - 'ắ': 'a', - 'Ắ': 'A', - 'ằ': 'a', - 'Ằ': 'A', - 'ặ': 'a', - 'Ặ': 'A', - 'ẵ': 'a', - 'Ẵ': 'A', - "⓪": "0", - "①": "1", - "②": "2", - "③": "3", - "④": "4", - "⑤": "5", - "⑥": "6", - "⑦": "7", - "⑧": "8", - "⑨": "9", - "⑩": "10", - "⑪": "11", - "⑫": "12", - "⑬": "13", - "⑭": "14", - "⑮": "15", - "⑯": "16", - "⑰": "17", - "⑱": "18", - "⑲": "18", - "⑳": "18", - - "⓵": "1", - "⓶": "2", - "⓷": "3", - "⓸": "4", - "⓹": "5", - "⓺": "6", - "⓻": "7", - "⓼": "8", - "⓽": "9", - "⓾": "10", - - "⓿": "0", - "⓫": "11", - "⓬": "12", - "⓭": "13", - "⓮": "14", - "⓯": "15", - "⓰": "16", - "⓱": "17", - "⓲": "18", - "⓳": "19", - "⓴": "20", - - "Ⓐ": "A", - "Ⓑ": "B", - "Ⓒ": "C", - "Ⓓ": "D", - "Ⓔ": "E", - "Ⓕ": "F", - "Ⓖ": "G", - "Ⓗ": "H", - "Ⓘ": "I", - "Ⓙ": "J", - "Ⓚ": "K", - "Ⓛ": "L", - "Ⓜ": "M", - "Ⓝ": "N", - "Ⓞ": "O", - "Ⓟ": "P", - "Ⓠ": "Q", - "Ⓡ": "R", - "Ⓢ": "S", - "Ⓣ": "T", - "Ⓤ": "U", - "Ⓥ": "V", - "Ⓦ": "W", - "Ⓧ": "X", - "Ⓨ": "Y", - "Ⓩ": "Z", - - "ⓐ": "a", - "ⓑ": "b", - "ⓒ": "c", - "ⓓ": "d", - "ⓔ": "e", - "ⓕ": "f", - "ⓖ": "g", - "ⓗ": "h", - "ⓘ": "i", - "ⓙ": "j", - "ⓚ": "k", - "ⓛ": "l", - "ⓜ": "m", - "ⓝ": "n", - "ⓞ": "o", - "ⓟ": "p", - "ⓠ": "q", - "ⓡ": "r", - "ⓢ": "s", - "ⓣ": "t", - "ⓤ": "u", - "ⓦ": "v", - "ⓥ": "w", - "ⓧ": "x", - "ⓨ": "y", - "ⓩ": "z", - - // symbols - '“': '"', - '”': '"', - '‘': "'", - '’': "'", - '∂': 'd', - 'ƒ': 'f', - '™': '(TM)', - '©': '(C)', - 'œ': 'oe', - 'Œ': 'OE', - '®': '(R)', - '†': '+', - '℠': '(SM)', - '…': '...', - '˚': 'o', - 'º': 'o', - 'ª': 'a', - '•': '*', - '၊': ',', - '။': '.', - - // currency - '$': 'USD', - '€': 'EUR', - '₢': 'BRN', - '₣': 'FRF', - '£': 'GBP', - '₤': 'ITL', - '₦': 'NGN', - '₧': 'ESP', - '₩': 'KRW', - '₪': 'ILS', - '₫': 'VND', - '₭': 'LAK', - '₮': 'MNT', - '₯': 'GRD', - '₱': 'ARS', - '₲': 'PYG', - '₳': 'ARA', - '₴': 'UAH', - '₵': 'GHS', - '¢': 'cent', - '¥': 'CNY', - '元': 'CNY', - '円': 'YEN', - '﷼': 'IRR', - '₠': 'EWE', - '฿': 'THB', - '₨': 'INR', - '₹': 'INR', - '₰': 'PF', - '₺': 'TRY', - '؋': 'AFN', - '₼': 'AZN', - 'лв': 'BGN', - '៛': 'KHR', - '₡': 'CRC', - '₸': 'KZT', - 'ден': 'MKD', - 'zł': 'PLN', - '₽': 'RUB', - '₾': 'GEL' -}; - -/** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ -export const lookAheadCharArray = [ - // burmese - '်', - - // Dhivehi - 'ް' -]; - -/** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ -export const diatricMap = { - // Burmese - // dependent vowels - 'ာ': 'a', - 'ါ': 'a', - 'ေ': 'e', - 'ဲ': 'e', - 'ိ': 'i', - 'ီ': 'i', - 'ို': 'o', - 'ု': 'u', - 'ူ': 'u', - 'ေါင်': 'aung', - 'ော': 'aw', - 'ော်': 'aw', - 'ေါ': 'aw', - 'ေါ်': 'aw', - '်': '်', // this is special case but the character will be converted to latin in the code - 'က်': 'et', - 'ိုက်': 'aik', - 'ောက်': 'auk', - 'င်': 'in', - 'ိုင်': 'aing', - 'ောင်': 'aung', - 'စ်': 'it', - 'ည်': 'i', - 'တ်': 'at', - 'ိတ်': 'eik', - 'ုတ်': 'ok', - 'ွတ်': 'ut', - 'ေတ်': 'it', - 'ဒ်': 'd', - 'ိုဒ်': 'ok', - 'ုဒ်': 'ait', - 'န်': 'an', - 'ာန်': 'an', - 'ိန်': 'ein', - 'ုန်': 'on', - 'ွန်': 'un', - 'ပ်': 'at', - 'ိပ်': 'eik', - 'ုပ်': 'ok', - 'ွပ်': 'ut', - 'န်ုပ်': 'nub', - 'မ်': 'an', - 'ိမ်': 'ein', - 'ုမ်': 'on', - 'ွမ်': 'un', - 'ယ်': 'e', - 'ိုလ်': 'ol', - 'ဉ်': 'in', - 'ံ': 'an', - 'ိံ': 'ein', - 'ုံ': 'on', - - // Dhivehi - 'ައް': 'ah', - 'ަށް': 'ah' -}; - -/** - * langCharMap language specific characters translations - * @type {Object} - */ -export const langCharMap = { - 'en': {}, // default language - - 'az': { // Azerbaijani - 'ç': 'c', - 'ə': 'e', - 'ğ': 'g', - 'ı': 'i', - 'ö': 'o', - 'ş': 's', - 'ü': 'u', - 'Ç': 'C', - 'Ə': 'E', - 'Ğ': 'G', - 'İ': 'I', - 'Ö': 'O', - 'Ş': 'S', - 'Ü': 'U' - }, - - 'cs': { // Czech - 'č': 'c', - 'ď': 'd', - 'ě': 'e', - 'ň': 'n', - 'ř': 'r', - 'š': 's', - 'ť': 't', - 'ů': 'u', - 'ž': 'z', - 'Č': 'C', - 'Ď': 'D', - 'Ě': 'E', - 'Ň': 'N', - 'Ř': 'R', - 'Š': 'S', - 'Ť': 'T', - 'Ů': 'U', - 'Ž': 'Z' - }, - - 'fi': { // Finnish - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', // ok - 'Ä': 'A', // ok - 'ö': 'o', // ok - 'Ö': 'O' // ok - }, - - 'hu': { // Hungarian - 'ä': 'a', // ok - 'Ä': 'A', // ok - // 'á': 'a', duplicate see charMap/latin - // 'Á': 'A', duplicate see charMap/latin - 'ö': 'o', // ok - 'Ö': 'O', // ok - // 'ő': 'o', duplicate see charMap/latin - // 'Ő': 'O', duplicate see charMap/latin - 'ü': 'u', - 'Ü': 'U', - 'ű': 'u', - 'Ű': 'U' - }, - - 'lt': { // Lithuanian - 'ą': 'a', - 'č': 'c', - 'ę': 'e', - 'ė': 'e', - 'į': 'i', - 'š': 's', - 'ų': 'u', - 'ū': 'u', - 'ž': 'z', - 'Ą': 'A', - 'Č': 'C', - 'Ę': 'E', - 'Ė': 'E', - 'Į': 'I', - 'Š': 'S', - 'Ų': 'U', - 'Ū': 'U' - }, - - 'lv': { // Latvian - 'ā': 'a', - 'č': 'c', - 'ē': 'e', - 'ģ': 'g', - 'ī': 'i', - 'ķ': 'k', - 'ļ': 'l', - 'ņ': 'n', - 'š': 's', - 'ū': 'u', - 'ž': 'z', - 'Ā': 'A', - 'Č': 'C', - 'Ē': 'E', - 'Ģ': 'G', - 'Ī': 'i', - 'Ķ': 'k', - 'Ļ': 'L', - 'Ņ': 'N', - 'Š': 'S', - 'Ū': 'u', - 'Ž': 'Z' - }, - - 'pl': { // Polish - 'ą': 'a', - 'ć': 'c', - 'ę': 'e', - 'ł': 'l', - 'ń': 'n', - 'ó': 'o', - 'ś': 's', - 'ź': 'z', - 'ż': 'z', - 'Ą': 'A', - 'Ć': 'C', - 'Ę': 'e', - 'Ł': 'L', - 'Ń': 'N', - 'Ó': 'O', - 'Ś': 'S', - 'Ź': 'Z', - 'Ż': 'Z' - }, - - 'sv': { // Swedish - // 'å': 'a', duplicate see charMap/latin - // 'Å': 'A', duplicate see charMap/latin - 'ä': 'a', // ok - 'Ä': 'A', // ok - 'ö': 'o', // ok - 'Ö': 'O' // ok - }, - - 'sk': { // Slovak - 'ä': 'a', - 'Ä': 'A' - }, - - 'sr': { // Serbian - 'љ': 'lj', - 'њ': 'nj', - 'Љ': 'Lj', - 'Њ': 'Nj', - 'đ': 'dj', - 'Đ': 'Dj' - }, - - 'tr': { // Turkish - 'Ü': 'U', - 'Ö': 'O', - 'ü': 'u', - 'ö': 'o' - } -}; - -/** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ -export const symbolMap = { - 'ar': { - '∆': 'delta', - '∞': 'la-nihaya', - '♥': 'hob', - '&': 'wa', - '|': 'aw', - '<': 'aqal-men', - '>': 'akbar-men', - '∑': 'majmou', - '¤': 'omla' - }, - - 'az': {}, - - 'ca': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'amor', - '&': 'i', - '|': 'o', - '<': 'menys que', - '>': 'mes que', - '∑': 'suma dels', - '¤': 'moneda' - }, - - 'cs': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'nebo', - '<': 'mensi nez', - '>': 'vetsi nez', - '∑': 'soucet', - '¤': 'mena' - }, - - 'de': { - '∆': 'delta', - '∞': 'unendlich', - '♥': 'Liebe', - '&': 'und', - '|': 'oder', - '<': 'kleiner als', - '>': 'groesser als', - '∑': 'Summe von', - '¤': 'Waehrung' - }, - - 'dv': { - '∆': 'delta', - '∞': 'kolunulaa', - '♥': 'loabi', - '&': 'aai', - '|': 'noonee', - '<': 'ah vure kuda', - '>': 'ah vure bodu', - '∑': 'jumula', - '¤': 'faisaa' - }, - - 'en': { - '∆': 'delta', - '∞': 'infinity', - '♥': 'love', - '&': 'and', - '|': 'or', - '<': 'less than', - '>': 'greater than', - '∑': 'sum', - '¤': 'currency' - }, - - 'es': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'y', - '|': 'u', - '<': 'menos que', - '>': 'mas que', - '∑': 'suma de los', - '¤': 'moneda' - }, - - 'fa': { - '∆': 'delta', - '∞': 'bi-nahayat', - '♥': 'eshgh', - '&': 'va', - '|': 'ya', - '<': 'kamtar-az', - '>': 'bishtar-az', - '∑': 'majmooe', - '¤': 'vahed' - }, - - 'fi': { - '∆': 'delta', - '∞': 'aarettomyys', - '♥': 'rakkaus', - '&': 'ja', - '|': 'tai', - '<': 'pienempi kuin', - '>': 'suurempi kuin', - '∑': 'summa', - '¤': 'valuutta' - }, - - 'fr': { - '∆': 'delta', - '∞': 'infiniment', - '♥': 'Amour', - '&': 'et', - '|': 'ou', - '<': 'moins que', - '>': 'superieure a', - '∑': 'somme des', - '¤': 'monnaie' - }, - - 'ge': { - '∆': 'delta', - '∞': 'usasruloba', - '♥': 'siqvaruli', - '&': 'da', - '|': 'an', - '<': 'naklebi', - '>': 'meti', - '∑': 'jami', - '¤': 'valuta' - }, - - 'gr': {}, - - 'hu': { - '∆': 'delta', - '∞': 'vegtelen', - '♥': 'szerelem', - '&': 'es', - '|': 'vagy', - '<': 'kisebb mint', - '>': 'nagyobb mint', - '∑': 'szumma', - '¤': 'penznem' - }, - - 'it': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amore', - '&': 'e', - '|': 'o', - '<': 'minore di', - '>': 'maggiore di', - '∑': 'somma', - '¤': 'moneta' - }, - - 'lt': { - '∆': 'delta', - '∞': 'begalybe', - '♥': 'meile', - '&': 'ir', - '|': 'ar', - '<': 'maziau nei', - '>': 'daugiau nei', - '∑': 'suma', - '¤': 'valiuta' - }, - - 'lv': { - '∆': 'delta', - '∞': 'bezgaliba', - '♥': 'milestiba', - '&': 'un', - '|': 'vai', - '<': 'mazak neka', - '>': 'lielaks neka', - '∑': 'summa', - '¤': 'valuta' - }, - - 'my': { - '∆': 'kwahkhyaet', - '∞': 'asaonasme', - '♥': 'akhyait', - '&': 'nhin', - '|': 'tho', - '<': 'ngethaw', - '>': 'kyithaw', - '∑': 'paungld', - '¤': 'ngwekye' - }, - - 'mk': {}, - - 'nl': { - '∆': 'delta', - '∞': 'oneindig', - '♥': 'liefde', - '&': 'en', - '|': 'of', - '<': 'kleiner dan', - '>': 'groter dan', - '∑': 'som', - '¤': 'valuta' - }, - - 'pl': { - '∆': 'delta', - '∞': 'nieskonczonosc', - '♥': 'milosc', - '&': 'i', - '|': 'lub', - '<': 'mniejsze niz', - '>': 'wieksze niz', - '∑': 'suma', - '¤': 'waluta' - }, - - 'pt': { - '∆': 'delta', - '∞': 'infinito', - '♥': 'amor', - '&': 'e', - '|': 'ou', - '<': 'menor que', - '>': 'maior que', - '∑': 'soma', - '¤': 'moeda' - }, - - 'ro': { - '∆': 'delta', - '∞': 'infinit', - '♥': 'dragoste', - '&': 'si', - '|': 'sau', - '<': 'mai mic ca', - '>': 'mai mare ca', - '∑': 'suma', - '¤': 'valuta' - }, - - 'ru': { - '∆': 'delta', - '∞': 'beskonechno', - '♥': 'lubov', - '&': 'i', - '|': 'ili', - '<': 'menshe', - '>': 'bolshe', - '∑': 'summa', - '¤': 'valjuta' - }, - - 'sk': { - '∆': 'delta', - '∞': 'nekonecno', - '♥': 'laska', - '&': 'a', - '|': 'alebo', - '<': 'menej ako', - '>': 'viac ako', - '∑': 'sucet', - '¤': 'mena' - }, - - 'sr': {}, - - 'tr': { - '∆': 'delta', - '∞': 'sonsuzluk', - '♥': 'ask', - '&': 've', - '|': 'veya', - '<': 'kucuktur', - '>': 'buyuktur', - '∑': 'toplam', - '¤': 'para birimi' - }, - - 'uk': { - '∆': 'delta', - '∞': 'bezkinechnist', - '♥': 'lubov', - '&': 'i', - '|': 'abo', - '<': 'menshe', - '>': 'bilshe', - '∑': 'suma', - '¤': 'valjuta' - }, - - 'vn': { - '∆': 'delta', - '∞': 'vo cuc', - '♥': 'yeu', - '&': 'va', - '|': 'hoac', - '<': 'nho hon', - '>': 'lon hon', - '∑': 'tong', - '¤': 'tien te' - } -}; - -export const uricChars = [';', '?', ':', '@', '&', '=', '+', '$', ',', '/'].join(''); - -export const uricNoSlashChars = [';', '?', ':', '@', '&', '=', '+', '$', ','].join(''); - -export const markChars = ['.', '!', '~', '*', "'", '(', ')'].join(''); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 9cf8dd6..db2b40a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "module": "commonjs", + "module": "umd", "target": "es5", "noImplicitAny": false, "sourceMap": true, diff --git a/typings/speakingurl/speakingurl.d.ts b/typings/speakingurl/speakingurl.d.ts index 212f0a2..0fd1703 100644 --- a/typings/speakingurl/speakingurl.d.ts +++ b/typings/speakingurl/speakingurl.d.ts @@ -1,3 +1,510 @@ +/** + * charMap + * @type {Object} + */ +export declare const charMap: { + [key: string]: string; +}; +/** + * special look ahead character array + * These characters form with consonants to become 'single'/consonant combo + * @type [Array] + */ +export declare const lookAheadCharArray: string[]; +/** + * diatricMap for languages where transliteration changes entirely as more diatrics are added + * @type {Object} + */ +export declare const diatricMap: { + 'ာ': string; + 'ါ': string; + 'ေ': string; + 'ဲ': string; + 'ိ': string; + 'ီ': string; + 'ို': string; + 'ု': string; + 'ူ': string; + 'ေါင်': string; + 'ော': string; + 'ော်': string; + 'ေါ': string; + 'ေါ်': string; + '်': string; + 'က်': string; + 'ိုက်': string; + 'ောက်': string; + 'င်': string; + 'ိုင်': string; + 'ောင်': string; + 'စ်': string; + 'ည်': string; + 'တ်': string; + 'ိတ်': string; + 'ုတ်': string; + 'ွတ်': string; + 'ေတ်': string; + 'ဒ်': string; + 'ိုဒ်': string; + 'ုဒ်': string; + 'န်': string; + 'ာန်': string; + 'ိန်': string; + 'ုန်': string; + 'ွန်': string; + 'ပ်': string; + 'ိပ်': string; + 'ုပ်': string; + 'ွပ်': string; + 'န်ုပ်': string; + 'မ်': string; + 'ိမ်': string; + 'ုမ်': string; + 'ွမ်': string; + 'ယ်': string; + 'ိုလ်': string; + 'ဉ်': string; + 'ံ': string; + 'ိံ': string; + 'ုံ': string; + 'ައް': string; + 'ަށް': string; +}; +/** + * langCharMap language specific characters translations + * @type {Object} + */ +export declare const langCharMap: { + 'en': {}; + 'az': { + 'ç': string; + 'ə': string; + 'ğ': string; + 'ı': string; + 'ö': string; + 'ş': string; + 'ü': string; + 'Ç': string; + 'Ə': string; + 'Ğ': string; + 'İ': string; + 'Ö': string; + 'Ş': string; + 'Ü': string; + }; + 'cs': { + 'č': string; + 'ď': string; + 'ě': string; + 'ň': string; + 'ř': string; + 'š': string; + 'ť': string; + 'ů': string; + 'ž': string; + 'Č': string; + 'Ď': string; + 'Ě': string; + 'Ň': string; + 'Ř': string; + 'Š': string; + 'Ť': string; + 'Ů': string; + 'Ž': string; + }; + 'fi': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'hu': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + 'ü': string; + 'Ü': string; + 'ű': string; + 'Ű': string; + }; + 'lt': { + 'ą': string; + 'č': string; + 'ę': string; + 'ė': string; + 'į': string; + 'š': string; + 'ų': string; + 'ū': string; + 'ž': string; + 'Ą': string; + 'Č': string; + 'Ę': string; + 'Ė': string; + 'Į': string; + 'Š': string; + 'Ų': string; + 'Ū': string; + }; + 'lv': { + 'ā': string; + 'č': string; + 'ē': string; + 'ģ': string; + 'ī': string; + 'ķ': string; + 'ļ': string; + 'ņ': string; + 'š': string; + 'ū': string; + 'ž': string; + 'Ā': string; + 'Č': string; + 'Ē': string; + 'Ģ': string; + 'Ī': string; + 'Ķ': string; + 'Ļ': string; + 'Ņ': string; + 'Š': string; + 'Ū': string; + 'Ž': string; + }; + 'pl': { + 'ą': string; + 'ć': string; + 'ę': string; + 'ł': string; + 'ń': string; + 'ó': string; + 'ś': string; + 'ź': string; + 'ż': string; + 'Ą': string; + 'Ć': string; + 'Ę': string; + 'Ł': string; + 'Ń': string; + 'Ó': string; + 'Ś': string; + 'Ź': string; + 'Ż': string; + }; + 'sv': { + 'ä': string; + 'Ä': string; + 'ö': string; + 'Ö': string; + }; + 'sk': { + 'ä': string; + 'Ä': string; + }; + 'sr': { + 'љ': string; + 'њ': string; + 'Љ': string; + 'Њ': string; + 'đ': string; + 'Đ': string; + }; + 'tr': { + 'Ü': string; + 'Ö': string; + 'ü': string; + 'ö': string; + }; +}; +/** + * symbolMap language specific symbol translations + * translations must be transliterated already + * @type {Object} + */ +export declare const symbolMap: { + 'ar': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'az': {}; + 'ca': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'cs': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'de': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'dv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'en': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'es': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fa': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fi': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'fr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ge': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'gr': {}; + 'hu': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'it': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'lv': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'my': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'mk': {}; + 'nl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pl': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'pt': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ro': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'ru': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'sr': {}; + 'tr': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'uk': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; + 'vn': { + '∆': string; + '∞': string; + '♥': string; + '&': string; + '|': string; + '<': string; + '>': string; + '∑': string; + '¤': string; + }; +}; +export declare const uricChars: string; +export declare const uricNoSlashChars: string; +export declare const markChars: string; /** * Interface for the SpeakingURL options * @see {@link https://github.com/pid/speakingurl#usage} @@ -84,4 +591,3 @@ export declare const escapeChars: (input: string) => string; * @param {object} customReplacements custom translation map */ export declare const isReplacedCustomChar: (ch: string, customReplacements: {}) => boolean; -export declare var define: any; From 4ac1b1975e44fa93b97102b50d2bcd871a2ae9d5 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 12:12:16 +0200 Subject: [PATCH 5/8] clean --- package.json | 1 + speakingurl.d.ts | 597 ------------------------- speakingurl.js | 1 - speakingurl.js.map | 1 - typings/speakingurl/utils/charmap.d.ts | 507 --------------------- 5 files changed, 1 insertion(+), 1106 deletions(-) delete mode 100644 speakingurl.d.ts delete mode 100644 speakingurl.js delete mode 100644 speakingurl.js.map delete mode 100644 typings/speakingurl/utils/charmap.d.ts diff --git a/package.json b/package.json index 8492a1d..280e908 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "author": "Sascha Droste (https://twitter.com/SaschaDroste)", "main": "index", "filename": "speakingurl.min.js", + "types": "./typings/speakingurl/speakingurl.d.ts", "dependencies": {}, "devDependencies": { "gulp": "^3.8.8", diff --git a/speakingurl.d.ts b/speakingurl.d.ts deleted file mode 100644 index 2874f47..0000000 --- a/speakingurl.d.ts +++ /dev/null @@ -1,597 +0,0 @@ -declare module "utils/charmap" { - /** - * charMap - * @type {Object} - */ - export const charMap: { - [key: string]: string; - }; - /** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ - export const lookAheadCharArray: string[]; - /** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ - export const diatricMap: { - 'ာ': string; - 'ါ': string; - 'ေ': string; - 'ဲ': string; - 'ိ': string; - 'ီ': string; - 'ို': string; - 'ု': string; - 'ူ': string; - 'ေါင်': string; - 'ော': string; - 'ော်': string; - 'ေါ': string; - 'ေါ်': string; - '်': string; - 'က်': string; - 'ိုက်': string; - 'ောက်': string; - 'င်': string; - 'ိုင်': string; - 'ောင်': string; - 'စ်': string; - 'ည်': string; - 'တ်': string; - 'ိတ်': string; - 'ုတ်': string; - 'ွတ်': string; - 'ေတ်': string; - 'ဒ်': string; - 'ိုဒ်': string; - 'ုဒ်': string; - 'န်': string; - 'ာန်': string; - 'ိန်': string; - 'ုန်': string; - 'ွန်': string; - 'ပ်': string; - 'ိပ်': string; - 'ုပ်': string; - 'ွပ်': string; - 'န်ုပ်': string; - 'မ်': string; - 'ိမ်': string; - 'ုမ်': string; - 'ွမ်': string; - 'ယ်': string; - 'ိုလ်': string; - 'ဉ်': string; - 'ံ': string; - 'ိံ': string; - 'ုံ': string; - 'ައް': string; - 'ަށް': string; - }; - /** - * langCharMap language specific characters translations - * @type {Object} - */ - export const langCharMap: { - 'en': {}; - 'az': { - 'ç': string; - 'ə': string; - 'ğ': string; - 'ı': string; - 'ö': string; - 'ş': string; - 'ü': string; - 'Ç': string; - 'Ə': string; - 'Ğ': string; - 'İ': string; - 'Ö': string; - 'Ş': string; - 'Ü': string; - }; - 'cs': { - 'č': string; - 'ď': string; - 'ě': string; - 'ň': string; - 'ř': string; - 'š': string; - 'ť': string; - 'ů': string; - 'ž': string; - 'Č': string; - 'Ď': string; - 'Ě': string; - 'Ň': string; - 'Ř': string; - 'Š': string; - 'Ť': string; - 'Ů': string; - 'Ž': string; - }; - 'fi': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - }; - 'hu': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - 'ü': string; - 'Ü': string; - 'ű': string; - 'Ű': string; - }; - 'lt': { - 'ą': string; - 'č': string; - 'ę': string; - 'ė': string; - 'į': string; - 'š': string; - 'ų': string; - 'ū': string; - 'ž': string; - 'Ą': string; - 'Č': string; - 'Ę': string; - 'Ė': string; - 'Į': string; - 'Š': string; - 'Ų': string; - 'Ū': string; - }; - 'lv': { - 'ā': string; - 'č': string; - 'ē': string; - 'ģ': string; - 'ī': string; - 'ķ': string; - 'ļ': string; - 'ņ': string; - 'š': string; - 'ū': string; - 'ž': string; - 'Ā': string; - 'Č': string; - 'Ē': string; - 'Ģ': string; - 'Ī': string; - 'Ķ': string; - 'Ļ': string; - 'Ņ': string; - 'Š': string; - 'Ū': string; - 'Ž': string; - }; - 'pl': { - 'ą': string; - 'ć': string; - 'ę': string; - 'ł': string; - 'ń': string; - 'ó': string; - 'ś': string; - 'ź': string; - 'ż': string; - 'Ą': string; - 'Ć': string; - 'Ę': string; - 'Ł': string; - 'Ń': string; - 'Ó': string; - 'Ś': string; - 'Ź': string; - 'Ż': string; - }; - 'sv': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - }; - 'sk': { - 'ä': string; - 'Ä': string; - }; - 'sr': { - 'љ': string; - 'њ': string; - 'Љ': string; - 'Њ': string; - 'đ': string; - 'Đ': string; - }; - 'tr': { - 'Ü': string; - 'Ö': string; - 'ü': string; - 'ö': string; - }; - }; - /** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ - export const symbolMap: { - 'ar': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'az': {}; - 'ca': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'cs': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'de': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'dv': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'en': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'es': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fa': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fi': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fr': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ge': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'gr': {}; - 'hu': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'it': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'lt': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'lv': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'my': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'mk': {}; - 'nl': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'pl': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'pt': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ro': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ru': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'sk': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'sr': {}; - 'tr': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'uk': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'vn': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - }; - export const uricChars: string; - export const uricNoSlashChars: string; - export const markChars: string; -} -declare module "speakingurl" { - /** - * Interface for the SpeakingURL options - * @see {@link https://github.com/pid/speakingurl#usage} - */ - export interface speakingurlOptions { - /** - * Character that replaces the whitespaces - * @default '-' - */ - separator?: string; - /** - * ISO 639-1 Codes for language specific transliteration - * @default 'en' - */ - lang?: string | boolean; - /** - * Converts symbols according to the 'lang' setting if true. Don't convert symbols if false - * @default true - */ - symbols?: boolean; - /** - * Maintains case chars if true. Convert all chars to lower case if false - * @default false - */ - maintainCase?: boolean; - /** - * converts input string to title-case if true. Omit the words from the array if array is given. - * @default false - */ - titleCase?: boolean | string[]; - /** - * Don't trim length if 0. Trim to max length while not breaking any words if greater or equal to 1. - * @default 0 - */ - truncate?: number; - /** - * Allow additional characters if true. - * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", ",", "/" - * @default false - */ - uric?: boolean; - /** - * Allow additional characters if true. - * Characters allowed: ";", "?", ":", "@", "&", "=", "+", "\$", "," - * @default false - */ - uricNoSlash?: boolean; - /** - * Allow additional characters if true. - * Characters allowed: "-", "_", ".", "!", "~", "*", "'", "(", ")" - * @default false - */ - mark?: boolean; - /** - * custom map for translation if object provided. Add array chars to allowed charMap if array provided. - * @default {} - */ - custom?: { - [key: string]: string; - } | string[]; - } - /** - * getSlug - * @param {string} input input string - * @param {object|string} opts config object or separator string/char - * @api public - * @return {string} sluggified string - */ - export const getSlug: (input: string, opts: string | speakingurlOptions) => string; - /** - * createSlug curried(opts)(input) - * @param {object|string} opts config object or input string - * @return {Function} function getSlugWithConfig() - **/ - export const createSlug: (opts: string | {}) => (input: string) => string; - /** - * escape Chars - * @param {string} input string - */ - export const escapeChars: (input: string) => string; - /** - * check if the char is an already converted char from custom list - * @param {char} ch character to check - * @param {object} customReplacements custom translation map - */ - export const isReplacedCustomChar: (ch: string, customReplacements: {}) => boolean; -} diff --git a/speakingurl.js b/speakingurl.js deleted file mode 100644 index 1900e53..0000000 --- a/speakingurl.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=speakingurl.js.map \ No newline at end of file diff --git a/speakingurl.js.map b/speakingurl.js.map deleted file mode 100644 index 98edb74..0000000 --- a/speakingurl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"speakingurl.js","sourceRoot":"","sources":["src/utils/charmap.ts","src/speakingurl.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/typings/speakingurl/utils/charmap.d.ts b/typings/speakingurl/utils/charmap.d.ts deleted file mode 100644 index 40edb17..0000000 --- a/typings/speakingurl/utils/charmap.d.ts +++ /dev/null @@ -1,507 +0,0 @@ -/** - * charMap - * @type {Object} - */ -export declare const charMap: { - [key: string]: string; -}; -/** - * special look ahead character array - * These characters form with consonants to become 'single'/consonant combo - * @type [Array] - */ -export declare const lookAheadCharArray: string[]; -/** - * diatricMap for languages where transliteration changes entirely as more diatrics are added - * @type {Object} - */ -export declare const diatricMap: { - 'ာ': string; - 'ါ': string; - 'ေ': string; - 'ဲ': string; - 'ိ': string; - 'ီ': string; - 'ို': string; - 'ု': string; - 'ူ': string; - 'ေါင်': string; - 'ော': string; - 'ော်': string; - 'ေါ': string; - 'ေါ်': string; - '်': string; - 'က်': string; - 'ိုက်': string; - 'ောက်': string; - 'င်': string; - 'ိုင်': string; - 'ောင်': string; - 'စ်': string; - 'ည်': string; - 'တ်': string; - 'ိတ်': string; - 'ုတ်': string; - 'ွတ်': string; - 'ေတ်': string; - 'ဒ်': string; - 'ိုဒ်': string; - 'ုဒ်': string; - 'န်': string; - 'ာန်': string; - 'ိန်': string; - 'ုန်': string; - 'ွန်': string; - 'ပ်': string; - 'ိပ်': string; - 'ုပ်': string; - 'ွပ်': string; - 'န်ုပ်': string; - 'မ်': string; - 'ိမ်': string; - 'ုမ်': string; - 'ွမ်': string; - 'ယ်': string; - 'ိုလ်': string; - 'ဉ်': string; - 'ံ': string; - 'ိံ': string; - 'ုံ': string; - 'ައް': string; - 'ަށް': string; -}; -/** - * langCharMap language specific characters translations - * @type {Object} - */ -export declare const langCharMap: { - 'en': {}; - 'az': { - 'ç': string; - 'ə': string; - 'ğ': string; - 'ı': string; - 'ö': string; - 'ş': string; - 'ü': string; - 'Ç': string; - 'Ə': string; - 'Ğ': string; - 'İ': string; - 'Ö': string; - 'Ş': string; - 'Ü': string; - }; - 'cs': { - 'č': string; - 'ď': string; - 'ě': string; - 'ň': string; - 'ř': string; - 'š': string; - 'ť': string; - 'ů': string; - 'ž': string; - 'Č': string; - 'Ď': string; - 'Ě': string; - 'Ň': string; - 'Ř': string; - 'Š': string; - 'Ť': string; - 'Ů': string; - 'Ž': string; - }; - 'fi': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - }; - 'hu': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - 'ü': string; - 'Ü': string; - 'ű': string; - 'Ű': string; - }; - 'lt': { - 'ą': string; - 'č': string; - 'ę': string; - 'ė': string; - 'į': string; - 'š': string; - 'ų': string; - 'ū': string; - 'ž': string; - 'Ą': string; - 'Č': string; - 'Ę': string; - 'Ė': string; - 'Į': string; - 'Š': string; - 'Ų': string; - 'Ū': string; - }; - 'lv': { - 'ā': string; - 'č': string; - 'ē': string; - 'ģ': string; - 'ī': string; - 'ķ': string; - 'ļ': string; - 'ņ': string; - 'š': string; - 'ū': string; - 'ž': string; - 'Ā': string; - 'Č': string; - 'Ē': string; - 'Ģ': string; - 'Ī': string; - 'Ķ': string; - 'Ļ': string; - 'Ņ': string; - 'Š': string; - 'Ū': string; - 'Ž': string; - }; - 'pl': { - 'ą': string; - 'ć': string; - 'ę': string; - 'ł': string; - 'ń': string; - 'ó': string; - 'ś': string; - 'ź': string; - 'ż': string; - 'Ą': string; - 'Ć': string; - 'Ę': string; - 'Ł': string; - 'Ń': string; - 'Ó': string; - 'Ś': string; - 'Ź': string; - 'Ż': string; - }; - 'sv': { - 'ä': string; - 'Ä': string; - 'ö': string; - 'Ö': string; - }; - 'sk': { - 'ä': string; - 'Ä': string; - }; - 'sr': { - 'љ': string; - 'њ': string; - 'Љ': string; - 'Њ': string; - 'đ': string; - 'Đ': string; - }; - 'tr': { - 'Ü': string; - 'Ö': string; - 'ü': string; - 'ö': string; - }; -}; -/** - * symbolMap language specific symbol translations - * translations must be transliterated already - * @type {Object} - */ -export declare const symbolMap: { - 'ar': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'az': {}; - 'ca': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'cs': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'de': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'dv': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'en': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'es': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fa': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fi': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'fr': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ge': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'gr': {}; - 'hu': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'it': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'lt': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'lv': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'my': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'mk': {}; - 'nl': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'pl': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'pt': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ro': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'ru': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'sk': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'sr': {}; - 'tr': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'uk': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; - 'vn': { - '∆': string; - '∞': string; - '♥': string; - '&': string; - '|': string; - '<': string; - '>': string; - '∑': string; - '¤': string; - }; -}; -export declare const uricChars: string; -export declare const uricNoSlashChars: string; -export declare const markChars: string; From f465c8afc44824f8b863ad050be380975610a103 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 12:15:41 +0200 Subject: [PATCH 6/8] lib path --- Gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gulpfile.js b/Gulpfile.js index 8fbea4d..79c1f4c 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -6,7 +6,7 @@ var argv = require('minimist')(process.argv.slice(2)); var path = { rootdir: './', - lib: ['./lib/**/speakingurl.js','./lib/**/charmap.js', '!./lib/**/*.js.map'], + lib: ['./lib/**/*.js', '!./lib/**/*.js.map'], libdir: './lib/', test: ['./test/**/*.js'], testdir: './test/', From a9df13916a0d22c7cb6805f445b12c11fa43f9f6 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 13:28:47 +0200 Subject: [PATCH 7/8] return removed arabic test --- test/test-arabic.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/test-arabic.js b/test/test-arabic.js index e69de29..f9c3fbc 100644 --- a/test/test-arabic.js +++ b/test/test-arabic.js @@ -0,0 +1,16 @@ +var getSlug = require('../lib/speakingurl').getSlug; + +describe('getSlug translate arabic letters', function () { + 'use strict'; + + it('should be ', function (done) { + + getSlug('بشس تاقفغقف - ت ب ي ق', { + lang: 'ar' + }) + .should.eql('bshs-taqfghqf-t-b-y-q'); + + done(); + }); + +}); \ No newline at end of file From 1edc2468b9dce6ba010ff435e80846ad4202da60 Mon Sep 17 00:00:00 2001 From: DrMabuse Date: Wed, 23 Aug 2017 13:30:23 +0200 Subject: [PATCH 8/8] readd removed component oO --- component.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/component.json b/component.json index e69de29..ea950ed 100644 --- a/component.json +++ b/component.json @@ -0,0 +1,21 @@ +{ + "name": "speakingurl", + "repo": "pid/speakingurl", + "description": "Generate of so called 'static' or 'Clean URL' or 'Pretty URL' or 'nice-looking URL' or 'Speaking URL' or 'user-friendly URL' or 'SEO-friendly URL' or 'slug' from a string.", + "version": "14.0.1", + "keywords": [ + "slug", + "seo", + "url", + "speakingurl", + "nice url", + "static url" + ], + "dependencies": {}, + "development": {}, + "license": "BSD", + "main": "speakingurl.min.js", + "scripts": [ + "speakingurl.min.js" + ] +} \ No newline at end of file