Class: DIContainer
Defined in: src/DI/di-container.ts:10
Singleton global dependency injection container
Uses topological sort (Kahn’s algorithm) to bootstrap services in correct dependency order. All services are eagerly initialized during bootstrap.
Constructors
Constructor
new DIContainer(): DIContainer;
Returns
DIContainer
Accessors
isReady
Get Signature
get isReady(): boolean;
Defined in: src/DI/di-container.ts:178
Check if bootstrap has been called
Returns
boolean
Methods
bootstrap()
bootstrap(): Promise<void>;
Defined in: src/DI/di-container.ts:118
Bootstrap all services in dependency order All services are eagerly initialized during bootstrap Each instance is associated with this container for property injection
Returns
Promise<void>
dispose()
dispose(): void;
Defined in: src/DI/di-container.ts:185
Dispose all services and reset container
Returns
void
get()
get<T>(ctor: Constructor<T>): T;
Defined in: src/DI/di-container.ts:152
Get a service instance All services must be bootstrapped before calling get()
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
ctor |
Constructor<T> |
Returns
T
getAllInstances()
getAllInstances(): any[];
Defined in: src/DI/di-container.ts:171
Get all service instances Useful for collecting metadata from all services after bootstrap
Returns
any[]
register()
register(token: Constructor): void;
Defined in: src/DI/di-container.ts:23
Register a service constructor
Parameters
| Parameter | Type |
|---|---|
token |
Constructor |
Returns
void
registerDependency()
registerDependency(parent: Constructor, dependency: Constructor): void;
Defined in: src/DI/di-container.ts:40
Register a dependency relationship between services
Parameters
| Parameter | Type | Description |
|---|---|---|
parent |
Constructor |
The service that depends on another |
dependency |
Constructor |
The service that parent depends on |
Returns
void
getContainerForInstance()
static getContainerForInstance(instance: any): DIContainer | undefined;
Defined in: src/DI/di-container.ts:144
Get the container associated with an instance Useful for property injection (fallback for @Inject)
Parameters
| Parameter | Type |
|---|---|
instance |
any |
Returns
DIContainer | undefined