Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrModelNotSet = errors.New("model not set")
ErrModelNotSet is when a model factory is not set on the EventHandler.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct { // Err is the error. Err error // BaseErr is an optional underlying error, for example from the DB driver. BaseErr error // Namespace is the namespace for the error. Namespace string }
Error is an error in the projector, with the namespace.
type EventHandler ¶
type EventHandler struct {
// contains filtered or unexported fields
}
EventHandler is a CQRS projection handler to run a Projector implementation.
func NewEventHandler ¶
func NewEventHandler(projector Projector, repo eh.ReadWriteRepo) *EventHandler
NewEventHandler creates a new EventHandler.
func (*EventHandler) HandleEvent ¶
HandleEvent implements the HandleEvent method of the eventhorizon.EventHandler interface. It will try to find the correct version of the model, waiting for it if needed.
func (*EventHandler) HandlerType ¶ added in v0.5.1
func (h *EventHandler) HandlerType() eh.EventHandlerType
HandlerType implements the HandlerType method of the eventhorizon.EventHandler interface.
func (*EventHandler) SetEntityFactory ¶
func (h *EventHandler) SetEntityFactory(f func() eh.Entity)
SetEntityFactory sets a factory function that creates concrete entity types.
type Projector ¶
type Projector interface { // Project projects an event onto a model and returns the updated model or // an error. Project(context.Context, eh.Event, eh.Entity) (eh.Entity, error) // ProjectorType returns the type of the projector. ProjectorType() Type }
Projector is a projector of events onto models.
Click to show internal directories.
Click to hide internal directories.