whenOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? likeGroup(
- LikeGroup data
- TResult? multiPostLikeGroup(
- MultiPostLikeGroup data
- TResult? repostGroup(
- RepostGroup data
- TResult? likeViaRepostGroup(
- LikeViaRepostGroup data
- TResult? repostViaRepostGroup(
- RepostViaRepostGroup data
- TResult? followGroup(
- FollowGroup data
- TResult? subscribedPostGroup(
- SubscribedPostGroup data
- TResult? generatorLikeGroup(
- GeneratorLikeGroup data
- TResult? replyNotification(
- ReplyNotification data
- TResult? quoteNotification(
- QuoteNotification data
- TResult? mentionNotification(
- MentionNotification data
- TResult? followBackNotification()?,
- TResult? verifiedNotification(
- VerifiedNotification data
- TResult? unverifiedNotification()?,
- TResult? starterPackJoinedNotification()?,
- TResult? contactMatchNotification()?,
- TResult? 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( LikeGroup data)? likeGroup,TResult? Function( MultiPostLikeGroup data)? multiPostLikeGroup,TResult? Function( RepostGroup data)? repostGroup,TResult? Function( LikeViaRepostGroup data)? likeViaRepostGroup,TResult? Function( RepostViaRepostGroup data)? repostViaRepostGroup,TResult? Function( FollowGroup data)? followGroup,TResult? Function( SubscribedPostGroup data)? subscribedPostGroup,TResult? Function( GeneratorLikeGroup data)? generatorLikeGroup,TResult? Function( ReplyNotification data)? replyNotification,TResult? Function( QuoteNotification data)? quoteNotification,TResult? Function( MentionNotification data)? mentionNotification,TResult? Function( FollowBackNotification data)? followBackNotification,TResult? Function( VerifiedNotification data)? verifiedNotification,TResult? Function( UnverifiedNotification data)? unverifiedNotification,TResult? Function( StarterPackJoinedNotification data)? starterPackJoinedNotification,TResult? Function( ContactMatchNotification data)? contactMatchNotification,TResult? Function( Map<String, dynamic> data)? unknown,}) {final _that = this;
switch (_that) {
case UGroupKindLikeGroup() when likeGroup != null:
return likeGroup(_that.data);case UGroupKindMultiPostLikeGroup() when multiPostLikeGroup != null:
return multiPostLikeGroup(_that.data);case UGroupKindRepostGroup() when repostGroup != null:
return repostGroup(_that.data);case UGroupKindLikeViaRepostGroup() when likeViaRepostGroup != null:
return likeViaRepostGroup(_that.data);case UGroupKindRepostViaRepostGroup() when repostViaRepostGroup != null:
return repostViaRepostGroup(_that.data);case UGroupKindFollowGroup() when followGroup != null:
return followGroup(_that.data);case UGroupKindSubscribedPostGroup() when subscribedPostGroup != null:
return subscribedPostGroup(_that.data);case UGroupKindGeneratorLikeGroup() when generatorLikeGroup != null:
return generatorLikeGroup(_that.data);case UGroupKindReplyNotification() when replyNotification != null:
return replyNotification(_that.data);case UGroupKindQuoteNotification() when quoteNotification != null:
return quoteNotification(_that.data);case UGroupKindMentionNotification() when mentionNotification != null:
return mentionNotification(_that.data);case UGroupKindFollowBackNotification() when followBackNotification != null:
return followBackNotification(_that.data);case UGroupKindVerifiedNotification() when verifiedNotification != null:
return verifiedNotification(_that.data);case UGroupKindUnverifiedNotification() when unverifiedNotification != null:
return unverifiedNotification(_that.data);case UGroupKindStarterPackJoinedNotification() when starterPackJoinedNotification != null:
return starterPackJoinedNotification(_that.data);case UGroupKindContactMatchNotification() when contactMatchNotification != null:
return contactMatchNotification(_that.data);case UGroupKindUnknown() when unknown != null:
return unknown(_that.data);case _:
return null;
}
}