UNPKG

3.73 kBTypeScriptView Raw
1import { DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2import { ClassProvider, ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common/interfaces';
3import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
4import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
5import { Type } from '@nestjs/common/interfaces/type.interface';
6import { ApplicationConfig } from './application-config';
7import { NestContainer } from './injector/container';
8import { Module } from './injector/module';
9import { MetadataScanner } from './metadata-scanner';
10export declare class DependenciesScanner {
11 private readonly container;
12 private readonly metadataScanner;
13 private readonly applicationConfig;
14 private readonly logger;
15 private readonly applicationProvidersApplyMap;
16 constructor(container: NestContainer, metadataScanner: MetadataScanner, applicationConfig?: ApplicationConfig);
17 scan(module: Type<any>): Promise<void>;
18 scanForModules(moduleDefinition: ForwardReference | Type<unknown> | DynamicModule | Promise<DynamicModule>, scope?: Type<unknown>[], ctxRegistry?: (ForwardReference | DynamicModule | Type<unknown>)[]): Promise<Module[]>;
19 insertModule(moduleDefinition: any, scope: Type<unknown>[]): Promise<Module | undefined>;
20 scanModulesForDependencies(modules?: Map<string, Module>): Promise<void>;
21 reflectImports(module: Type<unknown>, token: string, context: string): Promise<void>;
22 reflectProviders(module: Type<any>, token: string): void;
23 reflectControllers(module: Type<any>, token: string): void;
24 reflectDynamicMetadata(obj: Type<Injectable>, token: string): void;
25 reflectExports(module: Type<unknown>, token: string): void;
26 reflectInjectables(component: Type<Injectable>, token: string, metadataKey: string): void;
27 reflectParamInjectables(component: Type<Injectable>, token: string, metadataKey: string): void;
28 reflectKeyMetadata(component: Type<Injectable>, key: string, method: string): any;
29 calculateModulesDistance(): Promise<void>;
30 insertImport(related: any, token: string, context: string): Promise<void>;
31 isCustomProvider(provider: Provider): provider is ClassProvider | ValueProvider | FactoryProvider | ExistingProvider;
32 insertProvider(provider: Provider, token: string): string | symbol | void | Function;
33 insertInjectable(injectable: Type<Injectable>, token: string, host: Type<Injectable>): void;
34 insertExportedProvider(exportedProvider: Type<Injectable>, token: string): void;
35 insertController(controller: Type<Controller>, token: string): void;
36 reflectMetadata(metatype: Type<any>, metadataKey: string): any;
37 registerCoreModule(): Promise<void>;
38 /**
39 * Add either request or transient globally scoped enhancers
40 * to all controllers metadata storage
41 */
42 addScopedEnhancersMetadata(): void;
43 applyApplicationProviders(): void;
44 getApplyProvidersMap(): {
45 [type: string]: Function;
46 };
47 getApplyRequestProvidersMap(): {
48 [type: string]: Function;
49 };
50 isDynamicModule(module: Type<any> | DynamicModule): module is DynamicModule;
51 /**
52 * @param metatype
53 * @returns `true` if `metatype` is annotated with the `@Injectable()` decorator.
54 */
55 private isInjectable;
56 /**
57 * @param metatype
58 * @returns `true` if `metatype` is annotated with the `@Controller()` decorator.
59 */
60 private isController;
61 /**
62 * @param metatype
63 * @returns `true` if `metatype` is annotated with the `@Catch()` decorator.
64 */
65 private isExceptionFilter;
66 private isForwardReference;
67 private flatten;
68 private isRequestOrTransient;
69}