maybeMap<TResult extends Object?> method
TResult
maybeMap<TResult extends Object?>({
- TResult empty(
- SocketSendModelEmpty value
- TResult sp(
- SpViewSendModel value
- TResult ping(
- PingViewSendModel value
- 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(SocketSendModelEmpty value)? empty,
TResult Function(SpViewSendModel value)? sp,
TResult Function(PingViewSendModel value)? ping,
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case SocketSendModelEmpty() when empty != null:
return empty(_that);
case SpViewSendModel() when sp != null:
return sp(_that);
case PingViewSendModel() when ping != null:
return ping(_that);
case _:
return orElse();
}
}