@ts-intl/dictionary
Version:
I18n dictionary/messages generator
30 lines (29 loc) • 1.52 kB
JavaScript
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;
};