@ngneat/transloco
Version:
The internationalization (i18n) library for Angular
53 lines • 2.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const schema_1 = require("../ng-add/schema");
const p = require('path');
const fs = require('fs');
function jsonTranslationFileCreator(source, lang, path) {
return source.create(p.join(path, `${lang}.json`), `{
"title": "transloco ${lang}",
"dynamic": "transloco {{value}}"
}
`);
}
exports.jsonTranslationFileCreator = jsonTranslationFileCreator;
function typescriptTranslationFileCreator(source, lang, path) {
return source.create(p.join(path, `${lang}.ts`), `export default {
title: "transloco ${lang}",
dynamic: "transloco {{value}}"
};
`);
}
exports.typescriptTranslationFileCreator = typescriptTranslationFileCreator;
function checkIfTranslationFilesExist(path, langs, extension, skipThrow) {
for (let lang of langs) {
const filePath = p.resolve(`${path}/${lang}${extension}`);
if (fs.existsSync(filePath)) {
if (skipThrow) {
return true;
}
throw new schematics_1.SchematicsException(`Translation file ${filePath} is already exist, please use --skip-creation`);
}
}
return false;
}
exports.checkIfTranslationFilesExist = checkIfTranslationFilesExist;
function createTranslateFilesFromOptions(host, options, translationFilePath) {
const extension = options.translateType === schema_1.TranslationFileTypes.Typescript ? '.ts' : '.json';
const translationCreator = options.translateType === schema_1.TranslationFileTypes.Typescript
? typescriptTranslationFileCreator
: jsonTranslationFileCreator;
checkIfTranslationFilesExist(translationFilePath, options.langs, extension);
return createTranslateFiles(options.langs, translationCreator, translationFilePath);
}
exports.createTranslateFilesFromOptions = createTranslateFilesFromOptions;
function createTranslateFiles(langs, creator, path) {
const treeSource = new schematics_1.EmptyTree();
langs.forEach(lang => {
creator(treeSource, lang, path);
});
return treeSource;
}
exports.createTranslateFiles = createTranslateFiles;
//# sourceMappingURL=translations.js.map