@miracledevs/paradigm-express-webapi
Version:
An easy to use MVC WebApi implementation over Express.
30 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigurationBuilder = void 0;
const json_configuration_source_1 = require("./json.configuration-source");
const environment_variable_configuration_source_1 = require("./environment-variable.configuration-source");
const environment_file_configuration_source_1 = require("./environment-file.configuration-source");
class ConfigurationBuilder {
constructor() {
this._sources = [];
}
addJsonFile(filePath) {
this._sources.push(new json_configuration_source_1.JsonConfigurationSource(filePath));
return this;
}
addEnvironmentVariables(settingsPrefix) {
this._sources.push(new environment_variable_configuration_source_1.EnvironmentVariableConfigurationSource(settingsPrefix));
return this;
}
addEnvironmentFile(filePath, settingsPrefix) {
this._sources.push(new environment_file_configuration_source_1.EnvironmentFileConfigurationSource(filePath, settingsPrefix));
return this;
}
build(configurationClass) {
const configuration = new configurationClass();
this._sources.forEach(x => Object.assign(configuration, x.get()));
return configuration;
}
}
exports.ConfigurationBuilder = ConfigurationBuilder;
//# sourceMappingURL=configuration-builder.js.map