ServiceProvider
Defined in: src/service-provider.ts:54
Resolves services registered in a ServiceCollection. The root provider owns singletons;
createScope returns a scope that owns its scoped services. Modeled on .NET’s IServiceProvider.
Supports await using: await using scope = provider.createScope();.
Methods
Section titled “Methods”[asyncDispose]()
Section titled “[asyncDispose]()”[asyncDispose]():
Promise<void>
Defined in: src/service-provider.ts:168
Returns
Section titled “Returns”Promise<void>
createScope()
Section titled “createScope()”createScope():
ServiceProvider
Defined in: src/service-provider.ts:135
Creates a scope: scoped services resolve once per scope. Dispose it when done (or use await using).
Returns
Section titled “Returns”ServiceProvider
dispose()
Section titled “dispose()”dispose():
Promise<void>
Defined in: src/service-provider.ts:147
Disposes every instance this provider (or scope) created, in reverse creation order:
onDestroy(), else [Symbol.asyncDispose](), else [Symbol.dispose](). Disposing the root
disposes singletons; disposing a scope disposes its scoped and transient instances.
Every instance is disposed even if some throw; the errors are rethrown afterwards
(an AggregateError if more than one). Later calls wait for the first one and do not rethrow.
Returns
Section titled “Returns”Promise<void>
getKeyedService()
Section titled “getKeyedService()”getKeyedService<
T>(token,key):Promise<T|undefined>
Defined in: src/service-provider.ts:112
Resolves the keyed registration of token for key, or undefined.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”Promise<T | undefined>
getRequiredKeyedService()
Section titled “getRequiredKeyedService()”getRequiredKeyedService<
T>(token,key):Promise<T>
Defined in: src/service-provider.ts:120
Resolves the keyed registration of token for key, throwing ServiceNotFoundError if there is none.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”Promise<T>
getRequiredService()
Section titled “getRequiredService()”getRequiredService<
T>(token):Promise<T>
Defined in: src/service-provider.ts:96
Resolves token, throwing ServiceNotFoundError if it is not registered.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”Promise<T>
getService()
Section titled “getService()”getService<
T>(token):Promise<T|undefined>
Defined in: src/service-provider.ts:88
Resolves token, or returns undefined if it is not registered. With several registrations, the last one wins.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”Promise<T | undefined>
getServices()
Section titled “getServices()”getServices<
T>(token):Promise<T[]>
Defined in: src/service-provider.ts:103
Resolves every registration of token, in registration order. Empty if none.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”Promise<T[]>
isService()
Section titled “isService()”isService<
T>(token,key?):boolean
Defined in: src/service-provider.ts:129
True if token (or token with key) is registered. False once disposed.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”Token<T>
Returns
Section titled “Returns”boolean