Documents injecute 1.x · Migrating from 0.x
Skip to content

Interface: SealedAsyncDIContainer<S> ​

Defined in: src/types.ts:925

An AsyncDIContainer after seal(): like SealedDIContainer, with promises for resolutions.

Example ​

ts
const app = new AsyncDIContainer().addSingleton('db', () => connect(url)).seal();
await app.get('db');

Extends ​

Type Parameters ​

S ​

S extends object = { }

Properties ​

keys ​

readonly keys: readonly ServiceKey[]

Defined in: src/types.ts:686

Keys visible from this container, including its parents'.

Inherited from ​

AsyncServiceProvider.keys


ownKeys ​

readonly ownKeys: readonly ServiceKey[]

Defined in: src/types.ts:689

Keys registered in this container.

Inherited from ​

AsyncServiceProvider.ownKeys

Methods ​

[asyncDispose]() ​

[asyncDispose](): Promise<void>

Defined in: src/async-container.ts:234

Same as dispose(); enables await using container = ….

Returns ​

Promise<void>

Inherited from ​

Omit.[asyncDispose]


addEventListener() ​

addEventListener<E>(event, handler): this

Defined in: src/types.ts:934

Subscribes to container events.

Type Parameters ​

E ​

E extends keyof ContainerEvents

Parameters ​

event ​

E

handler ​

(event) => void

Returns ​

this


bind() ​

bind<D, R>(dependencies, factory): () => Promise<Awaited<R>>

Defined in: src/types.ts:845

Returns a function that runs factory with resolved dependencies each time it is called.

Type Parameters ​

D ​

D extends Dependency<{ }, S>[]

R ​

R

Parameters ​

dependencies ​

[...D[]]

factory ​

((...args) => R) | (new (...args) => R)

Returns ​

() => Promise<Awaited<R>>

Inherited from ​

Omit.bind


call() ​

call<K>(key, args, thisArg?): Promise<Awaited<ReturnType<Extract<ServiceType<S, K>, (...args) => any>>>>

Defined in: src/types.ts:677

Resolves a function service and calls it with args.

Type Parameters ​

K ​

K extends string | number | symbol

Parameters ​

key ​

K | TaggedKey<any, K>

args ​

Parameters<Extract<ServiceType<S, K>, (...args) => any>>

thisArg? ​

unknown

Returns ​

Promise<Awaited<ReturnType<Extract<ServiceType<S, K>, (...args) => any>>>>

Inherited from ​

Omit.call


createResolver() ​

createResolver<K>(key): () => Promise<ServiceType<S, K>>

Defined in: src/types.ts:672

Returns a function that resolves key when called.

Type Parameters ​

K ​

K extends string | number | symbol

Parameters ​

key ​

K | TaggedKey<any, K>

Returns ​

() => Promise<ServiceType<S, K>>

Inherited from ​

Omit.createResolver


dispose() ​

dispose(): Promise<void>

Defined in: src/async-container.ts:231

Disposes every instance this container owns, dependents first; see DIContainer.dispose().

Returns ​

Promise<void>

Inherited from ​

Omit.dispose


fork() ​

fork(options?): AsyncDIContainer<S>

Defined in: src/async-container.ts:225

Creates a child container; see DIContainer.fork(). Forks of an async container are async.

Parameters ​

options? ​

ForkOptions

Returns ​

AsyncDIContainer<S>

Inherited from ​

Omit.fork


get() ​

get<K, O>(key, options?): Promise<O extends object ? ServiceType<S, K> | undefined : ServiceType<S, K>>

Defined in: src/types.ts:659

Resolves a service. Rejects when the key is not registered, unless { optional: true } is passed.

Type Parameters ​

K ​

K extends string | number | symbol

O ​

O extends GetOptions = { }

Parameters ​

key ​

K | TaggedKey<any, K>

options? ​

O

Returns ​

Promise<O extends object ? ServiceType<S, K> | undefined : ServiceType<S, K>>

Inherited from ​

Omit.get


getParent() ​

getParent(): AsyncServiceProvider<{ }> | undefined

Defined in: src/types.ts:692

The parent container (read-only view), if any.

Returns ​

AsyncServiceProvider<{ }> | undefined

Inherited from ​

Omit.getParent


getRegistration() ​

getRegistration(key): RegistrationInfo | undefined

Defined in: src/types.ts:695

Read-only metadata of the registration visible under key, or undefined.

Parameters ​

key ​

ServiceKey

Returns ​

RegistrationInfo | undefined

Inherited from ​

Omit.getRegistration


has() ​

has(key, options?): boolean

Defined in: src/types.ts:669

true when a service is registered under key (here or in a parent).

Parameters ​

key ​

ServiceKey

options? ​

HasOptions

Returns ​

boolean

Inherited from ​

Omit.has


injecute() ​

injecute<D, R>(factory, dependencies): Promise<Awaited<R>>

Defined in: src/types.ts:837

Runs a function (or class) with resolved dependencies, without registering it.

Type Parameters ​

D ​

D extends Dependency<{ }, S>[]

R ​

R

Parameters ​

factory ​

((...args) => R) | (new (...args) => R)

dependencies ​

[...D[]]

Returns ​

Promise<Awaited<R>>

Inherited from ​

Omit.injecute


removeEventListener() ​

removeEventListener<E>(event, handler): this

Defined in: src/types.ts:939

Removes a listener added with addEventListener().

Type Parameters ​

E ​

E extends keyof ContainerEvents

Parameters ​

event ​

E

handler ​

(event) => void

Returns ​

this


reset() ​

reset(options?): this

Defined in: src/types.ts:944

Clears cached instances (all, or keys), so the next resolution creates them again.

Parameters ​

options? ​

ResetOptions<S>

Returns ​

this


unuse() ​

unuse(middleware): this

Defined in: src/types.ts:932

Removes a middleware added with use().

Parameters ​

middleware ​

Middleware

Returns ​

this


use() ​

use(middleware): this

Defined in: src/types.ts:930

Adds a middleware around every resolution started from this container and its forks.

Parameters ​

middleware ​

Middleware

Returns ​

this

Released under the MIT License.