Skip to content

Container · Core API

type Container = object;

Container that stores providers and resolves typed dependencies.

register(provider, options?): void;

Registers a provider in this container.

Pass { allowOverride: true } to intentionally replace an existing provider for the same token.

Parameter Type

provider

Provider

options?

RegisterOptions

void

DuplicateProviderError when the token is already registered.

InvalidProviderError when overriding a live disposable instance.


get<T>(token): T;

Resolves a required token.

Throws MissingProviderError when no provider exists in this container or any parent container.

Type Parameter

T

Parameter Type

token

Token<T>

T

MissingProviderError when no provider exists.

CircularDependencyError when the dependency graph contains a cycle.

InvalidProviderError when provider lifetimes are incompatible.

get<T>(dependency): T | undefined;

Resolves an optional dependency.

Returns undefined when no provider exists in this container or any parent container.

Type Parameter

T

Parameter Type

dependency

OptionalDependency<T>

T | undefined


has(token): boolean;

Checks whether this container or one of its parents has a provider.

Parameter Type

token

Token<unknown>

boolean


dispose(): Promise<void>;

Disposes cached instances owned by this container.

Disposal hooks run in reverse creation order. Calling dispose more than once is safe.

Promise<void>