maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>({
- TResult android()?,
- TResult ios()?,
- TResult macos()?,
- TResult web()?,
- TResult linux()?,
- TResult windows()?,
- TResult fuchsia()?,
- required TResult orElse(),
A variant of when that fallback to an orElse callback.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function()? android,TResult Function()? ios,TResult Function()? macos,TResult Function()? web,TResult Function()? linux,TResult Function()? windows,TResult Function()? fuchsia,required TResult orElse(),}) {final _that = this;
switch (_that) {
case AndroidPlatform() when android != null:
return android();case IosPlatform() when ios != null:
return ios();case MacosPlatform() when macos != null:
return macos();case WebPlatform() when web != null:
return web();case LinuxPlatform() when linux != null:
return linux();case WindowsPlatform() when windows != null:
return windows();case FuchsiaPlatform() when fuchsia != null:
return fuchsia();case _:
return orElse();
}
}