vue-di-container
Version:
Dependency injection container for Vue
19 lines (18 loc) • 549 B
TypeScript
import { Key, Provider } from './providers';
export interface Definition<T> {
readonly key: Key<T>;
get(container: Container): T;
}
export interface ProviderResolver {
resolve<T>(provider: Provider<T>): Definition<T> | undefined;
}
export declare class Container {
private parent;
private resolver;
private definitions;
private values;
private resolvingKeys;
constructor(parent: Container | undefined, resolver: ProviderResolver);
register<T = any>(provider: Provider<T>): void;
get<T>(key: Key<T>): T;
}