Skip to content

Services

Defined in: core/src/utils/utils.services.ts:28

A lazy dependency-injection container: services are classes constructed with the container itself and cached as singletons per instance. Defaults to an in-memory databaseCreator and bucketCreator when none are supplied, which is what lets a test construct one with no arguments.

new Services(options?): Services;

Defined in: core/src/utils/utils.services.ts:33

Parameter Type
options ServiceOptions

Services

[instanceKey]: Map<ServiceDependency<unknown>, unknown>;

Defined in: core/src/utils/utils.services.ts:29

get bucketCreator(): BucketCreator;

Defined in: core/src/utils/utils.services.ts:45

The storage factory used to open buckets for this container.

BucketCreator


get databaseCreator(): DatabaseCreator;

Defined in: core/src/utils/utils.services.ts:40

The dialect factory used to open databases for this container.

DatabaseCreator

clone(): Services;

Defined in: core/src/utils/utils.services.ts:67

Returns a new container sharing a shallow copy of the current instance cache.

Services


destroy(): Promise<void>;

Defined in: core/src/utils/utils.services.ts:79

Tears down all cached services, awaiting each one’s [destroy] method if it defines one.

Promise<void>


get<T>(service): T;

Defined in: core/src/utils/utils.services.ts:50

Resolves a service, constructing and caching it on first request. Throws if construction yields no instance.

Type Parameter
T
Parameter Type
service ServiceDependency<T>

T


set<T>(service, instance): void;

Defined in: core/src/utils/utils.services.ts:62

Overrides the cached instance for a service, e.g. to inject a stub in tests.

Type Parameter
T
Parameter Type
service ServiceDependency<T>
instance Partial<T>

void