UNPKG

@rytass/member-base-nestjs-module

Version:

Rytass Member System NestJS Base Module

24 lines (23 loc) 1.37 kB
import type { InjectionToken, ModuleMetadata, OptionalFactoryDependency, Type } from '@nestjs/common'; import type { MemberBaseModuleOptionsDTO } from './member-base-module-options.dto'; import type { MemberBaseModuleOptionFactoryInterface } from './member-base-module-option-factory'; import type { BaseMemberEntity } from '../models/base-member.entity'; export interface MemberBaseModuleAsyncOptionsDTO<MemberEntity extends BaseMemberEntity = BaseMemberEntity, TokenPayload extends { id: string; account?: string; domain?: string; } = Pick<MemberEntity, 'id' | 'account'> & { domain?: string; }> extends Pick<ModuleMetadata, 'imports'> { useFactory?: (...args: any[]) => Promise<MemberBaseModuleOptionsDTO<MemberEntity, TokenPayload>> | MemberBaseModuleOptionsDTO<MemberEntity, TokenPayload>; inject?: (InjectionToken | OptionalFactoryDependency)[]; useClass?: Type<MemberBaseModuleOptionFactoryInterface<MemberEntity, TokenPayload>>; useExisting?: Type<MemberBaseModuleOptionFactoryInterface<MemberEntity, TokenPayload>>; } export type MemberBaseModuleAsyncOptions<MemberEntity extends BaseMemberEntity = BaseMemberEntity, TokenPayload extends { id: string; account?: string; domain?: string; } = Pick<MemberEntity, 'id' | 'account'> & { domain?: string; }> = MemberBaseModuleAsyncOptionsDTO<MemberEntity, TokenPayload>;