Spectre.Transition (Spectre v0.3.0)

Copy Markdown View Source

Immutable result of one validated lifecycle transition.

It carries both state snapshots and the affected entities so persistence, journaling, and host dispatch can reason about a transition without reconstructing it from mutable-looking structs.

Summary

Types

t()

@type t() :: %Spectre.Transition{
  awaitable: Spectre.Awaitable.t() | nil,
  effect: Spectre.Effect.t() | nil,
  entity_id: term(),
  event: atom(),
  from: Spectre.State.t(),
  metadata: map(),
  replayed?: boolean(),
  to: Spectre.State.t()
}