UNPKG

inversify

Version:

A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.

37 lines (36 loc) 1.83 kB
import interfaces from "../interfaces/interfaces"; declare class Kernel implements interfaces.Kernel { guid: string; private _planner; private _resolver; private _middleware; private _bindingDictionary; private _snapshots; private _parentKernel; constructor(); load(...modules: interfaces.KernelModule[]): void; unload(...modules: interfaces.KernelModule[]): void; bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>; unbind(serviceIdentifier: interfaces.ServiceIdentifier<any>): void; unbindAll(): void; isBound(serviceIdentifier: interfaces.ServiceIdentifier<any>): boolean; get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T; getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string): T; getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string, value: any): T; snapshot(): void; restore(): void; getServiceIdentifierAsString(serviceIdentifier: interfaces.ServiceIdentifier<any>): string; applyMiddleware(...middlewares: interfaces.Middleware[]): void; getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[]; getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string): T[]; getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string, value: any): T[]; parent: interfaces.Kernel; private _get<T>(args); private _planAndResolve<T>(args); private _getActiveBindings<T>(multiInject, serviceIdentifier, target); private _plan<T>(multiInject, serviceIdentifier, target); private _createContext<T>(binding, target); private _resolve<T>(contexts, contextInterceptor); private _listRegisteredBindingsForServiceIdentifier(serviceIdentifier); } export default Kernel;