Skip to content

Commit 0fcdf4e

Browse files
bugfix(@nestjs/common) add missing forward reference typing
1 parent 72aad1d commit 0fcdf4e

6 files changed

Lines changed: 17 additions & 6 deletions

File tree

packages/common/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export {
3535
ArgumentsHost,
3636
INestExpressApplication,
3737
INestFastifyApplication,
38+
ForwardReference,
3839
} from './interfaces';
3940
export * from './interceptors';
4041
export * from './services/logger.service';

packages/common/interfaces/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ export * from './features/arguments-host.interface';
2929
export * from './nest-express-application.interface';
3030
export * from './nest-fastify-application.interface';
3131
export * from './modules/provider.interface';
32-
export * from './type.interface';
32+
export * from './type.interface';
33+
export * from './modules/forward-reference.interface';
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export interface ForwardReference<T = any> {
2+
forwardRef: T;
3+
}

packages/common/interfaces/modules/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ export * from './module-metadata.interface';
22
export * from './nest-module.interface';
33
export * from './on-init.interface';
44
export * from './dynamic-module.interface';
5-
export * from './provider.interface';
5+
export * from './provider.interface';
6+
export * from './forward-reference.interface';

packages/common/interfaces/modules/module-metadata.interface.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ import { Controller } from '../controllers/controller.interface';
33
import { DynamicModule } from './dynamic-module.interface';
44
import { Type } from '../type.interface';
55
import { Provider } from './provider.interface';
6+
import { ForwardReference } from './forward-reference.interface';
67

78
export interface ModuleMetadata {
8-
imports?: Array<Type<any> | DynamicModule | any[]>;
9+
imports?: Array<Type<any> | DynamicModule | ForwardReference>;
910
controllers?: Type<any>[];
1011
providers?: Provider[];
11-
exports?: Array<DynamicModule | string | Provider | any[]>;
12+
exports?: Array<DynamicModule | string | Provider | ForwardReference>;
1213
/** @deprecated */
13-
modules?: Array<Type<any> | DynamicModule | any[]>;
14+
modules?: Array<Type<any> | DynamicModule | ForwardReference>;
1415
/** @deprecated */
1516
components?: Provider[];
1617
}
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
export const forwardRef = (fn: () => any) => ({ forwardRef: fn });
1+
import { ForwardReference } from '../interfaces/modules/forward-reference.interface';
2+
3+
export const forwardRef = (fn: () => any): ForwardReference => ({
4+
forwardRef: fn,
5+
});

0 commit comments

Comments
 (0)