map<TResult extends Object?> method
TResult
map<TResult extends Object?>({
- required TResult inProgress(
- MeasurementProgressInProgress value
- required TResult completed(
- MeasurementProgressCompleted value
- required TResult failed(
- MeasurementProgressFailed value
- required TResult idle(
- MeasurementProgressIdle 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( MeasurementProgressInProgress value) inProgress,required TResult Function( MeasurementProgressCompleted value) completed,required TResult Function( MeasurementProgressFailed value) failed,required TResult Function( MeasurementProgressIdle value) idle,}){
final _that = this;
switch (_that) {
case MeasurementProgressInProgress():
return inProgress(_that);case MeasurementProgressCompleted():
return completed(_that);case MeasurementProgressFailed():
return failed(_that);case MeasurementProgressIdle():
return idle(_that);case _:
throw StateError('Unexpected subclass');
}
}