Skip to content

DI Bag API / index / LifecycleEvent

Type Alias: LifecycleEvent ​

ts
type LifecycleEvent = (ContainerEventFields & {
    readonly kind: 'container-opened';
}) | (ContainerEventFields & {
    readonly kind: 'container-closing';
}) | (ContainerEventFields & {
    readonly kind: 'container-closed';
}) | (ContainerEventFields & {
    readonly kind: 'container-close-failed';
    readonly error: unknown;
}) | (AcquisitionEventFields & {
    readonly kind: 'acquisition-started';
}) | (AcquisitionEventFields & {
    readonly kind: 'acquisition-ready';
}) | (AcquisitionEventFields & {
    readonly kind: 'disposal-started';
}) | (AcquisitionEventFields & {
    readonly kind: 'acquisition-failed';
    readonly error: unknown;
}) | (AcquisitionEventFields & {
    readonly kind: 'disposal-failed';
    readonly error: unknown;
    readonly disposalSequence: number;
}) | (AcquisitionEventFields & {
    readonly kind: 'disposal-completed';
    readonly outcome: 'success' | 'failure';
});

Defined in: observers.ts:33

A frozen discriminated lifecycle transition emitted after the corresponding state change. Narrow on kind to access failure, disposal outcome, or disposal-index fields.

See ​

https://dany-fedorov.github.io/di-bag/guides/tutorial.html#observe-lifecycle-transitions

Ordinary services. Checked composition. Explicit ownership.