when<TEvent extends Object, TState extends AggregateState<TValue> > method
- @mustCallSuper
- TEvent event
Handle event
.
Returns value after event is handled.
If given event
is not handled by this
state, original value is returned.
Implementation
@mustCallSuper
TState when<TEvent extends Object, TState extends AggregateState<TValue>>(
TEvent event,
) {
final eventType = event.runtimeType;
if (!_handlers.containsKey(eventType)) {
throw UnknownEventException(eventType, 'Handler not found');
}
return (_handlers[eventType]!
as AggregateEventHandlerCallback<TEvent, TValue, TState>)(event, value)
.._version = _version + 1;
}