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