Skip to content

basalt / core/src / Container

Class: Container ​

Defined in: core/src/container.ts:22

Hierarchical DI container.

  • singleton: one instance per application (stored in the container that owns the binding)
  • scoped: one instance per scope (e.g. per request), created in the leaf container
  • transient: new instance on every resolution

Constructors ​

Constructor ​

> new Container(parent?): Container

Defined in: core/src/container.ts:40

Parameters ​

parent? ​

Container

Returns ​

Container

Methods ​

createScope() ​

> createScope(): Container

Defined in: core/src/container.ts:95

Creates a child scope (e.g. per request). Bindings are inherited; scoped instances are not.

Returns ​

Container


dependencyGraph() ​

> dependencyGraph(): DependencyGraph

Defined in: core/src/container.ts:146

The dependency graph observed so far — every A depends on B edge seen during resolution since enableGraph(). Passive: it records real resolutions and never forces eager construction.

Returns ​

DependencyGraph


describe() ​

> describe(): BindingInfo[]

Defined in: core/src/container.ts:159

Static snapshot of every reachable binding — token, lifetime, and whether it's been built.

Returns ​

BindingInfo[]


enableGraph() ​

> enableGraph(): this

Defined in: core/src/container.ts:132

Enable dependency-graph recording (off by default — zero overhead otherwise).

Returns ​

this


get() ​

> get<T>(token): T

Defined in: core/src/container.ts:63

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

Returns ​

T


has() ​

> has<T>(token): boolean

Defined in: core/src/container.ts:59

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

Returns ​

boolean


register() ​

> register<T>(token, factory, lifetime?): this

Defined in: core/src/container.ts:42

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

factory ​

Factory<T>

lifetime? ​

Lifetime = 'singleton'

Returns ​

this


scoped() ​

> scoped<T>(token, factory): this

Defined in: core/src/container.ts:51

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

factory ​

Factory<T>

Returns ​

this


singleton() ​

> singleton<T>(token, factory): this

Defined in: core/src/container.ts:47

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

factory ​

Factory<T>

Returns ​

this


transient() ​

> transient<T>(token, factory): this

Defined in: core/src/container.ts:55

Type Parameters ​

T ​

T

Parameters ​

token ​

Token<T>

factory ​

Factory<T>

Returns ​

this

Released under the MIT License.