ts-ioc-container
Version:
Typescript IoC container
26 lines (25 loc) • 1.2 kB
TypeScript
import { type DependencyKey, type IContainer, type IContainerModule, type ResolveManyOptions, type ResolveOneOptions, type Tag } from './IContainer';
import { type IProvider } from '../provider/IProvider';
import { type IRegistration } from '../registration/IRegistration';
import { type constructor } from '../utils';
export declare class EmptyContainer implements IContainer {
get isDisposed(): boolean;
getParent(): undefined;
resolveByClass<T>(token: constructor<T>, options?: {
args?: [];
}): T;
getScopes(): never[];
getInstances(): never[];
createScope(): IContainer;
dispose(): void;
register(key: DependencyKey, value: IProvider): this;
hasTag(tag: Tag): boolean;
getRegistrations(): never[];
removeScope(): void;
useModule(module: IContainerModule): this;
addRegistration(registration: IRegistration): this;
resolveMany<T>(alias: DependencyKey, options?: ResolveManyOptions): T[];
resolveOne<T>(key: constructor<T> | DependencyKey, options?: ResolveManyOptions): T;
resolveOneByKey<T>(key: DependencyKey, options?: ResolveOneOptions): T;
resolveOneByAlias<T>(key: DependencyKey, options?: ResolveOneOptions): T;
}