when<TResult extends Object?> method
- @optionalTypeArgs
- required TResult logBeginConvo(
- LogBeginConvo data
- required TResult logAcceptConvo(
- LogAcceptConvo data
- required TResult logLeaveConvo(
- LogLeaveConvo data
- required TResult logMuteConvo(
- LogMuteConvo data
- required TResult logUnmuteConvo(
- LogUnmuteConvo data
- required TResult logCreateMessage(
- LogCreateMessage data
- required TResult logDeleteMessage(
- LogDeleteMessage data
- required TResult logReadMessage(
- LogReadMessage data
- required TResult logAddReaction(
- LogAddReaction data
- required TResult logRemoveReaction(
- LogRemoveReaction data
- required TResult logReadConvo(
- LogReadConvo data
- required TResult logAddMember(
- LogAddMember data
- required TResult logRemoveMember(
- LogRemoveMember data
- required TResult logMemberJoin(
- LogMemberJoin data
- required TResult logMemberLeave(
- LogMemberLeave data
- required TResult logLockConvo(
- LogLockConvo data
- required TResult logUnlockConvo(
- LogUnlockConvo data
- required TResult logLockConvoPermanently(),
- required TResult logEditGroup(
- LogEditGroup data
- required TResult logCreateJoinLink(
- LogCreateJoinLink data
- required TResult logEditJoinLink(
- LogEditJoinLink data
- required TResult logEnableJoinLink(
- LogEnableJoinLink data
- required TResult logDisableJoinLink(
- LogDisableJoinLink data
- required TResult logIncomingJoinRequest(),
- required TResult logApproveJoinRequest(),
- required TResult logRejectJoinRequest(
- LogRejectJoinRequest data
- required TResult logOutgoingJoinRequest(),
- required TResult logWithdrawIncomingJoinRequest(),
- required TResult logWithdrawOutgoingJoinRequest(),
- required TResult logReadJoinRequests(
- LogReadJoinRequests data
- 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( LogBeginConvo data) logBeginConvo,required TResult Function( LogAcceptConvo data) logAcceptConvo,required TResult Function( LogLeaveConvo data) logLeaveConvo,required TResult Function( LogMuteConvo data) logMuteConvo,required TResult Function( LogUnmuteConvo data) logUnmuteConvo,required TResult Function( LogCreateMessage data) logCreateMessage,required TResult Function( LogDeleteMessage data) logDeleteMessage,required TResult Function( LogReadMessage data) logReadMessage,required TResult Function( LogAddReaction data) logAddReaction,required TResult Function( LogRemoveReaction data) logRemoveReaction,required TResult Function( LogReadConvo data) logReadConvo,required TResult Function( LogAddMember data) logAddMember,required TResult Function( LogRemoveMember data) logRemoveMember,required TResult Function( LogMemberJoin data) logMemberJoin,required TResult Function( LogMemberLeave data) logMemberLeave,required TResult Function( LogLockConvo data) logLockConvo,required TResult Function( LogUnlockConvo data) logUnlockConvo,required TResult Function( LogLockConvoPermanently data) logLockConvoPermanently,required TResult Function( LogEditGroup data) logEditGroup,required TResult Function( LogCreateJoinLink data) logCreateJoinLink,required TResult Function( LogEditJoinLink data) logEditJoinLink,required TResult Function( LogEnableJoinLink data) logEnableJoinLink,required TResult Function( LogDisableJoinLink data) logDisableJoinLink,required TResult Function( LogIncomingJoinRequest data) logIncomingJoinRequest,required TResult Function( LogApproveJoinRequest data) logApproveJoinRequest,required TResult Function( LogRejectJoinRequest data) logRejectJoinRequest,required TResult Function( LogOutgoingJoinRequest data) logOutgoingJoinRequest,required TResult Function( LogWithdrawIncomingJoinRequest data) logWithdrawIncomingJoinRequest,required TResult Function( LogWithdrawOutgoingJoinRequest data) logWithdrawOutgoingJoinRequest,required TResult Function( LogReadJoinRequests data) logReadJoinRequests,required TResult Function( Map<String, dynamic> data) unknown,}) {final _that = this;
switch (_that) {
case UConvoGetLogLogsLogBeginConvo():
return logBeginConvo(_that.data);case UConvoGetLogLogsLogAcceptConvo():
return logAcceptConvo(_that.data);case UConvoGetLogLogsLogLeaveConvo():
return logLeaveConvo(_that.data);case UConvoGetLogLogsLogMuteConvo():
return logMuteConvo(_that.data);case UConvoGetLogLogsLogUnmuteConvo():
return logUnmuteConvo(_that.data);case UConvoGetLogLogsLogCreateMessage():
return logCreateMessage(_that.data);case UConvoGetLogLogsLogDeleteMessage():
return logDeleteMessage(_that.data);case UConvoGetLogLogsLogReadMessage():
return logReadMessage(_that.data);case UConvoGetLogLogsLogAddReaction():
return logAddReaction(_that.data);case UConvoGetLogLogsLogRemoveReaction():
return logRemoveReaction(_that.data);case UConvoGetLogLogsLogReadConvo():
return logReadConvo(_that.data);case UConvoGetLogLogsLogAddMember():
return logAddMember(_that.data);case UConvoGetLogLogsLogRemoveMember():
return logRemoveMember(_that.data);case UConvoGetLogLogsLogMemberJoin():
return logMemberJoin(_that.data);case UConvoGetLogLogsLogMemberLeave():
return logMemberLeave(_that.data);case UConvoGetLogLogsLogLockConvo():
return logLockConvo(_that.data);case UConvoGetLogLogsLogUnlockConvo():
return logUnlockConvo(_that.data);case UConvoGetLogLogsLogLockConvoPermanently():
return logLockConvoPermanently(_that.data);case UConvoGetLogLogsLogEditGroup():
return logEditGroup(_that.data);case UConvoGetLogLogsLogCreateJoinLink():
return logCreateJoinLink(_that.data);case UConvoGetLogLogsLogEditJoinLink():
return logEditJoinLink(_that.data);case UConvoGetLogLogsLogEnableJoinLink():
return logEnableJoinLink(_that.data);case UConvoGetLogLogsLogDisableJoinLink():
return logDisableJoinLink(_that.data);case UConvoGetLogLogsLogIncomingJoinRequest():
return logIncomingJoinRequest(_that.data);case UConvoGetLogLogsLogApproveJoinRequest():
return logApproveJoinRequest(_that.data);case UConvoGetLogLogsLogRejectJoinRequest():
return logRejectJoinRequest(_that.data);case UConvoGetLogLogsLogOutgoingJoinRequest():
return logOutgoingJoinRequest(_that.data);case UConvoGetLogLogsLogWithdrawIncomingJoinRequest():
return logWithdrawIncomingJoinRequest(_that.data);case UConvoGetLogLogsLogWithdrawOutgoingJoinRequest():
return logWithdrawOutgoingJoinRequest(_that.data);case UConvoGetLogLogsLogReadJoinRequests():
return logReadJoinRequests(_that.data);case UConvoGetLogLogsUnknown():
return unknown(_that.data);}
}