map<TResult extends Object?> method
TResult
map<TResult extends Object?>({
- required TResult inProgress(
- FetchProgressInProgress value
- required TResult completed(
- FetchProgressCompleted value
- required TResult failed(
- FetchProgressFailed value
- required TResult idle(
- FetchProgressIdle value
A switch-like method, using callbacks.
Callbacks receives the raw object, upcasted. It is equivalent to doing:
switch (sealedClass) {
case final Subclass value:
return ...;
case final Subclass2 value:
return ...;
}
Implementation
@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( FetchProgressInProgress value) inProgress,required TResult Function( FetchProgressCompleted value) completed,required TResult Function( FetchProgressFailed value) failed,required TResult Function( FetchProgressIdle value) idle,}){
final _that = this;
switch (_that) {
case FetchProgressInProgress():
return inProgress(_that);case FetchProgressCompleted():
return completed(_that);case FetchProgressFailed():
return failed(_that);case FetchProgressIdle():
return idle(_that);case _:
throw StateError('Unexpected subclass');
}
}