UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

49 lines 3.37 kB
import { ApplicationConfig } from './application-config'; import { EnhancerSubtype } from '../helpers'; import { InstanceWrapper, Module, ContainerIoC } from '../core'; import { MetadataScanner } from './metadata-scanner'; import { ClassProvider, DynamicModuleInterface, ExistingProvider, FactoryProvider, ForwardReferenceInterface, Type, ValueProvider } from '../contracts'; import { ControllerType, InjectableType, ProviderType } from '../types'; import { GraphInspector } from '../inspector'; export declare class DependenciesScanner { private readonly container; private readonly metadataScanner; private readonly graphInspector; private readonly applicationConfig; private readonly applicationProvidersApplyMap; constructor(container: ContainerIoC, metadataScanner: MetadataScanner, graphInspector: GraphInspector, applicationConfig?: ApplicationConfig); scan(module: Type<any>): Promise<void>; scanForModules(moduleDefinition: ForwardReferenceInterface | Type<unknown> | DynamicModuleInterface | Promise<DynamicModuleInterface>, scope?: Type<unknown>[], ctxRegistry?: (ForwardReferenceInterface | DynamicModuleInterface | Type<unknown>)[]): Promise<Module[]>; insertModule(module: any, scope: Type<unknown>[]): Promise<Module | undefined>; scanModulesForDependencies(modules?: Map<string, Module>): Promise<void>; reflectImports(module: Type<unknown>, token: string, context: string): Promise<void>; reflectProviders(module: Type<any>, token: string): void; reflectControllers(module: Type<any>, token: string): void; reflectDynamicMetadata(obj: Type<InjectableType>, token: string): void; reflectExports(module: Type<unknown>, token: string): void; reflectInjectables(component: Type<InjectableType>, token: string, metadataKey: string): void; reflectParamInjectables(component: Type<InjectableType>, token: string, metadataKey: string): void; reflectKeyMetadata(component: Type<InjectableType>, key: string, method: string): any; calculateModulesDistance(): Promise<void>; insertImport(related: any, token: string, context: string): Promise<void>; isCustomProvider(provider: ProviderType): provider is ClassProvider | ValueProvider | FactoryProvider | ExistingProvider; insertProvider(provider: ProviderType, token: string): string | symbol | Function; insertInjectable(injectable: Type<InjectableType> | Object, token: string, host: Type<InjectableType>, subtype: EnhancerSubtype, methodKey?: string): InstanceWrapper<any>; insertExportedProvider(exportedProvider: Type<InjectableType>, token: string): void; insertController(controller: Type<ControllerType>, token: string): void; reflectMetadata(metaType: Type<any>, metadataKey: string): any; registerCoreModule(): Promise<void>; addScopedEnhancersMetadata(): void; applyApplicationProviders(): void; getApplyProvidersMap(): { [type: string]: Function; }; getApplyRequestProvidersMap(): { [type: string]: Function; }; isDynamicModule(module: Type<any> | DynamicModuleInterface): module is DynamicModuleInterface; isForwardReference(module: Type<any> | DynamicModuleInterface | ForwardReferenceInterface): module is ForwardReferenceInterface; private static flatten; private static isRequestOrTransient; } //# sourceMappingURL=scanner.d.ts.map