{"version":3,"file":"normalizeDictionary.mjs","names":["t"],"sources":["../../../src/dictionaryManipulator/normalizeDictionary.ts"],"sourcesContent":["import type { Locale } from '@intlayer/types/allLocales';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { getPerLocaleDictionary } from '../deepTransformPlugins';\nimport { t } from '../transpiler/translation';\nimport { orderDictionaries } from './orderDictionaries';\n\nexport const normalizeDictionary = (\n  dictionary: Dictionary,\n  configuration: IntlayerConfig\n): Dictionary => {\n  const { locales } = configuration.internationalization;\n\n  const parsedDictionary = JSON.parse(JSON.stringify(dictionary));\n\n  // If the dictionary is a per-locale dictionary, transform it to a partial multilingual dictionary\n  if (dictionary.locale) {\n    return {\n      ...dictionary,\n      locale: undefined,\n      content: t({\n        [dictionary.locale]: dictionary.content,\n      }),\n    };\n  }\n\n  const perLocaleContent = locales.reduce(\n    (acc, locale) => {\n      const perLocaleDictionary = getPerLocaleDictionary(\n        parsedDictionary,\n        locale\n      );\n\n      acc[locale] = perLocaleDictionary.content;\n      return acc;\n    },\n    {} as Record<Locale, Dictionary['content']>\n  );\n\n  return {\n    ...dictionary,\n    content: t(perLocaleContent),\n  };\n};\n\nexport const normalizeDictionaries = (\n  dictionaries: Dictionary[],\n  configuration: IntlayerConfig\n): Dictionary[] => {\n  const orderedDictionaries = orderDictionaries(dictionaries, configuration);\n\n  const structuredDictionaries = orderedDictionaries.map((dictionary) =>\n    normalizeDictionary(dictionary, configuration)\n  );\n\n  return structuredDictionaries;\n};\n"],"mappings":";;;;;AAOA,MAAa,uBACX,YACA,kBACe;CACf,MAAM,EAAE,YAAY,cAAc;CAElC,MAAM,mBAAmB,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC;AAG/D,KAAI,WAAW,OACb,QAAO;EACL,GAAG;EACH,QAAQ;EACR,SAASA,YAAE,GACR,WAAW,SAAS,WAAW,SACjC,CAAC;EACH;CAGH,MAAM,mBAAmB,QAAQ,QAC9B,KAAK,WAAW;AAMf,MAAI,UALwB,uBAC1B,kBACA,OAG+B,CAAC;AAClC,SAAO;IAET,EAAE,CACH;AAED,QAAO;EACL,GAAG;EACH,SAASA,YAAE,iBAAiB;EAC7B;;AAGH,MAAa,yBACX,cACA,kBACiB;AAOjB,QAN4B,kBAAkB,cAAc,cAEV,CAAC,KAAK,eACtD,oBAAoB,YAAY,cAAc,CAGnB"}