UNPKG

@nestjs/microservices

Version:

Nest - modern, fast, powerful node.js web framework (@microservices)

30 lines (29 loc) 1.12 kB
import { Transport } from '../enums/transport.enum.js'; import { ServerGrpc } from './server-grpc.js'; import { ServerKafka } from './server-kafka.js'; import { ServerMqtt } from './server-mqtt.js'; import { ServerNats } from './server-nats.js'; import { ServerRedis } from './server-redis.js'; import { ServerRMQ } from './server-rmq.js'; import { ServerTCP } from './server-tcp.js'; export class ServerFactory { static create(microserviceOptions) { const { transport, options } = microserviceOptions; switch (transport) { case Transport.REDIS: return new ServerRedis(options); case Transport.NATS: return new ServerNats(options); case Transport.MQTT: return new ServerMqtt(options); case Transport.GRPC: return new ServerGrpc(options); case Transport.KAFKA: return new ServerKafka(options); case Transport.RMQ: return new ServerRMQ(options); default: return new ServerTCP(options); } } }