inversify
Version:
A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.
18 lines (17 loc) • 1.11 kB
TypeScript
import interfaces from "../interfaces/interfaces";
declare class Planner implements interfaces.Planner {
createContext(kernel: interfaces.Kernel): interfaces.Context;
createPlan(context: interfaces.Context, binding: interfaces.Binding<any>, target: interfaces.Target): interfaces.Plan;
getBindings<T>(kernel: interfaces.Kernel, serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.Binding<T>[];
getActiveBindings(parentRequest: interfaces.Request, target: interfaces.Target): interfaces.Binding<any>[];
private _createSubRequest(parentRequest, target);
private _createChildRequest(parentRequest, target, bindings);
private _throwWhenCircularDependenciesFound(request, previousServiceIdentifiers?);
private _formatTargetMetadata(targetMetadata);
private _getTargets(func, isBaseClass);
private _constructorArgsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, constructorLength);
private _getClassPropsTargets(func);
private _getDependencies(func);
private _baseClassDepencencyCount(func);
}
export default Planner;