@jems/di
Version:
An implementation of IoC pattern based on dependency injection that allows you to granulate and decouple your libraries or applications. Wrote using SOLID principles and a variety OOP patterns implementations.
40 lines (39 loc) • 1.29 kB
TypeScript
import { Kernel } from './kernel';
import { ResolutionOption } from './resolutionOption';
/**
* Represents a context that contain a resolution relevant information.
*/
export declare class ResolutionContext {
/**
* Represenst the kernel that is performing the resolution.
*/
kernel: Kernel;
/**
* Represents the container used by the kernel to resolve the reference.
*/
originContainerAlias: string;
/**
* Represernt the container that is currently resolving the reference as original or support.
*/
currentContainerAlias: string;
/**
* Represents the stack of containers that are supporting the original container in the resolution.
*/
containerSupportingStack: string[];
/**
* Represents the stack of alias that are scheduled to be resolve in order to perform the resolution.
*/
aliasResolutionStack: string[];
/**
* Represents the stack of argumentable targets that are scheduled to be resolve in order to perform the resolution.
*/
targetResolutionStack: Function[];
/**
* Represents the step already taken to perform the resolution.
*/
steps: string[];
/**
* Represents the options of the resolution.
*/
resolutionOption: ResolutionOption;
}