UNPKG

nest-leader-election

Version:
43 lines (42 loc) 1.93 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var LeaderElectorModule_1; import { Module, Global } from "@nestjs/common"; import { TypeOrmModule, getRepositoryToken } from "@nestjs/typeorm"; import { DataSource } from "typeorm"; import { createLeaderLeaseEntity } from "../entities/index.js"; import { LeaderElectorService } from "./service.js"; let LeaderElectorModule = LeaderElectorModule_1 = class LeaderElectorModule { static forRoot(config) { const entity = createLeaderLeaseEntity(config.schema); const repositoryProvider = { provide: getRepositoryToken(entity), useFactory: (dataSource) => dataSource.getRepository(entity), inject: [DataSource], }; return { module: LeaderElectorModule_1, imports: [TypeOrmModule.forFeature([entity])], providers: [ repositoryProvider, { provide: LeaderElectorService, useFactory: (repo) => new LeaderElectorService(repo, config), inject: [getRepositoryToken(entity)], }, ], exports: [LeaderElectorService], }; } }; LeaderElectorModule = LeaderElectorModule_1 = __decorate([ Global(), Module({ exports: [LeaderElectorService], }) ], LeaderElectorModule); export { LeaderElectorModule };