maybeMap<TResult extends Object?> method
TResult
maybeMap<TResult extends Object?>({
- TResult android(
- AndroidPlatform value
- TResult ios(
- IosPlatform value
- TResult macos(
- MacosPlatform value
- TResult web(
- WebPlatform value
- TResult linux(
- LinuxPlatform value
- TResult windows(
- WindowsPlatform value
- TResult fuchsia(
- FuchsiaPlatform 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(AndroidPlatform value)? android,
TResult Function(IosPlatform value)? ios,
TResult Function(MacosPlatform value)? macos,
TResult Function(WebPlatform value)? web,
TResult Function(LinuxPlatform value)? linux,
TResult Function(WindowsPlatform value)? windows,
TResult Function(FuchsiaPlatform value)? fuchsia,
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case AndroidPlatform() when android != null:
return android(_that);
case IosPlatform() when ios != null:
return ios(_that);
case MacosPlatform() when macos != null:
return macos(_that);
case WebPlatform() when web != null:
return web(_that);
case LinuxPlatform() when linux != null:
return linux(_that);
case WindowsPlatform() when windows != null:
return windows(_that);
case FuchsiaPlatform() when fuchsia != null:
return fuchsia(_that);
case _:
return orElse();
}
}