UNPKG

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