@wocker/core
Version:
Core of the Wocker
17 lines (16 loc) • 714 B
TypeScript
import { ModuleWrapper } from "./ModuleWrapper";
import { ProviderType, InjectionToken } from "../types";
import { Type } from "../types/Type";
export declare class InstanceWrapper<TInput = any> {
protected readonly module: ModuleWrapper;
protected readonly provider: ProviderType<TInput>;
protected _token: InjectionToken<TInput>;
protected _type?: Type<TInput>;
protected _instance?: TInput;
constructor(module: ModuleWrapper, provider: ProviderType<TInput>);
protected normalizeProvider(provider: ProviderType): any[];
get type(): Type<TInput> | undefined;
get token(): InjectionToken<TInput>;
get instance(): TInput;
replace(provider: ProviderType<TInput>): void;
}