{"version":3,"sources":["../src/data.ts","../src/index.ts"],"names":["languageScriptsMap","SCRIPT_GROUPS"],"mappings":";AAMO,IAAM,kBAAsD,GAAA;AAAA;AAAA,EAEjE,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA;AAAA;AAAA,EAGL,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;AAAA;AAAA,EACJ,EAAI,EAAA,MAAA;A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","file":"index.mjs","sourcesContent":["import { LanguageScriptMapData, ScriptGroups } from './types';\n\n/**\n * Mapping of ISO 639-1 language codes to their default ISO 15924 script codes\n * Data sourced from CLDR and official ISO standards\n */\nexport const languageScriptsMap: Readonly<LanguageScriptMapData> = {\n  // Latin script languages\n  en: 'Latn', // English\n  fr: 'Latn', // French\n  de: 'Latn', // German\n  es: 'Latn', // Spanish\n  it: 'Latn', // Italian\n  pt: 'Latn', // Portuguese\n  nl: 'Latn', // Dutch\n  pl: 'Latn', // Polish\n  tr: 'Latn', // Turkish\n  sv: 'Latn', // Swedish\n  da: 'Latn', // Danish\n  no: 'Latn', // Norwegian\n  fi: 'Latn', // Finnish\n  cs: 'Latn', // Czech\n  sk: 'Latn', // Slovak\n  hu: 'Latn', // Hungarian\n  ro: 'Latn', // Romanian\n  bg: 'Latn', // Bulgarian\n  hr: 'Latn', // Croatian\n  sl: 'Latn', // Slovenian\n  et: 'Latn', // Estonian\n  lv: 'Latn', // Latvian\n  lt: 'Latn', // Lithuanian\n  ga: 'Latn', // Irish\n  cy: 'Latn', // Welsh\n  gd: 'Latn', // Scottish Gaelic\n  is: 'Latn', // Icelandic\n  fo: 'Latn', // Faroese\n  mt: 'Latn', // Maltese\n  ca: 'Latn', // Catalan\n  gl: 'Latn', // Galician\n  eu: 'Latn', // Basque\n  id: 'Latn', // Indonesian\n  ms: 'Latn', // Malay\n  vi: 'Latn', // Vietnamese\n  tl: 'Latn', // Tagalog\n  sw: 'Latn', // Swahili\n  zu: 'Latn', // Zulu\n  af: 'Latn', // Afrikaans\n  st: 'Latn', // Southern Sotho\n  xh: 'Latn', // Xhosa\n  ss: 'Latn', // Swati\n  nr: 'Latn', // Southern Ndebele\n  tn: 'Latn', // Tswana\n  ts: 'Latn', // Tsonga\n  ve: 'Latn', // Venda\n  ny: 'Latn', // Chichewa\n  yo: 'Latn', // Yoruba\n  ig: 'Latn', // Igbo\n  ha: 'Latn', // Hausa\n  ff: 'Latn', // Fulah\n  wo: 'Latn', // Wolof\n  dy: 'Latn', // Dyula\n  bm: 'Latn', // Bambara\n  sg: 'Latn', // Sango\n  ln: 'Latn', // Lingala\n  rw: 'Latn', // Kinyarwanda\n  rn: 'Latn', // Rundi\n  ki: 'Latn', // Kikuyu\n  lu: 'Latn', // Luba-Katanga\n  lg: 'Latn', // Ganda\n  nyn: 'Latn', // Nyankole\n  cgg: 'Latn', // Chiga\n  teo: 'Latn', // Teso\n  kln: 'Latn', // Kalenjin\n  kam: 'Latn', // Kamba\n  mer: 'Latn', // Meru\n  om: 'Latn', // Oromo\n  ti: 'Latn', // Tigrinya\n  so: 'Latn', // Somali\n  am: 'Latn', // Amharic\n  wal: 'Latn', // Wolaytta\n  sid: 'Latn', // Sidamo\n  guz: 'Latn', // Gusii\n  dav: 'Latn', // Taita\n\n  // Cyrillic script languages\n  ru: 'Cyrl', // Russian\n  uk: 'Cyrl', // Ukrainian\n  be: 'Cyrl', // Belarusian\n  sr: 'Cyrl', // Serbian\n  mk: 'Cyrl', // Macedonian\n  kk: 'Cyrl', // Kazakh\n  ky: 'Cyrl', // Kyrgyz\n  tg: 'Cyrl', // Tajik\n  mn: 'Cyrl', // Mongolian\n  uz: 'Cyrl', // Uzbek\n  tt: 'Cyrl', // Tatar\n  ba: 'Cyrl', // Bashkir\n  cv: 'Cyrl', // Chuvash\n  sah: 'Cyrl', // Yakut\n  os: 'Cyrl', // Ossetic\n  ce: 'Cyrl', // Chechen\n  av: 'Cyrl', // Avaric\n  kbd: 'Cyrl', // Kabardian\n  ady: 'Cyrl', // Adyghe\n  ab: 'Cyrl', // Abkhazian\n\n  // Arabic script languages\n  ar: 'Arab', // Arabic\n  fa: 'Arab', // Persian\n  ur: 'Arab', // Urdu\n  ps: 'Arab', // Pashto\n  ku: 'Arab', // Kurdish\n  sd: 'Arab', // Sindhi\n  pa: 'Arab', // Punjabi (Gurmukhi script is also used)\n  he: 'Hebr', // Hebrew\n  yi: 'Hebr', // Yiddish\n\n  // Indic scripts\n  hi: 'Deva', // Hindi\n  bn: 'Beng', // Bengali\n  te: 'Telu', // Telugu\n  ta: 'Taml', // Tamil\n  ml: 'Mlym', // Malayalam\n  kn: 'Knda', // Kannada\n  gu: 'Gujr', // Gujarati\n  mr: 'Deva', // Marathi\n  ne: 'Deva', // Nepali\n  si: 'Sinh', // Sinhala\n  dz: 'Tibt', // Dzongkha\n  bo: 'Tibt', // Tibetan\n\n  // East Asian scripts\n  zh: 'Hans', // Chinese (Simplified)\n  zh_TW: 'Hant', // Chinese (Traditional)\n  ja: 'Jpan', // Japanese\n  ko: 'Kore', // Korean\n  th: 'Thai', // Thai\n  lo: 'Laoo', // Lao\n  km: 'Khmr', // Khmer\n  my: 'Mymr', // Burmese\n\n  // Other scripts\n  el: 'Grek', // Greek\n  ka: 'Geor', // Georgian\n  hy: 'Armn', // Armenian\n} as const;\n\n/**\n * Script grouping data for RTL and LTR scripts\n */\nexport const SCRIPT_GROUPS: Readonly<ScriptGroups> = {\n  RTL: ['Arab', 'Hebr', 'Syrc', 'Thaa', 'Nkoo', 'Mend', 'Adlm', 'Rohg'],\n  LTR: [\n    'Latn',\n    'Cyrl',\n    'Deva',\n    'Beng',\n    'Guru',\n    'Gujr',\n    'Orya',\n    'Taml',\n    'Telu',\n    'Knda',\n    'Mlym',\n    'Sinh',\n    'Thai',\n    'Laoo',\n    'Tibt',\n    'Mymr',\n    'Khmr',\n    'Mong',\n    'Hani',\n    'Hira',\n    'Kana',\n    'Hang',\n    'Ethi',\n    'Cher',\n    'Cans',\n    'Ojib',\n    'Runr',\n    'Tfng',\n    'Vaii',\n    'Bamu',\n    'Lisu',\n    'Visp',\n    'Osge',\n    'Osma',\n    'Elba',\n    'Aghb',\n    'Cauc',\n    'Vith',\n    'Phnx',\n    'Lydi',\n    'Mero',\n    'Narb',\n    'Palm',\n    'Nbat',\n    'Hatr',\n    'Phli',\n    'Prti',\n    'Avst',\n    'Pcun',\n    'Phlp',\n    'Phlv',\n    'Phnx',\n    'Plrd',\n    'Prti',\n    'Qaak',\n    'Rjng',\n    'Roro',\n    'Runr',\n    'Samr',\n    'Sara',\n    'Saur',\n    'Sgnw',\n    'Shaw',\n    'Shrd',\n    'Sidd',\n    'Sind',\n    'Sinh',\n    'Sora',\n    'Sund',\n    'Sylo',\n    'Syrc',\n    'Tagb',\n    'Takr',\n    'Tale',\n    'Talu',\n    'Taml',\n    'Tang',\n    'Tavt',\n    'Telu',\n    'Teng',\n    'Tfng',\n    'Tglg',\n    'Thaa',\n    'Thai',\n    'Tibt',\n    'Tirh',\n    'Ugar',\n    'Vaii',\n    'Visp',\n    'Wara',\n    'Wcho',\n    'Xpeo',\n    'Xsux',\n    'Yiii',\n    'Zanb',\n    'Zinh',\n    'Zmth',\n    'Zsye',\n    'Zsym',\n    'Zxxx',\n    'Zyyy',\n    'Zzzz',\n  ],\n} as const;\n","import { ISO6391Code, ISO15924ScriptCode } from './types';\nimport {\n  languageScriptsMap as rawLanguageScriptsMap,\n  SCRIPT_GROUPS as rawScriptGroups,\n} from './data';\n\n// Make the data structures truly readonly\nexport const languageScriptsMap = Object.freeze(rawLanguageScriptsMap);\nexport const SCRIPT_GROUPS = Object.freeze(rawScriptGroups);\n\n/**\n * Gets the default script code for a given language code\n * @param languageCode - ISO 639-1 language code (case-insensitive)\n * @returns The ISO 15924 script code for the language, or undefined if not found\n * @example\n * getScriptByLanguageCode('en') // returns 'Latn'\n * getScriptByLanguageCode('ar') // returns 'Arab'\n * getScriptByLanguageCode('invalid') // returns undefined\n */\nexport function getScriptByLanguageCode(\n  languageCode: ISO6391Code | string\n): ISO15924ScriptCode | undefined {\n  if (!languageCode) return undefined;\n  return languageScriptsMap[languageCode.toLowerCase()];\n}\n\n/**\n * Gets all language codes that use a given script\n * @param scriptCode - ISO 15924 script code (case-insensitive)\n * @returns Array of ISO 639-1 language codes that use the script\n * @example\n * getLanguagesByScript('Latn') // returns ['en', 'fr', 'de', ...]\n * getLanguagesByScript('Arab') // returns ['ar', 'fa', 'ur', ...]\n * getLanguagesByScript('invalid') // returns []\n */\nexport function getLanguagesByScript(scriptCode: ISO15924ScriptCode | string): ISO6391Code[] {\n  if (!scriptCode) return [];\n  const normalizedScript = scriptCode.toUpperCase();\n  return Object.entries(languageScriptsMap)\n    .filter(([_, script]) => script.toUpperCase() === normalizedScript)\n    .map(([lang]) => lang);\n}\n\n/**\n * Checks if a given script code is valid (exists in the dataset)\n * @param scriptInput - ISO 15924 script code to check (case-insensitive)\n * @returns true if the script code exists in the dataset\n * @example\n * isValidScript('Latn') // returns true\n * isValidScript('Arab') // returns true\n * isValidScript('invalid') // returns false\n */\nexport function isValidScript(scriptInput: string): boolean {\n  if (!scriptInput) return false;\n  const normalizedScript = scriptInput.toUpperCase();\n  return Object.values(languageScriptsMap).some(\n    (script) => script.toUpperCase() === normalizedScript\n  );\n}\n\n/**\n * Checks if a given script is the default script for a language\n * @param languageCode - ISO 639-1 language code (case-insensitive)\n * @param scriptInput - ISO 15924 script code to check (case-insensitive)\n * @returns true if the script is the default for the language\n * @example\n * isScriptMatch('en', 'Latn') // returns true\n * isScriptMatch('ar', 'Arab') // returns true\n * isScriptMatch('en', 'Arab') // returns false\n */\nexport function isScriptMatch(\n  languageCode: ISO6391Code | string,\n  scriptInput: ISO15924ScriptCode | string\n): boolean {\n  if (!languageCode || !scriptInput) return false;\n  const langScript = getScriptByLanguageCode(languageCode);\n  return langScript?.toUpperCase() === scriptInput.toUpperCase();\n}\n\n// Export types\nexport * from './types';\n"]}