UNPKG

@digoai/piatti-common

Version:

Librería común para proyectos NestJS con módulos reutilizables y servicios para facilitar el desarrollo de aplicaciones

49 lines (48 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDefaultTransportModule = exports.TransportClientModule = void 0; const microservices_1 = require("@nestjs/microservices"); const transport_constants_1 = require("./transport.constants"); class TransportClientModule { static register(options) { const clientProviders = options.clients.map((client) => ({ name: client.name || transport_constants_1.TRANSPORT_CLIENT, transport: client.transport, options: client.options, })); return microservices_1.ClientsModule.register(clientProviders); } static registerAsync(options) { return { module: microservices_1.ClientsModule, imports: [ microservices_1.ClientsModule.registerAsync([ { name: transport_constants_1.TRANSPORT_CLIENT, useFactory: async (...args) => { const config = await options.useFactory(...args); return config.clients[0] || {}; }, inject: options.inject, }, ]), ], global: options.isGlobal, }; } } exports.TransportClientModule = TransportClientModule; const createDefaultTransportModule = (servers) => { return TransportClientModule.register({ clients: [ { name: transport_constants_1.TRANSPORT_CLIENT, transport: microservices_1.Transport.NATS, options: { servers, }, }, ], }); }; exports.createDefaultTransportModule = createDefaultTransportModule;