@nestjs/microservices
Version:
Nest - modern, fast, powerful node.js web framework (@microservices)
30 lines (29 loc) • 1.12 kB
JavaScript
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);
}
}
}