Spectre.Operation.Update (Spectre v0.3.0)

Copy Markdown View Source

One committed update to a loop's effective context.

Summary

Types

t()

@type t() :: %Spectre.Operation.Update{
  applied_at: non_neg_integer() | nil,
  applied_context_revision: non_neg_integer() | nil,
  base_context_revision: non_neg_integer() | nil,
  causation_id: String.t() | nil,
  correlation_id: String.t(),
  id: String.t(),
  invalidations: [term()],
  metadata: map(),
  payload: term(),
  provenance: map(),
  requested_at: non_neg_integer(),
  status: :pending | :applied | :rejected
}

Functions

applied(update, revision, invalidations \\ [])

@spec applied(t(), non_neg_integer(), [term()]) :: t()

new(payload, opts \\ [])

@spec new(
  term(),
  keyword()
) :: t()

rejected(update, reason)

@spec rejected(t(), term()) :: t()

validate(update)

@spec validate(t()) :: :ok | {:error, term()}