maybeWhen<R> method
R
maybeWhen<R>({
- R success(
- T result
- R error(
- Object error,
- StackTrace? stackTrace
- R inProgress()?,
- R idle()?,
- required R orElse(),
Similar to when, but doesn't require all states to be explicitly handled,
therefore the orElse
callback must be provided as a fallback handler.
Implementation
R maybeWhen<R>({
R Function(T result)? success,
R Function(Object error, StackTrace? stackTrace)? error,
R Function()? inProgress,
R Function()? idle,
required R Function() orElse,
}) {
if (this is _InProgress) {
if (inProgress != null) {
return inProgress();
} else {
return orElse();
}
} else if (this is _Error) {
final err = this as _Error;
if (error != null) {
return error(err.error, err.stackTrace);
} else {
return orElse();
}
} else if (this is _Success) {
if (success != null) {
return success((this as _Success<T>).results);
} else {
return orElse();
}
} else {
if (idle != null) {
return idle();
} else {
return orElse();
}
}
}