UNPKG

@ts-intl/dictionary

Version:

I18n dictionary/messages generator

30 lines (29 loc) 1.52 kB
import { buildNSPathByKeys, DictionaryController, readJsonFile, } from '@ts-intl/shared'; import { extractDictionaryFs } from './extractDictionaryFs'; export const extractProjectDictionary = ({ projectConfig }, optimize) => Object.fromEntries([projectConfig.locale.basic, ...projectConfig.locale.others].map((locale) => [ locale, DictionaryController.getControllerFs({ localePath: projectConfig.path.dictionary, locale, reader: optimize === null || optimize === void 0 ? void 0 : optimize.reader, }).dictionary, ])); export const extractProjectDictionaryWithLocale = ({ projectConfig, cacheFilePaths, }, locale, optimize) => { var _a; return (optimize === null || optimize === void 0 ? void 0 : optimize.include) ? extractDictionaryFs({ localePath: projectConfig.path.dictionary, locale, basicLocale: projectConfig.locale.basic, include: optimize.entry ? buildNSPathByKeys((_a = readJsonFile(cacheFilePaths.keysOfEntries)[optimize.entry]) !== null && _a !== void 0 ? _a : [], projectConfig.syntax.nsDivider, projectConfig.syntax.keyDivider) : optimize.include, exclude: optimize.exclude, reader: optimize.reader, }) : DictionaryController.getControllerFs({ localePath: projectConfig.path.dictionary, locale, reader: optimize === null || optimize === void 0 ? void 0 : optimize.reader, }).dictionary; };