| Current Path : /home/deltalab/PMS/logistic-backend/node_modules/@nestjs/config/dist/utils/ |
| Current File : //home/deltalab/PMS/logistic-backend/node_modules/@nestjs/config/dist/utils/register-as.util.js |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerAs = void 0;
const __1 = require("..");
const config_constants_1 = require("../config.constants");
const get_config_token_util_1 = require("./get-config-token.util");
/**
* Registers the configuration object behind a specified token.
*/
function registerAs(token, configFactory) {
const defineProperty = (key, value) => {
Object.defineProperty(configFactory, key, {
configurable: false,
enumerable: false,
value,
writable: false,
});
};
defineProperty(config_constants_1.PARTIAL_CONFIGURATION_KEY, token);
defineProperty(config_constants_1.PARTIAL_CONFIGURATION_PROPNAME, (0, get_config_token_util_1.getConfigToken)(token));
defineProperty(config_constants_1.AS_PROVIDER_METHOD_KEY, () => ({
imports: [__1.ConfigModule.forFeature(configFactory)],
useFactory: (config) => config,
inject: [(0, get_config_token_util_1.getConfigToken)(token)],
}));
return configFactory;
}
exports.registerAs = registerAs;