UNPKG

4.1 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';
5import { ModuleRef } from './module-ref';
6export declare type InstanceToken = string | symbol | Type<any> | Abstract<any> | Function;
7export 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}