UNPKG

nestjs-express-cassandra

Version:
32 lines (26 loc) 1.09 kB
import { ModuleMetadata, Type } from '@nestjs/common'; import { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface'; import Connection from '../connection'; import { ConnectionOptions } from './connection.interface'; export interface ExpressCassandraModuleOptions extends ConnectionOptions { keepConnectionAlive?: boolean; } export interface ExpressCassandraOptionsFactory { createExpressCassandraOptions( connectionName?: string, ): Promise<ExpressCassandraModuleOptions> | ExpressCassandraModuleOptions; } export type ExpressCassandraConnectionFactory = ( options?: ConnectionOptions, ) => Promise<Connection>; export interface ExpressCassandraModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'>, Pick<FactoryProvider, 'inject'> { name?: string; useExisting?: Type<ExpressCassandraOptionsFactory>; useClass?: Type<ExpressCassandraOptionsFactory>; useFactory: ( ...args: never[] ) => Promise<ExpressCassandraModuleOptions> | ExpressCassandraModuleOptions; connectionFactory?: ExpressCassandraConnectionFactory; }