curli-config
Version:
A small library to load/validate configuration files placed in different sides of the application using environments
26 lines (25 loc) • 958 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const MergerFileHelper_1 = require("./MergerFileHelper");
const ValidateUsingSchema_1 = require("../Validation/ValidateUsingSchema");
class LoaderConfigsFilesGroup {
constructor(path, forceValidateSchemas) {
this.path = path;
this.forceValidateSchemas = forceValidateSchemas;
this.laoderCollection = [];
}
add(loaderConfigsFile) {
this.laoderCollection.push(loaderConfigsFile);
}
getConfig() {
let config = {};
this.laoderCollection.forEach((loaderConfigsFile) => {
config = MergerFileHelper_1.mergeValues(config, loaderConfigsFile.loadFile());
});
if (this.forceValidateSchemas) {
new ValidateUsingSchema_1.ValidateUsingSchema(config, this.path);
}
return config;
}
}
exports.LoaderConfigsFilesGroup = LoaderConfigsFilesGroup;
;