Interface: EventBus

August 8, 2026 · View on GitHub

@plures/praxis


@plures/praxis / index / EventBus

Interface: EventBus

Defined in: src/lifecycle/event-bus.ts:33

A reactive lifecycle event bus — events fire synchronously, triggers execute immediately.

Properties

addExpectation

addExpectation: (expectation) => void

Defined in: src/lifecycle/event-bus.ts:41

Register an expectation

Parameters

expectation

LifecycleExpectation

Returns

void


addTrigger

addTrigger: (trigger) => void

Defined in: src/lifecycle/event-bus.ts:37

Register additional triggers at runtime

Parameters

trigger

TriggerDefinition

Returns

void


destroy

destroy: () => void

Defined in: src/lifecycle/event-bus.ts:51

Destroy and clean up

Returns

void


emit

emit: (name, data?, source?) => Promise<DispatchResult>

Defined in: src/lifecycle/event-bus.ts:35

Emit a lifecycle event — triggers fire synchronously

Parameters

name

LifecycleEventName

data?

Record<string, unknown>

source?

string

Returns

Promise<DispatchResult>


getAllExpectations

getAllExpectations: () => LifecycleExpectation[]

Defined in: src/lifecycle/event-bus.ts:45

Get all expectations

Returns

LifecycleExpectation[]


getExpectation

getExpectation: (id) => LifecycleExpectation | undefined

Defined in: src/lifecycle/event-bus.ts:43

Get an expectation by ID

Parameters

id

string

Returns

LifecycleExpectation | undefined


getHistory

getHistory: () => readonly LifecycleEvent[]

Defined in: src/lifecycle/event-bus.ts:47

Get event history

Returns

readonly LifecycleEvent[]


getTriggersFor

getTriggersFor: (name) => readonly TriggerDefinition[]

Defined in: src/lifecycle/event-bus.ts:49

Get triggers for a specific event

Parameters

name

LifecycleEventName

Returns

readonly TriggerDefinition[]


removeTrigger

removeTrigger: (eventName, actionId) => void

Defined in: src/lifecycle/event-bus.ts:39

Remove a trigger by event name + action ID

Parameters

eventName

LifecycleEventName

actionId

string

Returns

void