# Functions

SliceToStream converts a slice of event.Persisted domain events to an event.Stream type.
StreamToSlice synchronously exhausts an EventStream to an event.Persisted slice, and returns an error if the EventStream origin, passed here as a closure, fails with an error.
ToEnvelope returns an Envelope instance with the provided Event instance and no Metadata.
ToEnvelopes returns a list of Envelopes from a list of Events.

# Constants

DefaultRunnerBufferSize is the default size for the buffered channels opened by a ProcessorRunner instance, if not specified.

# 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.
Persisted represents an Domain Event that has been persisted into the Event Store.
ProcessorRunner is an infrastructural component that orchestrates the processing of a Domain Event using the provided Event Processor and Subscription, to subscribe to incoming events from the 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.
Subscription is used to open an Event Stream from a remote source.

# 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.