@toss/nestjs-aop
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/toss/nestjs-aop"> <img src="https://toss.tech/wp-content/uploads/2022/11/tech-article-nest-js-02.png" alt="Logo" height="200"> </a>
31 lines (29 loc) • 731 B
text/typescript
import { DynamicModule, Module, ModuleMetadata } from '@nestjs/common';
import { AopTestingDecorator } from './aop-testing.decorator';
({})
export class AopTestingModule {
static registerAsync({
imports,
inject,
useFactory,
}: {
imports?: ModuleMetadata['imports'];
inject?: any[];
useFactory: (...args: any[]) => any[];
}): DynamicModule {
return {
module: AopTestingModule,
imports,
providers: [
{
provide: AopTestingDecorator,
inject,
useFactory: (...args: any[]) => {
const dependencies = useFactory(...args);
return new AopTestingDecorator(...dependencies);
},
},
],
};
}
}