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

Interface: AsyncServiceProvider<S> ​

Defined in: src/types.ts:655

Read-only access to an AsyncDIContainer's services. Like ServiceProvider, but resolutions return promises of the (resolved) service types.

Example ​

ts
function createHandler(services: AsyncServiceProvider<{ users: UserRepository }>) {
  return async (id: string) => (await services.get('users')).find(id);
}
createHandler(app); // an AsyncDIContainer with `users` and more

Extended by ​

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'.


ownKeys ​

readonly ownKeys: readonly ServiceKey[]

Defined in: src/types.ts:689

Keys registered in this container.

Methods ​

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>>>>


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>>


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>>


getParent() ​

getParent(): AsyncServiceProvider<{ }> | undefined

Defined in: src/types.ts:692

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

Returns ​

AsyncServiceProvider<{ }> | undefined


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


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

Released under the MIT License.