mirror of
https://github.com/nestjs/nest.git
synced 2026-02-21 23:11:44 +00:00
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
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;
|
|
};
|