UNPKG

@ackplus/nest-dynamic-templates

Version:

Dynamic template management for NestJS applications

37 lines (36 loc) 1.44 kB
import { TemplateEngineEnum, TemplateLanguageEnum } from './template.types'; import { ModuleMetadata, Type } from '@nestjs/common'; export interface EngineConfig { enabled: boolean; options?: Record<string, any>; } export interface FilterOptions { name: string; filter: (...args: any[]) => any; } export type EngineOptions<T> = T & {}; export type CustomEngineOptions = { filters?: Record<string, FilterOptions['filter']>; }; export interface NestDynamicTemplatesModuleConfig { isGlobal?: boolean; enginesOptions?: { filters?: CustomEngineOptions['filters']; template?: Partial<Record<TemplateEngineEnum, EngineOptions<any>>>; language?: Partial<Record<TemplateLanguageEnum, EngineOptions<any>>>; }; engines?: { template?: TemplateEngineEnum[]; language?: TemplateLanguageEnum[]; }; } export interface NestDynamicTemplatesModuleOptionsFactory { createNestDynamicTemplatesModuleOptions(): Promise<NestDynamicTemplatesModuleConfig> | NestDynamicTemplatesModuleConfig; } export interface NestDynamicTemplatesModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> { isGlobal?: boolean; useExisting?: Type<NestDynamicTemplatesModuleOptionsFactory>; useClass?: Type<NestDynamicTemplatesModuleOptionsFactory>; useFactory?: (...args: any[]) => Promise<NestDynamicTemplatesModuleConfig> | NestDynamicTemplatesModuleConfig; inject?: any[]; }