1 | import { Abstract, ClassProvider, Controller, DynamicModule, ExistingProvider, FactoryProvider, Injectable, NestModule, Provider, ValueProvider } from '@nestjs/common/interfaces';
|
2 | import { Type } from '@nestjs/common/interfaces/type.interface';
|
3 | import { NestContainer } from './container';
|
4 | import { InstanceWrapper } from './instance-wrapper';
|
5 | interface ProviderName {
|
6 | name?: string | symbol;
|
7 | }
|
8 | export 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 | }
|
75 | export {};
|