map<TResult extends Object?> method

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

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

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

Implementation

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