nestjs-provider-helper

This helper creates a provider structure for NestJS modules in a opinionated way, where every provider must be a implementation of a interface


Keywords
dependency-injection, dependency-inversion, helper, liskov-substitution-principle, nest, nestjs, provider, solid, typescript
License
MIT
Install
npm install nestjs-provider-helper@1.0.0

Documentation

NestJS Provider Helper

This helper creates a provider structure for NestJS modules in a opinionated way, where every provider must be a implementation of a interface

The ProviderHelper class exposes static methods to create ClassProviders, FactoryProviders, ExistingProviders and ValueProviders

Installing

npm install nestjs-provider-helper
# or
yarn add nestjs-provider-helper

ClassProvider example

@Module({
  controllers: [CatsController],
  providers: [
    ProviderHelper.createClassProvider<ICatService, CatService>('ICatService', CatService),
    ProviderHelper.createClassProvider<ICatRepository, TypeormCatRepository>('ICatRepository', CatRepository),
  ],
})
export class CatsModule {}

FactoryProvider example

@Module({
  controllers: [CatsController],
  providers: [
    ProviderHelper.createClassProvider<ICatRepository, TypeormCatRepository>('ICatRepository', CatRepository),
    ProviderHelper.createFactoryProvider<ICatService, CatService>(
      'ICatService',
      (ICatRepository: catRepository) => new CatService(catRepository),
      ['ICatRepository']
    ),
  ],
})
export class CatsModule {}