when<TResult extends Object?> method
- @optionalTypeArgs
- required TResult likeGroup(
- LikeGroup data
- required TResult multiPostLikeGroup(
- MultiPostLikeGroup data
- required TResult repostGroup(
- RepostGroup data
- required TResult likeViaRepostGroup(
- LikeViaRepostGroup data
- required TResult repostViaRepostGroup(
- RepostViaRepostGroup data
- required TResult followGroup(
- FollowGroup data
- required TResult subscribedPostGroup(
- SubscribedPostGroup data
- required TResult generatorLikeGroup(
- GeneratorLikeGroup data
- required TResult replyNotification(
- ReplyNotification data
- required TResult quoteNotification(
- QuoteNotification data
- required TResult mentionNotification(
- MentionNotification data
- required TResult followBackNotification(),
- required TResult verifiedNotification(
- VerifiedNotification data
- required TResult unverifiedNotification(),
- required TResult starterPackJoinedNotification(),
- required TResult contactMatchNotification(),
- required TResult unknown(),
A switch-like method, using callbacks.
As opposed to map, this offers destructuring.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case Subclass2(:final field2):
return ...;
}
Implementation
@optionalTypeArgs TResult when<TResult extends Object?>({required TResult Function( LikeGroup data) likeGroup,required TResult Function( MultiPostLikeGroup data) multiPostLikeGroup,required TResult Function( RepostGroup data) repostGroup,required TResult Function( LikeViaRepostGroup data) likeViaRepostGroup,required TResult Function( RepostViaRepostGroup data) repostViaRepostGroup,required TResult Function( FollowGroup data) followGroup,required TResult Function( SubscribedPostGroup data) subscribedPostGroup,required TResult Function( GeneratorLikeGroup data) generatorLikeGroup,required TResult Function( ReplyNotification data) replyNotification,required TResult Function( QuoteNotification data) quoteNotification,required TResult Function( MentionNotification data) mentionNotification,required TResult Function( FollowBackNotification data) followBackNotification,required TResult Function( VerifiedNotification data) verifiedNotification,required TResult Function( UnverifiedNotification data) unverifiedNotification,required TResult Function( StarterPackJoinedNotification data) starterPackJoinedNotification,required TResult Function( ContactMatchNotification data) contactMatchNotification,required TResult Function( Map<String, dynamic> data) unknown,}) {final _that = this;
switch (_that) {
case UGroupKindLikeGroup():
return likeGroup(_that.data);case UGroupKindMultiPostLikeGroup():
return multiPostLikeGroup(_that.data);case UGroupKindRepostGroup():
return repostGroup(_that.data);case UGroupKindLikeViaRepostGroup():
return likeViaRepostGroup(_that.data);case UGroupKindRepostViaRepostGroup():
return repostViaRepostGroup(_that.data);case UGroupKindFollowGroup():
return followGroup(_that.data);case UGroupKindSubscribedPostGroup():
return subscribedPostGroup(_that.data);case UGroupKindGeneratorLikeGroup():
return generatorLikeGroup(_that.data);case UGroupKindReplyNotification():
return replyNotification(_that.data);case UGroupKindQuoteNotification():
return quoteNotification(_that.data);case UGroupKindMentionNotification():
return mentionNotification(_that.data);case UGroupKindFollowBackNotification():
return followBackNotification(_that.data);case UGroupKindVerifiedNotification():
return verifiedNotification(_that.data);case UGroupKindUnverifiedNotification():
return unverifiedNotification(_that.data);case UGroupKindStarterPackJoinedNotification():
return starterPackJoinedNotification(_that.data);case UGroupKindContactMatchNotification():
return contactMatchNotification(_that.data);case UGroupKindUnknown():
return unknown(_that.data);}
}