UNPKG

3.99 kBTypeScriptView Raw
1import { Abstract, ClassProvider, Controller, DynamicModule, ExistingProvider, FactoryProvider, Injectable, NestModule, Provider, ValueProvider } from '@nestjs/common/interfaces';
2import { Type } from '@nestjs/common/interfaces/type.interface';
3import { NestContainer } from './container';
4import { InstanceWrapper } from './instance-wrapper';
5interface ProviderName {
6 name?: string | symbol;
7}
8export declare class Module {
9 private readonly _metatype;
10 private readonly _scope;
11 private readonly container;
12 private readonly _id;
13 private readonly _imports;
14 private readonly _providers;
15 private readonly _injectables;
16 private readonly _middlewares;
17 private readonly _controllers;
18 private readonly _exports;
19 private _distance;
20 constructor(_metatype: Type<any>, _scope: Type<any>[], container: NestContainer);
21 readonly id: string;
22 readonly scope: Type<any>[];
23 readonly providers: Map<any, InstanceWrapper<Injectable>>;
24 readonly middlewares: Map<any, InstanceWrapper<Injectable>>;
25 readonly imports: Set<Module>;
26 /**
27 * Left for backward-compatibility reasons
28 */
29 readonly relatedModules: Set<Module>;
30 /**
31 * Left for backward-compatibility reasons
32 */
33 readonly components: Map<string, InstanceWrapper<Injectable>>;
34 /**
35 * Left for backward-compatibility reasons
36 */
37 readonly routes: Map<string, InstanceWrapper<Controller>>;
38 readonly injectables: Map<string, InstanceWrapper<Injectable>>;
39 readonly controllers: Map<string, InstanceWrapper<Controller>>;
40 readonly exports: Set<string | symbol>;
41 readonly instance: NestModule;
42 readonly metatype: Type<any>;
43 distance: number;
44 addCoreProviders(): void;
45 addModuleRef(): void;
46 addModuleAsProvider(): void;
47 addApplicationConfig(): void;
48 addInjectable<T extends Injectable>(injectable: Provider, host?: Type<T>): string;
49 addProvider(provider: Provider): string;
50 isCustomProvider(provider: Provider): provider is ClassProvider | FactoryProvider | ValueProvider | ExistingProvider;
51 addCustomProvider(provider: (ClassProvider | FactoryProvider | ValueProvider | ExistingProvider) & ProviderName, collection: Map<string, any>): string;
52 isCustomClass(provider: any): provider is ClassProvider;
53 isCustomValue(provider: any): provider is ValueProvider;
54 isCustomFactory(provider: any): provider is FactoryProvider;
55 isCustomUseExisting(provider: any): provider is ExistingProvider;
56 isDynamicModule(exported: any): exported is DynamicModule;
57 addCustomClass(provider: ClassProvider & ProviderName, collection: Map<string, InstanceWrapper>): void;
58 addCustomValue(provider: ValueProvider & ProviderName, collection: Map<string, InstanceWrapper>): void;
59 addCustomFactory(provider: FactoryProvider & ProviderName, collection: Map<string, InstanceWrapper>): void;
60 addCustomUseExisting(provider: ExistingProvider & ProviderName, collection: Map<string, InstanceWrapper>): void;
61 addExportedProvider(provider: (Provider & ProviderName) | string | symbol | DynamicModule): Set<string | symbol>;
62 addCustomExportedProvider(provider: FactoryProvider | ValueProvider | ClassProvider | ExistingProvider): Set<string | symbol>;
63 validateExportedProvider(token: string | symbol): string | symbol;
64 addController(controller: Type<Controller>): void;
65 assignControllerUniqueId(controller: Type<Controller>): void;
66 addRelatedModule(module: Module): void;
67 replace(toReplace: string | symbol | Type<any>, options: any): void;
68 hasProvider(token: string | symbol | Type<any>): boolean;
69 hasInjectable(token: string | symbol | Type<any>): boolean;
70 getProviderStaticToken(provider: string | symbol | Type<any> | Abstract<any>): string | symbol;
71 getProviderByKey<T = any>(name: string | symbol): InstanceWrapper<T>;
72 getNonAliasProviders(): Array<[string, InstanceWrapper<Injectable>]>;
73 createModuleReferenceType(): any;
74}
75export {};