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 EventHandler interface. It will try to find the correct version of the model, waiting for it if needed.
func (*EventHandler) HandlerType ¶
func (h *EventHandler) HandlerType() eh.EventHandlerType
HandlerType implements the HandlerType method of the EventHandler interface.
func (*EventHandler) SetModel ¶
func (h *EventHandler) SetModel(factory func() interface{})
SetModel sets a factory function that creates concrete model 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, interface{}) (interface{}, 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.