mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? likeGroup(
    1. UGroupKindLikeGroup value
    )?,
  2. TResult? multiPostLikeGroup(
    1. UGroupKindMultiPostLikeGroup value
    )?,
  3. TResult? repostGroup(
    1. UGroupKindRepostGroup value
    )?,
  4. TResult? likeViaRepostGroup(
    1. UGroupKindLikeViaRepostGroup value
    )?,
  5. TResult? repostViaRepostGroup(
    1. UGroupKindRepostViaRepostGroup value
    )?,
  6. TResult? followGroup(
    1. UGroupKindFollowGroup value
    )?,
  7. TResult? subscribedPostGroup(
    1. UGroupKindSubscribedPostGroup value
    )?,
  8. TResult? generatorLikeGroup(
    1. UGroupKindGeneratorLikeGroup value
    )?,
  9. TResult? replyNotification(
    1. UGroupKindReplyNotification value
    )?,
  10. TResult? quoteNotification(
    1. UGroupKindQuoteNotification value
    )?,
  11. TResult? mentionNotification(
    1. UGroupKindMentionNotification value
    )?,
  12. TResult? followBackNotification(
    1. UGroupKindFollowBackNotification value
    )?,
  13. TResult? verifiedNotification(
    1. UGroupKindVerifiedNotification value
    )?,
  14. TResult? unverifiedNotification(
    1. UGroupKindUnverifiedNotification value
    )?,
  15. TResult? starterPackJoinedNotification(
    1. UGroupKindStarterPackJoinedNotification value
    )?,
  16. TResult? contactMatchNotification(
    1. UGroupKindContactMatchNotification value
    )?,
  17. TResult? unknown(
    1. UGroupKindUnknown value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return null;
}

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( UGroupKindLikeGroup value)?  likeGroup,TResult? Function( UGroupKindMultiPostLikeGroup value)?  multiPostLikeGroup,TResult? Function( UGroupKindRepostGroup value)?  repostGroup,TResult? Function( UGroupKindLikeViaRepostGroup value)?  likeViaRepostGroup,TResult? Function( UGroupKindRepostViaRepostGroup value)?  repostViaRepostGroup,TResult? Function( UGroupKindFollowGroup value)?  followGroup,TResult? Function( UGroupKindSubscribedPostGroup value)?  subscribedPostGroup,TResult? Function( UGroupKindGeneratorLikeGroup value)?  generatorLikeGroup,TResult? Function( UGroupKindReplyNotification value)?  replyNotification,TResult? Function( UGroupKindQuoteNotification value)?  quoteNotification,TResult? Function( UGroupKindMentionNotification value)?  mentionNotification,TResult? Function( UGroupKindFollowBackNotification value)?  followBackNotification,TResult? Function( UGroupKindVerifiedNotification value)?  verifiedNotification,TResult? Function( UGroupKindUnverifiedNotification value)?  unverifiedNotification,TResult? Function( UGroupKindStarterPackJoinedNotification value)?  starterPackJoinedNotification,TResult? Function( UGroupKindContactMatchNotification value)?  contactMatchNotification,TResult? Function( UGroupKindUnknown value)?  unknown,}){
final _that = this;
switch (_that) {
case UGroupKindLikeGroup() when likeGroup != null:
return likeGroup(_that);case UGroupKindMultiPostLikeGroup() when multiPostLikeGroup != null:
return multiPostLikeGroup(_that);case UGroupKindRepostGroup() when repostGroup != null:
return repostGroup(_that);case UGroupKindLikeViaRepostGroup() when likeViaRepostGroup != null:
return likeViaRepostGroup(_that);case UGroupKindRepostViaRepostGroup() when repostViaRepostGroup != null:
return repostViaRepostGroup(_that);case UGroupKindFollowGroup() when followGroup != null:
return followGroup(_that);case UGroupKindSubscribedPostGroup() when subscribedPostGroup != null:
return subscribedPostGroup(_that);case UGroupKindGeneratorLikeGroup() when generatorLikeGroup != null:
return generatorLikeGroup(_that);case UGroupKindReplyNotification() when replyNotification != null:
return replyNotification(_that);case UGroupKindQuoteNotification() when quoteNotification != null:
return quoteNotification(_that);case UGroupKindMentionNotification() when mentionNotification != null:
return mentionNotification(_that);case UGroupKindFollowBackNotification() when followBackNotification != null:
return followBackNotification(_that);case UGroupKindVerifiedNotification() when verifiedNotification != null:
return verifiedNotification(_that);case UGroupKindUnverifiedNotification() when unverifiedNotification != null:
return unverifiedNotification(_that);case UGroupKindStarterPackJoinedNotification() when starterPackJoinedNotification != null:
return starterPackJoinedNotification(_that);case UGroupKindContactMatchNotification() when contactMatchNotification != null:
return contactMatchNotification(_that);case UGroupKindUnknown() when unknown != null:
return unknown(_that);case _:
  return null;

}
}