@wocker/core
Version:
Core of the Wocker
16 lines (15 loc) • 779 B
TypeScript
import { InstanceWrapper } from "./InstanceWrapper";
import { ModuleWrapper } from "./ModuleWrapper";
import { InjectionToken, ProviderType } from "../types";
import { Type } from "../types/Type";
export declare class Container {
readonly modules: Map<Type, ModuleWrapper>;
readonly globalProviders: Map<InjectionToken, InstanceWrapper>;
constructor();
addModule<TInput = any>(type: Type<TInput>, module: ModuleWrapper): void;
hasModule<TInput = any>(type: Type<TInput>): boolean;
getModule<TInput = any>(type: Type<TInput>): ModuleWrapper<TInput>;
addProvider(type: InjectionToken, wrapper: InstanceWrapper): void;
getProvider(type: InjectionToken): InstanceWrapper | undefined;
replace(type: InjectionToken, provider: ProviderType): void;
}