Commanded v0.16.0 API Reference

Modules

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 an aggregate lifespan

Defines the arguments used to execute a command for an aggregate

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 using its corresponding router

Contains the events and metadata created by a command succesfully executed against an aggregate

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

Contains the 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

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

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

A 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

Contains the data related to a failure

Behaviour to define a process manager

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 module

Pub/sub adapter using Phoenix’s distributed pub/sub and presence platform [1]

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

Local process registration, restricted to a single node, using Elixir’s Registry

A serializer that uses the JSON format

A type provider that uses the Elixir module name