1 | import { DynamicModule, ForwardReference, Provider } from '@nestjs/common';
|
2 | import { ClassProvider, ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common/interfaces';
|
3 | import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
4 | import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
5 | import { Type } from '@nestjs/common/interfaces/type.interface';
|
6 | import { ApplicationConfig } from './application-config';
|
7 | import { NestContainer } from './injector/container';
|
8 | import { Module } from './injector/module';
|
9 | import { MetadataScanner } from './metadata-scanner';
|
10 | export 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 | }
|