maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<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
    )?,
  18. 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( 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,required TResult orElse(),}){
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 orElse();

}
}