maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult inProgress(
    1. MeasurementProgressInProgress value
    )?,
  2. TResult completed(
    1. MeasurementProgressCompleted value
    )?,
  3. TResult failed(
    1. MeasurementProgressFailed value
    )?,
  4. TResult idle(
    1. MeasurementProgressIdle value
    )?,
  5. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( MeasurementProgressInProgress value)?  inProgress,TResult Function( MeasurementProgressCompleted value)?  completed,TResult Function( MeasurementProgressFailed value)?  failed,TResult Function( MeasurementProgressIdle value)?  idle,required TResult orElse(),}){
final _that = this;
switch (_that) {
case MeasurementProgressInProgress() when inProgress != null:
return inProgress(_that);case MeasurementProgressCompleted() when completed != null:
return completed(_that);case MeasurementProgressFailed() when failed != null:
return failed(_that);case MeasurementProgressIdle() when idle != null:
return idle(_that);case _:
  return orElse();

}
}