knack-nest
Version:
A knack library for nestjs
22 lines (19 loc) • 663 B
text/typescript
import { Provider } from '@nestjs/common';
import { getObjectToken } from "./common/knack.utils";
import { KnackRepository } from "./core/KnackRepository";
import { KnackEntity } from "./core/KnackEntity";
import { KNACK_OBJECT_CONNECTION } from './constant';
import { KnackService } from './knack.service';
export function createKnackProvider(
objects: KnackEntity[]
): Provider[]{
return (objects || []).map( object => {
return {
provide: getObjectToken(object),
useFactory: (knackService:KnackService) => {
return new KnackRepository(knackService,object)
},
inject: [KNACK_OBJECT_CONNECTION]
}
});
}