ts-ioc-container
Version:
Typescript IoC container
25 lines (24 loc) • 1.16 kB
TypeScript
import { type DependencyKey, type IContainer, type Instance, type ResolveManyOptions, type ResolveOneOptions, type Tag } from './IContainer';
import { type IRegistration } from '../registration/IRegistration';
import { type constructor } from '../utils';
export declare abstract class AutoMockedContainer implements IContainer {
isDisposed: boolean;
createScope(): IContainer;
dispose(): void;
register(): this;
getParent(): undefined;
getScopes(): never[];
getInstances(): Instance[];
hasTag(tag: Tag): boolean;
removeScope(): void;
useModule(): this;
getRegistrations(): never[];
addRegistration(registration: IRegistration): this;
abstract resolveMany<T>(alias: DependencyKey, options?: ResolveManyOptions): T[];
abstract resolveByClass<T>(target: constructor<T>, options?: {
args?: unknown[];
}): T;
abstract resolveOneByKey<T>(keyOrAlias: DependencyKey, options?: ResolveOneOptions): T;
abstract resolveOneByAlias<T>(keyOrAlias: DependencyKey, options?: ResolveOneOptions): T;
abstract resolveOne<T>(alias: constructor<T> | DependencyKey, options?: ResolveManyOptions): T;
}