API Reference Commanded v1.3.1
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 the
aggregate GenServer
process lifespan.
The default implementation of the Commanded.Aggregates.AggregateLifespan
behaviour.
Defines the arguments used to execute a command for an aggregate.
Supervises Commanded.Aggregates.Aggregate
instance processes.
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.
Snapshot data
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.