hypershield
Version:
Middleware suite for high-performance and resilient APIs
33 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigFactory = void 0;
const validator_1 = require("./validator");
class ConfigFactory {
constructor() {
this.currentConfig = validator_1.ConfigValidator.validate({});
}
static getInstance() {
if (!ConfigFactory.instance) {
ConfigFactory.instance = new ConfigFactory();
}
return ConfigFactory.instance;
}
updateConfig(config) {
this.currentConfig = validator_1.ConfigValidator.validate(config);
}
getConfig() {
return Object.assign({}, this.currentConfig);
}
loadEnvironmentConfig() {
const env = process.env.NODE_ENV || 'development';
try {
const envConfig = require(`../../../config/${env}.json`);
this.updateConfig(envConfig);
}
catch (error) {
console.warn(`No configuration found for environment: ${env}`);
}
}
}
exports.ConfigFactory = ConfigFactory;
//# sourceMappingURL=configFactory.js.map