package
0.0.6
Repository: https://github.com/stackus/edat.git
Documentation: pkg.go.dev

# Functions

NewAggregateRoot constructor for *AggregateRoot.
NewAggregateRootRepository constructs a new AggregateRootRepository.
NewMaxChangesSnapshotStrategy constructs a new SnapshotStrategy with "max changes" rules.
WithAggregateRootID is an option to set the ID of the AggregateRoot.

# Variables

DefaultSnapshotStrategy is a strategy that triggers snapshots every 10 changes.
ErrAggregateNotFound is returned when no root was found for a given aggregate id.
ErrAggregateVersionMismatch should be returned by stores when new events cannot be appended due to version conflicts.
ErrPendingChanges is the error returned when a second command is applied to an aggregate without clearing changes.

# Structs

AggregateBase provides aggregates a base to build on.
AggregateRoot is the base for Aggregates.
AggregateRootRepository uses stores to load and save the changes to aggregates as events.

# Interfaces

Aggregate is a domain object that will be used at the base of other domain objects.
AggregateRepository interface.
AggregateRootStore is the interface that infrastructures should implement to be used in AggregateRootRepositories.
SnapshotStrategy interface.

# Type aliases

AggregateRootOption options for AggregateRoots.
AggregateRootStoreMiddleware interface for embedding stores.