@wocker/core
Version:
Core of the Wocker
21 lines (20 loc) • 912 B
TypeScript
import { InjectionToken, ProviderType } from "../types";
import { Type } from "../types/Type";
import { Container } from "./Container";
import { InstanceWrapper } from "./InstanceWrapper";
import { ControllerWrapper } from "./ControllerWrapper";
export declare class ModuleWrapper<TInput = any> {
readonly container: Container;
readonly type: TInput;
imports: Map<any, InstanceWrapper>;
controllers: Map<any, ControllerWrapper>;
providers: Map<any, InstanceWrapper>;
exports: Set<any>;
constructor(container: Container, type: TInput);
get<TInput = any, TResult = TInput>(type: Type<TInput> | Function | string | symbol): TResult;
getWrapper(type: InjectionToken): InstanceWrapper | undefined;
addProvider(provider: ProviderType): void;
addController(type: any): void;
addExport(type: any): void;
replace(token: InjectionToken, provider: ProviderType): void;
}