{"version":3,"file":"formatDictionary.mjs","names":[],"sources":["../../src/formatDictionary.ts"],"sourcesContent":["import {\n  i18nextToIntlayerFormatter,\n  icuToIntlayerFormatter,\n  intlayerToI18nextFormatter,\n  intlayerToICUFormatter,\n  intlayerToPortableObjectFormatter,\n  intlayerToVueI18nFormatter,\n  portableObjectToIntlayerFormatter,\n  vueI18nToIntlayerFormatter,\n} from '@intlayer/core/messageFormat';\nimport type { Dictionary } from '@intlayer/types/dictionary';\n\nexport const formatDictionary = (dictionary: Dictionary): Dictionary => {\n  if (dictionary.format === 'icu') {\n    return {\n      ...dictionary,\n      format: 'intlayer',\n      content: icuToIntlayerFormatter(dictionary.content),\n    };\n  }\n\n  if (dictionary.format === 'i18next') {\n    return {\n      ...dictionary,\n      format: 'intlayer',\n      content: i18nextToIntlayerFormatter(dictionary.content),\n    };\n  }\n\n  if (dictionary.format === 'vue-i18n') {\n    return {\n      ...dictionary,\n      format: 'intlayer',\n      content: vueI18nToIntlayerFormatter(dictionary.content),\n    };\n  }\n\n  if (dictionary.format === 'po') {\n    return {\n      ...dictionary,\n      format: 'intlayer',\n      content: portableObjectToIntlayerFormatter(dictionary.content),\n    };\n  }\n\n  return dictionary;\n};\n\nexport const formatDictionaries = async (\n  dictionaries: Dictionary[]\n): Promise<Dictionary[]> => Promise.all(dictionaries.map(formatDictionary));\n\nexport const formatDictionaryOutput = (\n  dictionary: Dictionary,\n  format: Dictionary['format']\n) => {\n  if (format === 'icu') {\n    return {\n      ...dictionary,\n      format: 'icu',\n      content: intlayerToICUFormatter(dictionary.content),\n    };\n  }\n\n  if (format === 'i18next') {\n    return {\n      ...dictionary,\n      format: 'i18next',\n      content: intlayerToI18nextFormatter(dictionary.content),\n    };\n  }\n\n  if (format === 'vue-i18n') {\n    return {\n      ...dictionary,\n      format: 'vue-i18n',\n      content: intlayerToVueI18nFormatter(dictionary.content),\n    };\n  }\n\n  if (dictionary.format === 'po') {\n    return {\n      ...dictionary,\n      format: 'po',\n      content: intlayerToPortableObjectFormatter(dictionary.content),\n    };\n  }\n\n  return dictionary;\n};\n\nexport const formatDictionariesOutput = (\n  dictionaries: Dictionary[],\n  format: Dictionary['format']\n) =>\n  dictionaries.map((dictionary) => formatDictionaryOutput(dictionary, format));\n"],"mappings":";;;AAYA,MAAa,oBAAoB,eAAuC;CACtE,IAAI,WAAW,WAAW,OACxB,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,uBAAuB,WAAW,OAAO;CACpD;CAGF,IAAI,WAAW,WAAW,WACxB,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,2BAA2B,WAAW,OAAO;CACxD;CAGF,IAAI,WAAW,WAAW,YACxB,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,2BAA2B,WAAW,OAAO;CACxD;CAGF,IAAI,WAAW,WAAW,MACxB,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,kCAAkC,WAAW,OAAO;CAC/D;CAGF,OAAO;AACT;AAEA,MAAa,qBAAqB,OAChC,iBAC0B,QAAQ,IAAI,aAAa,IAAI,gBAAgB,CAAC;AAE1E,MAAa,0BACX,YACA,WACG;CACH,IAAI,WAAW,OACb,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,uBAAuB,WAAW,OAAO;CACpD;CAGF,IAAI,WAAW,WACb,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,2BAA2B,WAAW,OAAO;CACxD;CAGF,IAAI,WAAW,YACb,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,2BAA2B,WAAW,OAAO;CACxD;CAGF,IAAI,WAAW,WAAW,MACxB,OAAO;EACL,GAAG;EACH,QAAQ;EACR,SAAS,kCAAkC,WAAW,OAAO;CAC/D;CAGF,OAAO;AACT;AAEA,MAAa,4BACX,cACA,WAEA,aAAa,KAAK,eAAe,uBAAuB,YAAY,MAAM,CAAC"}