@apiratorjs/di-container
Version:
A lightweight dependency injection container for JavaScript and TypeScript with powerful features: modular organization with DiModule.create, lazy initialization, automatic circular dependency detection, and multiple service lifecycles (singleton with bot
12 lines • 607 B
TypeScript
import { AsyncContextStore } from "@apiratorjs/async-context";
import { IDiConfigurator, ServiceToken } from "./types";
export declare class DiContainer {
private readonly _diConfigurator;
constructor(_diConfigurator: IDiConfigurator);
resolve<T>(token: ServiceToken<T>): Promise<T>;
runWithNewRequestScope(initialStore: AsyncContextStore, callback: (diContainer: DiContainer) => Promise<any> | any): Promise<void>;
isInRequestScopeContext(): boolean;
dispose(): Promise<void>;
getRequestScopeContext(): AsyncContextStore | undefined;
}
//# sourceMappingURL=di-container.d.ts.map