@nestjs/microservices
Version:
Nest - modern, fast, powerful node.js web framework (@microservices)
26 lines (25 loc) • 1.06 kB
TypeScript
import { ClientOptions, CustomClientOptions } from '../../interfaces';
import { Type, Provider, ModuleMetadata } from '@nestjs/common/interfaces';
export type ClientProvider = ClientOptions | CustomClientOptions;
export type ClientProviderOptions = ClientProvider & {
name: string | symbol;
};
export type ClientsModuleOptions = Array<ClientProviderOptions> | {
clients: Array<ClientProviderOptions>;
isGlobal?: boolean;
};
export interface ClientsModuleOptionsFactory {
createClientOptions(): Promise<ClientProvider> | ClientProvider;
}
export interface ClientsProviderAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
useExisting?: Type<ClientsModuleOptionsFactory>;
useClass?: Type<ClientsModuleOptionsFactory>;
useFactory?: (...args: any[]) => Promise<ClientProvider> | ClientProvider;
inject?: any[];
extraProviders?: Provider[];
name: string | symbol;
}
export type ClientsModuleAsyncOptions = Array<ClientsProviderAsyncOptions> | {
clients: Array<ClientsProviderAsyncOptions>;
isGlobal?: boolean;
};