nestjs-chainlist
Version:
chainlist module for Nest framework (node.js)
35 lines • 1.59 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
const common_1 = require("@nestjs/common");
const _1 = require("./");
const constants_1 = require("./constants");
const tokens_1 = require("./tokens");
_a = new common_1.ConfigurableModuleBuilder({
optionsInjectionToken: (0, tokens_1.getChainsOptionsToken)(),
})
.setExtras({ isGlobal: true }, (definition, extras) => {
const list = Reflect.getMetadata(constants_1.METADATA_CHAINS_LIST, constants_1.TARGET_CHAINS_LISTS) || [];
const providers = [
...(definition.providers || []),
{
provide: (0, tokens_1.getChainsStorageToken)(),
useValue: Object.seal(new Map()),
},
_1.ChainsService,
...list.map((option) => ({
provide: (0, tokens_1.getChainListToken)(option.name),
useFactory: (service) => option.customized
? service.createChainList(option.values)
: service.getChainList(option.customized),
inject: [_1.ChainsService],
})),
];
const exports = [...(definition.exports || []), ...providers];
return Object.assign(Object.assign({}, definition), { providers,
exports, global: extras.isGlobal !== undefined ? extras.isGlobal : true });
})
.setClassMethodName('forRoot')
.build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
//# sourceMappingURL=chains.module-definition.js.map