@criticalmanufacturing/dev-i18n-transform
Version:
i18n <--> gettext transform
47 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const duplicatedTranslations_validator_1 = require("./duplicatedTranslations.validator");
class ValidatorFactory {
/**
* Gets all the validators for specified language.
*
* @param pack Package to validate
*/
static getValidators(pack) {
let validators = [];
let language;
if (pack.files != null && pack.files.length > 0) {
language = path.extname(pack.files[0].uniqueFileName);
}
else {
return validators;
}
switch (language) {
case ".ts":
validators.push(new duplicatedTranslations_validator_1.DuplicatedTranslationsValidator(pack));
break;
case ".po":
// none yet
break;
default:
throw new Error("Not Implemented Yet");
}
return validators;
}
/**
* Validates all files of given package.
*
* @param pack Package to validate
*/
static validate(pack) {
// Get validators for language
let validators = ValidatorFactory.getValidators(pack);
// Call all validators and collect results
let validationResults = validators.map((validator) => validator.validate());
// Flatten results and return
return [].concat.apply([], validationResults);
}
}
exports.ValidatorFactory = ValidatorFactory;
//# sourceMappingURL=index.js.map