nestjs-slonik
Version:
Slonik module for NestJS
24 lines (23 loc) • 869 B
TypeScript
import { Type, ModuleMetadata } from '@nestjs/common';
import { ClientConfigurationInput } from 'slonik';
export interface SlonikOptions {
connectionUri: string;
clientConfigurationInput?: ClientConfigurationInput;
}
export interface SlonikModuleOptions extends SlonikOptions {
name?: string;
toRetry?: (err: any) => boolean;
verboseRetryLog?: boolean;
retryAttempts?: number;
retryDelay?: number;
}
export interface SlonikOptionsFactory {
createSlonikOptions(poolName?: string): Promise<SlonikModuleOptions> | SlonikModuleOptions;
}
export interface SlonikModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
name?: string;
useExisting?: Type<SlonikOptionsFactory>;
useClass?: Type<SlonikOptionsFactory>;
useFactory?: (...args: any[]) => Promise<SlonikModuleOptions> | SlonikModuleOptions;
inject?: any[];
}