nestjs-custom-injector
Version:
Custom injecting logic for NestJS with support multi providing
28 lines (27 loc) • 1.76 kB
TypeScript
import { DiscoveryService } from '@nestjs/core';
import { InstanceToken } from '@nestjs/core/injector/module';
import { CustomInjectorError, GetProviderOptions, GetProvidersOptions, InjectedProvidersStorageItem, InjectedProvidersStorageItemOptions } from './custom-injector.types';
export declare class CustomInjectorService {
private readonly discoveryService;
static _instance: CustomInjectorService;
static getInstance(): CustomInjectorService;
constructor(discoveryService: DiscoveryService);
getProvider<T, E extends CustomInjectorError<T> = CustomInjectorError<T>>(token: InstanceToken, options?: GetProviderOptions<T, E>): T;
getAsyncProvider<T, E extends CustomInjectorError<T> = CustomInjectorError<T>>(token: InstanceToken, options?: GetProviderOptions<T, E>): Promise<T>;
getProviders<T, E extends CustomInjectorError<T> = CustomInjectorError<T>>(token: InstanceToken, options?: GetProvidersOptions<T, E>): T[];
getAsyncProviders<T, E extends CustomInjectorError<T> = CustomInjectorError<T>>(token: InstanceToken, options?: GetProvidersOptions<T, E>): Promise<T[]>;
createInjectedProvidersStorageItem<T, E extends CustomInjectorError<T> = CustomInjectorError<T>>(token: InstanceToken, target: unknown, options: InjectedProvidersStorageItemOptions<T, E>): InjectedProvidersStorageItem<T, E>;
initAllNeedProviders(): Promise<void>;
private _getProvider;
private _getAsyncProvider;
private getOneProvider;
private _getProviders;
private getManyProviders;
private _getAsyncProviders;
private _getLastComponentByName;
private _getLastComponentsByClass;
private _getComponentsByName;
private _getComponentsByClass;
private errorFactory;
private toDiscoveredClass;
}