UNPKG

@duongtrungnguyen/nestro

Version:
45 lines 1.68 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; import { Module } from "@nestjs/common"; import { DEFAULT_LOAD_BALANCING_REFRESH_INTERVAL, DEFAULT_LOAD_BALANCING_STRATEGY, LOAD_BALANCER, LOAD_BALANCING_CONFIGS } from "./constants"; import { DiscoveryService } from "./services"; import { LoadBalancingFactory } from "./loadbalancing"; let DiscoveryModule = class { static register(config) { const loadBalancingConfigProvider = { provide: LOAD_BALANCING_CONFIGS, useValue: { ...config, strategy: config.strategy || DEFAULT_LOAD_BALANCING_STRATEGY, refreshInterval: config.refreshInterval || DEFAULT_LOAD_BALANCING_REFRESH_INTERVAL } }; const loadBalancerProvider = { provide: LOAD_BALANCER, useFactory: (options) => { return LoadBalancingFactory.getStrategy(options.strategy); }, inject: [LOAD_BALANCING_CONFIGS] }; return { module: DiscoveryModule, providers: [loadBalancingConfigProvider, loadBalancerProvider, DiscoveryService], exports: [DiscoveryService] }; } }; DiscoveryModule = __decorateClass([ Module({}) ], DiscoveryModule); export { DiscoveryModule }; //# sourceMappingURL=discovery.module.js.map