whenOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? $default(
- String $type,
- ChatPreference chat,
- FilterablePreference follow,
- FilterablePreference like,
- FilterablePreference likeViaRepost,
- FilterablePreference mention,
- FilterablePreference quote,
- FilterablePreference reply,
- FilterablePreference repost,
- FilterablePreference repostViaRepost,
- Preference starterpackJoined,
- Preference subscribedPost,
- Preference unverified,
- Preference verified,
- Map<
String, dynamic> ? $unknown,
A variant of when
that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String $type, @ChatPreferenceConverter() ChatPreference chat, @FilterablePreferenceConverter() FilterablePreference follow, @FilterablePreferenceConverter() FilterablePreference like, @FilterablePreferenceConverter() FilterablePreference likeViaRepost, @FilterablePreferenceConverter() FilterablePreference mention, @FilterablePreferenceConverter() FilterablePreference quote, @FilterablePreferenceConverter() FilterablePreference reply, @FilterablePreferenceConverter() FilterablePreference repost, @FilterablePreferenceConverter() FilterablePreference repostViaRepost, @PreferenceConverter() Preference starterpackJoined, @PreferenceConverter() Preference subscribedPost, @PreferenceConverter() Preference unverified, @PreferenceConverter() Preference verified, Map<String, dynamic>? $unknown)? $default,) {final _that = this;
switch (_that) {
case _Preferences() when $default != null:
return $default(_that.$type,_that.chat,_that.follow,_that.like,_that.likeViaRepost,_that.mention,_that.quote,_that.reply,_that.repost,_that.repostViaRepost,_that.starterpackJoined,_that.subscribedPost,_that.unverified,_that.verified,_that.$unknown);case _:
return null;
}
}