because I got bored of customising my CV for every job
at main 23 lines 571 B view raw
1import { type DynamicModule, Module } from "@nestjs/common"; 2import { MAIL_SERVICE_TOKEN, type MailService } from "./mail.service.interface"; 3 4export interface MailModuleOptions { 5 provider: new (...args: unknown[]) => MailService; 6} 7 8@Module({}) 9export class MailModule { 10 static forRoot(options: MailModuleOptions): DynamicModule { 11 return { 12 module: MailModule, 13 providers: [ 14 { 15 provide: MAIL_SERVICE_TOKEN, 16 useClass: options.provider, 17 }, 18 ], 19 exports: [MAIL_SERVICE_TOKEN], 20 global: true, 21 }; 22 } 23}