@vert/core
Version:
Library to build OOP applications which are based on Vue.
34 lines (33 loc) • 954 B
TypeScript
import { TConstructor } from '../types';
/**
* Singleton injector holds all singleton instance.
*/
declare abstract class GlobalInjector {
private static readonly injector;
/**
* Get target instance from injector by providing provider.
*
* @param {{new(...args): T}} Provider
* @return {T}
*/
static get<T>(Provider: new (...args: any[]) => T): T;
/**
* Register target as singleton provider into global injector.
*
* @param Providers
*/
static addSingleton(...Providers: TConstructor[]): void;
/**
* Register target as transient provider into global injector.
*
* @param Providers
*/
static addTransient(...Providers: TConstructor[]): void;
/**
* Check whether injector has registered this provider.
*
* @param Provider
*/
static has(Provider: TConstructor): boolean;
}
export { GlobalInjector };