From eb33fe5919ec885f952bef5b6b9c6f4c7c7c44dc Mon Sep 17 00:00:00 2001 From: "Micael Levi (@micalevisk)" Date: Fri, 25 Mar 2022 10:12:51 -0400 Subject: [PATCH] feat(common): disallow option `inject` on class/value providers types --- .../common/interfaces/modules/provider.interface.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/common/interfaces/modules/provider.interface.ts b/packages/common/interfaces/modules/provider.interface.ts index df331b97c7d..188933ead55 100644 --- a/packages/common/interfaces/modules/provider.interface.ts +++ b/packages/common/interfaces/modules/provider.interface.ts @@ -46,6 +46,12 @@ export interface ClassProvider { * Optional enum defining lifetime of the provider that is injected. */ scope?: Scope; + /** + * This option is only available on factory providers! + * + * @see [Use factory](https://docs.nestjs.com/fundamentals/custom-providers#factory-providers-usefactory) + */ + inject?: never; } /** @@ -72,6 +78,12 @@ export interface ValueProvider { * Instance of a provider to be injected. */ useValue: T; + /** + * This option is only available on factory providers! + * + * @see [Use factory](https://docs.nestjs.com/fundamentals/custom-providers#factory-providers-usefactory) + */ + inject?: never; } /**