UNPKG

dependency-injection-cat

Version:

DI Cat is a truly clean DI-container, which allows you not to pollute your business logic with decorators from DI/IOC libraries!

35 lines (33 loc) 1.15 kB
export interface IFullBeanConfig { scope?: "prototype" | "singleton"; isPublic?: boolean; } export interface IInternalCatContext { config: any; getBean<T>(beanName: string): T; getBeans(): Record<string, any>; ___postConstruct(): void; ___beforeDestruct(): void; } export declare type TBeanName = string; export declare type TLifecycle = "post-construct" | "before-destruct"; export declare type TLifecycleConfiguration = Record<TLifecycle, TBeanName[]>; export declare abstract class InternalCatContext implements IInternalCatContext { private contextName; private beanConfigurationRecord; private lifecycleConfiguration; [beanName: string]: any; constructor(contextName: string, beanConfigurationRecord: Record<TBeanName, IFullBeanConfig>, lifecycleConfiguration: TLifecycleConfiguration); ___postConstruct(): void; ___beforeDestruct(): void; private singletonMap; private notInitializedConfigMarker; private _config; get config(): any; set config(config: any); getBean<T>(beanName: TBeanName): T; protected getPrivateBean<T>(beanName: TBeanName): T; private getBeanConfiguration; getBeans(): Record<string, any>; } export {};