UNPKG

646 BTypeScriptView Raw
1import { ResolverData } from "../interfaces";
2export declare type SupportedType<T> = {
3 new (...args: any[]): T;
4} | Function;
5export interface ContainerType {
6 get(someClass: any, resolverData: ResolverData<any>): any;
7}
8export declare type ContainerGetter<TContext extends object> = (resolverData: ResolverData<TContext>) => ContainerType;
9export declare class IOCContainer {
10 private container;
11 private containerGetter;
12 private defaultContainer;
13 constructor(iocContainerOrContainerGetter?: ContainerType | ContainerGetter<any>);
14 getInstance<T = any>(someClass: SupportedType<T>, resolverData: ResolverData<any>): T;
15}