@takentrade/takentrade-libs
Version:
TakeNTrade shared libraries
24 lines (23 loc) • 753 B
TypeScript
import { ModuleMetadata, Type } from '@nestjs/common';
import { Transport } from '@nestjs/microservices';
export interface NatsOptions {
transport: Transport.NATS;
options: {
servers: string[];
queue?: string;
name?: string;
timeout?: number;
reconnect?: boolean;
reconnectTimeWait?: number;
maxReconnectAttempts?: number;
};
}
export interface NatsOptionsFactory {
createNatsOptions(): Promise<NatsOptions> | NatsOptions;
}
export interface NatsAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
useExisting?: Type<NatsOptionsFactory>;
useClass?: Type<NatsOptionsFactory>;
useFactory?: (...args: any[]) => Promise<NatsOptions> | NatsOptions;
inject?: any[];
}