Intent/result journal used to make effects replayable.
Summary
Functions
Returns true when an intent is recorded without a result.
Returns a recorded intent by intent value or identifier.
Returns true when the journal contains the intent.
Builds an empty or restored effect journal.
Builds an effect journal and raises if the attributes are invalid.
Records an intent by its stable identifier.
Records an effect result by its intent identifier.
Returns the recorded result for an intent, if it exists.
Returns the Zoi schema for an effect journal.
Types
Functions
@spec incomplete_intent?(t(), Jidoka.Effect.Intent.t()) :: boolean()
Returns true when an intent is recorded without a result.
@spec intent_for(t(), Jidoka.Effect.Intent.t() | String.t()) :: Jidoka.Effect.Intent.t() | nil
Returns a recorded intent by intent value or identifier.
@spec intent_recorded?(t(), Jidoka.Effect.Intent.t() | String.t()) :: boolean()
Returns true when the journal contains the intent.
Builds an empty or restored effect journal.
Builds an effect journal and raises if the attributes are invalid.
@spec put_intent(t(), Jidoka.Effect.Intent.t()) :: t()
Records an intent by its stable identifier.
@spec put_result(t(), Jidoka.Effect.Result.t()) :: t()
Records an effect result by its intent identifier.
@spec result_for(t(), Jidoka.Effect.Intent.t()) :: Jidoka.Effect.Result.t() | nil
Returns the recorded result for an intent, if it exists.
@spec schema() :: Zoi.schema()
Returns the Zoi schema for an effect journal.