Container
Dependency injection container (Inversify)
Classes​
ContainerManager​
Defined in: packages/core/src/core/container/ContainerManager.ts:16
Wrapper class to manage Inversify containers with a cleaner API.
Provides a simplified interface for dependency injection using Inversify, with support for parent-child container hierarchies.
Example​
const manager = new ContainerManager();
const service = manager.get<MyService>(TYPES.MyService);
Constructors​
Constructor​
new ContainerManager(parent?): ContainerManager;
Defined in: packages/core/src/core/container/ContainerManager.ts:19
Parameters​
parent?​
Container
Returns​
Methods​
get()​
get<T>(serviceIdentifier, options?): T;
Defined in: packages/core/src/core/container/ContainerManager.ts:26
Get a service from the container
Type Parameters​
T​
T
Parameters​
serviceIdentifier​
options?​
Returns​
T
getContainer()​
getContainer(): Container;
Defined in: packages/core/src/core/container/ContainerManager.ts:48
Get the underlying Inversify container (for advanced use)
Returns​
Container
isBound()​
isBound(serviceIdentifier): boolean;
Defined in: packages/core/src/core/container/ContainerManager.ts:34
Check if a service is bound
Parameters​
serviceIdentifier​
Returns​
boolean
reset()​
reset(): void;
Defined in: packages/core/src/core/container/ContainerManager.ts:55
Reset the container (useful for testing)
Returns​
void
unbind()​
unbind(serviceIdentifier): void;
Defined in: packages/core/src/core/container/ContainerManager.ts:41
Unbind a service from the container
Parameters​
serviceIdentifier​
Returns​
void
Type Aliases​
ServiceIdentifier​
type ServiceIdentifier<TInstance> = string | symbol | Newable<TInstance> | Function;
Defined in: packages/core/src/core/container/types.ts:8
Service identifier for dependency injection. Can be a string, symbol, constructor, or function.
Type Parameters​
TInstance​
TInstance = unknown
The type of the service instance
Functions​
addCoreModule()​
function addCoreModule(container): Container;
Defined in: packages/core/src/core/container/modules.ts:8
Core module providing default logger binding
Parameters​
container​
Container
Returns​
Container
createChild()​
function createChild(parent?): ContainerManager;
Defined in: packages/core/src/core/container/index.ts:34
Create a child container for a microservice Child containers inherit parent bindings and can override them
Parameters​
parent?​
Returns​
getContainer()​
function getContainer(): ContainerManager;
Defined in: packages/core/src/core/container/index.ts:18
Get the parent container manager (contains shared dependencies like logger)
Returns​
getContainerManager()​
function getContainerManager(): ContainerManager;
Defined in: packages/core/src/core/container/index.ts:24