API Reference Commanded v1.3.1


Use Commanded to build your own Elixir applications following the CQRS/ES pattern.

Use Commanded.Aggregate.Multi to generate multiple events from a single command.

Aggregate is a GenServer process used to provide access to an instance of an event sourced aggregate.

The Commanded.Aggregates.AggregateLifespan behaviour is used to control the aggregate GenServer process lifespan.

Defines the arguments used to execute a command for an aggregate.

Defines a Commanded application.

Provides test assertion and wait for event functions to help test applications built using Commanded.

Composite router allows you to combine multiple router modules into a single router able to dispatch any registered command from an included child router.

Contains the aggregate, events, and metadata created by a successfully executed command.

Defines the behaviour a command handler module must implement to support command dispatch.

Command routing macro to allow configuration of each command to its command handler.

Data related to an event handling failure.

Defines the behaviour an event handler must implement and provides a convenience macro that implements the behaviour, allowing you to handle only the events you are interested in processing.

Map events to/from the structs used for persistence.

Protocol to allow an event to be transformed before being passed to a consumer.

Use the event store configured for a Commanded application.

Defines the behaviour to be implemented by an event store adapter to be used by Commanded.

An in-memory event store adapter useful for testing as no persistence provided.

EventData contains the data for a single event before being persisted to storage.

Contains the persisted stream identity, type, data, and metadata for a single event.

Specification to convert between an Elixir struct and a corresponding string type.

Middleware provides an extension point to add functions that you want to be called for every command the router dispatches.

An internal Commanded.Middleware that blocks after successful command dispatch until the requested dispatch consistency has been met.

An internal Commanded.Middleware that extracts the target aggregate's identity from the command.

A Commanded.Middleware that logs each stage of the command dispatch using the Elixir Logger

Pipeline is a struct used as an argument in the callback functions of modules implementing the Commanded.Middleware behaviour.

Data related to a process manager event handling or command dispatch failure.

Macro used to define a process manager.

Use the pubsub configured for a Commanded application.

Pub/sub behaviour for use by Commanded to subcribe to and broadcast messages.

Local pub/sub adapter, restricted to a single node, using Elixir's Registry.

Pub/sub adapter using Phoenix's distributed pub/sub and presence platform.

Use the process registry configured for a Commanded application.

Defines a behaviour for a process registry to be used by Commanded.

Distributed process registration using Erlangs :global registry[1].

Local process registration, restricted to a single node, using Elixir's Registry module.

A serializer that uses the JSON format and Jason library.

A type provider that uses the Elixir module name

Mix Tasks

Reset an event handler.