Interface: SealedAsyncDIContainer<S>
Defined in: src/types.ts:925
An AsyncDIContainer after seal(): like SealedDIContainer, with promises for resolutions.
Example
const app = new AsyncDIContainer().addSingleton('db', () => connect(url)).seal();
await app.get('db');Extends
Omit<AsyncDIContainer<S>,RegistrationMethod|ChainedMethod>
Type Parameters
S
S extends object = { }
Properties
keys
readonlykeys: readonlyServiceKey[]
Defined in: src/types.ts:686
Keys visible from this container, including its parents'.
Inherited from
ownKeys
readonlyownKeys: readonlyServiceKey[]
Defined in: src/types.ts:689
Keys registered in this container.
Inherited from
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?
Returns
Inherited from
Omit.fork
get()
get<
K,O>(key,options?):Promise<Oextendsobject?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
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
options?
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
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
Returns
this