@watco/config-lib
Version:
Shared multi-environment configuration helpers for SDC NestJS services
20 lines (19 loc) • 922 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBaseConfigProvider = createBaseConfigProvider;
const base_config_service_1 = require("./base-config.service");
const env_utils_1 = require("./env-utils");
function createBaseConfigProvider(options) {
const mode = (0, env_utils_1.resolveMode)(options.defaultMode);
return {
provide: base_config_service_1.BASE_CONFIG_SERVICE,
useFactory: () => {
var _a, _b;
const factory = (_b = (_a = options.modeFactories[mode]) !== null && _a !== void 0 ? _a : options.modeFactories[mode.toLowerCase()]) !== null && _b !== void 0 ? _b : options.modeFactories[(0, env_utils_1.resolveMode)(options.defaultMode)];
if (!factory) {
throw new Error(`No BaseConfigService factory configured for mode: ${mode}`);
}
return factory();
},
};
}