ts-ioc-container
Version:
Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.
10 lines (9 loc) • 505 B
TypeScript
import { type IContainer } from '../container/IContainer';
import { ProviderOptions } from '../provider/IProvider';
export declare abstract class InjectionToken<T = any> {
abstract resolve(s: IContainer, options?: ProviderOptions): T;
abstract args(...deps: unknown[]): InjectionToken<T>;
abstract argsFn(getArgsFn: (s: IContainer) => unknown[]): InjectionToken<T>;
abstract lazy(): InjectionToken<T>;
}
export declare function isInjectionToken(target: unknown): target is InjectionToken;