Skip to main content

Class: Container

Simple dependency injection container that holds provider instances by token. It allows registering and resolving values or class instances during application runtime.

Constructors

Constructor

new Container(): Container

Returns

Container

Methods

getInstances()

getInstances(): IterableIterator<unknown>

Returns an iterator over all registered provider instances. Can be used for debugging or lifecycle management.

Returns

IterableIterator<unknown>

Iterable iterator of all stored provider values.


has()

has<T>(token): boolean

Checks whether a provider is registered for the given token.

Type Parameters

T

T

Parameters

token

Token<T>

The injection token to check.

Returns

boolean

true if a provider exists, false otherwise.


register()

register<T>(token, value): void

Registers a provider instance under the given token. If a provider already exists for this token, it will be overridden.

Type Parameters

T

T

Parameters

token

Token<T>

The injection token (class constructor, string, or symbol).

value

T

The instance or value to associate with the token.

Returns

void


resolve()

resolve<T>(token): T

Retrieves the provider instance associated with the given token.

Type Parameters

T

T

Parameters

token

Token<T>

The injection token to resolve.

Returns

T

The instance or value stored under the token.

Throws

If no provider is found for the token.