# Functions
NewInMemoryStore creates a new event.InMemoryStore instance.
NewTrackingStore wraps an Event Store to capture events that get appended to it.
SliceToStream converts a slice of event.Persisted domain events to an event.Stream type.
ToEnvelope returns an Envelope instance with the provided Event instance and no Metadata.
ToEnvelopes returns a list of Envelopes from a list of Events.
# Structs
FusedStore is a convenience type to fuse multiple Event Store interfaces where you might need to extend the functionality of the Store only partially.
InMemoryStore is a thread-safe, in-memory event.Store implementation.
Persisted represents an Domain Event that has been persisted into the Event Store.
TrackingStore is an Event Store wrapper to track the Events committed to the inner Event Store.
# Interfaces
Appender is an event.Store trait used to append new Domain Events in the Event Stream.
Processor represents a component that can process persisted Domain Events.
Store represents an Event Store, a stateful data source where Domain Events can be safely stored, and easily replayed.
Streamer is an event.Store trait used to open a specific Event Stream and stream it back in the application.
# Type aliases
Envelope contains a Domain Event and possible metadata associated to it.
Event is a Message representing some Domain information that has happened in the past, which is of vital information to the Domain itself.
ProcessorFunc is a functional implementation of the Processor interface.
StreamID identifies an Event Stream, which is a log of ordered Domain Events.