{
  "version": 3,
  "sources": ["../src/main.ts"],
  "sourcesContent": ["import {packageTracer} from '@alwatr/package-tracer';\n\n__dev_mode__: packageTracer.add(__package_name__, __package_version__);\n\nconst supportedLanguageList = {\n  en: 0x0030,\n  ar: 0x0660,\n  fa: 0x06f0,\n  nko: 0x07c0,\n  hi: 0x0966, // devanagari\n  bn: 0x09e6, // bengali\n  pa: 0x0a66, // gurmukhi, punjabi\n  gu: 0x0ae6, // gujarati\n  or: 0x0b66, // oriya\n  ta: 0x0be6, // tamil\n  te: 0x0c66, // telugu\n  kn: 0x0ce6, // kannada\n\n  mal: 0x0d66, // malayalam\n  sinhala_lith: 0x0de6,\n  thai: 0x0e50,\n  lao: 0x0ed0,\n  tibetan: 0x0f20,\n  myanmar: 0x1040,\n  myanmar_shan: 0x1090,\n  khmer: 0x17e0,\n  mongolian: 0x1810,\n  limbu: 0x1946,\n  new_tai_lue: 0x19d0,\n  tai_tham_hora: 0x1a80,\n  tai_tham_tham: 0x1a90,\n  balinese: 0x1b50,\n  sundanese: 0x1bb0,\n  lepcha: 0x1c40,\n  ol_chiki: 0x1c50,\n  vai: 0xa620,\n  saurashtra: 0xa8d0,\n  kayah_li: 0xa900,\n  javanese: 0xa9d0,\n  myanmar_tai_laing: 0xa9f0,\n  cham: 0xaa50,\n  meetei_mayek: 0xabf0,\n  fullwidth: 0xff10,\n  osmanya: 0x104a0,\n  brahmi: 0x11066,\n  sora_sompeng: 0x110f0,\n  chakma: 0x11136,\n  sharada: 0x111d0,\n  khudawadi: 0x112f0,\n  newa: 0x11450,\n  tirhuta: 0x114d0,\n  modi: 0x11650,\n  takri: 0x116c0,\n  ahom: 0x11730,\n  warang_citi: 0x118e0,\n  bhaiksuki: 0x11c50,\n  mro: 0x16a60,\n  pahawh_hmong: 0x16b50,\n  mathematical_bold: 0x1d7ce,\n  'mathematical_double-struck': 0x1d7d8,\n  'mathematical_sans-serif': 0x1d7e2,\n  'mathematical_sans-serif_bold': 0x1d7ec,\n  mathematical_monospace: 0x1d7f6,\n  fula: 0x1e950, // adlam script in fula lang\n} as const;\n\nexport type UnicodeLangKeys = keyof typeof supportedLanguageList;\n\nconst commonLangList: UnicodeLangKeys[] = ['en', 'fa', 'ar'];\n\nexport class UnicodeDigits {\n  protected _toLangZeroCode;\n  protected _searchRegExt;\n\n  protected _replacer(_: string, ...args: number[]): string {\n    return String.fromCharCode(this._toLangZeroCode + args.findIndex((v) => v != null));\n  }\n\n  /**\n   * Translate number.\n   *\n   * Example:\n   *\n   * ```ts\n   * const unicodeDigits = new UnicodeDigits('en');\n   *\n   * const list = [\n   *   '0123456789',\n   *   '٠١٢٣٤٥٦٧٨٩',\n   *   '߀߁߂߃߄߅߆߇߈߉',\n   *   '०१२३४५६७८९',\n   *   '০১২৩৪৫৬৭৮৯',\n   *   '੦੧੨੩੪੫੬੭੮੯',\n   *   '૦૧૨૩૪૫૬૭૮૯',\n   *   '୦୧୨୩୪୫୬୭୮୯',\n   *   '௦௧௨௩௪௫௬௭௮௯',\n   * ].join('\\n');\n   *\n   * console.log(unicodeDigits.translate(list));\n   * ```\n   */\n  constructor(toLanguage: UnicodeLangKeys, fromLanguages: UnicodeLangKeys[] | 'all' = [...commonLangList]) {\n    if (fromLanguages === 'all') {\n      fromLanguages = Object.keys(supportedLanguageList) as UnicodeLangKeys[];\n    }\n\n    const removeSelf = fromLanguages.indexOf(toLanguage);\n    if (removeSelf !== -1) fromLanguages.splice(removeSelf, 1);\n\n    this._toLangZeroCode = supportedLanguageList[toLanguage];\n\n    const regParts: string[] = [];\n    for (let n = 0; n < 10; n++) {\n      regParts.push('(' + fromLanguages.map((langKey) => String.fromCharCode(supportedLanguageList[langKey] + n)).join('|') + ')');\n    }\n    this._searchRegExt = new RegExp(regParts.join('|'), 'g');\n    this._replacer = this._replacer.bind(this);\n  }\n\n  /**\n   * Convert the String of number of the source language to the destination language.\n   *\n   * @param {string} str - String of number of the source language.\n   * @returns String of number of the destination language.\n   *\n   * Example:\n   *\n   * ```ts\n   * const list = [\n   *   '0123456789',\n   *   '٠١٢٣٤٥٦٧٨٩',\n   *   '߀߁߂߃߄߅߆߇߈߉',\n   *   '०१२३४५६७८९',\n   *   '০১২৩৪৫৬৭৮৯',\n   *   '੦੧੨੩੪੫੬੭੮੯',\n   *   '૦૧૨૩૪૫૬૭૮૯',\n   *   '୦୧୨୩୪୫୬୭୮୯',\n   *   '௦௧௨௩௪௫௬௭௮௯',\n   * ].join('\\n');\n   *\n   * console.log(unicodeDigits.translate(list));\n   * ```\n   */\n  translate(str: string): string {\n    return str.trim() === '' ? str : str.replace(this._searchRegExt, this._replacer);\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
