when<TResult extends Object?> method
- @optionalTypeArgs
- required TResult systemMessageDataAddMember(),
- required TResult systemMessageDataRemoveMember(),
- required TResult systemMessageDataMemberJoin(),
- required TResult systemMessageDataMemberLeave(),
- required TResult systemMessageDataLockConvo(),
- required TResult systemMessageDataUnlockConvo(),
- required TResult systemMessageDataLockConvoPermanently(),
- required TResult systemMessageDataEditGroup(),
- required TResult systemMessageDataCreateJoinLink(),
- required TResult systemMessageDataEditJoinLink(),
- required TResult systemMessageDataEnableJoinLink(),
- required TResult systemMessageDataDisableJoinLink(),
- 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( SystemMessageDataAddMember data) systemMessageDataAddMember,required TResult Function( SystemMessageDataRemoveMember data) systemMessageDataRemoveMember,required TResult Function( SystemMessageDataMemberJoin data) systemMessageDataMemberJoin,required TResult Function( SystemMessageDataMemberLeave data) systemMessageDataMemberLeave,required TResult Function( SystemMessageDataLockConvo data) systemMessageDataLockConvo,required TResult Function( SystemMessageDataUnlockConvo data) systemMessageDataUnlockConvo,required TResult Function( SystemMessageDataLockConvoPermanently data) systemMessageDataLockConvoPermanently,required TResult Function( SystemMessageDataEditGroup data) systemMessageDataEditGroup,required TResult Function( SystemMessageDataCreateJoinLink data) systemMessageDataCreateJoinLink,required TResult Function( SystemMessageDataEditJoinLink data) systemMessageDataEditJoinLink,required TResult Function( SystemMessageDataEnableJoinLink data) systemMessageDataEnableJoinLink,required TResult Function( SystemMessageDataDisableJoinLink data) systemMessageDataDisableJoinLink,required TResult Function( Map<String, dynamic> data) unknown,}) {final _that = this;
switch (_that) {
case USystemMessageViewDataSystemMessageDataAddMember():
return systemMessageDataAddMember(_that.data);case USystemMessageViewDataSystemMessageDataRemoveMember():
return systemMessageDataRemoveMember(_that.data);case USystemMessageViewDataSystemMessageDataMemberJoin():
return systemMessageDataMemberJoin(_that.data);case USystemMessageViewDataSystemMessageDataMemberLeave():
return systemMessageDataMemberLeave(_that.data);case USystemMessageViewDataSystemMessageDataLockConvo():
return systemMessageDataLockConvo(_that.data);case USystemMessageViewDataSystemMessageDataUnlockConvo():
return systemMessageDataUnlockConvo(_that.data);case USystemMessageViewDataSystemMessageDataLockConvoPermanently():
return systemMessageDataLockConvoPermanently(_that.data);case USystemMessageViewDataSystemMessageDataEditGroup():
return systemMessageDataEditGroup(_that.data);case USystemMessageViewDataSystemMessageDataCreateJoinLink():
return systemMessageDataCreateJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataEditJoinLink():
return systemMessageDataEditJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataEnableJoinLink():
return systemMessageDataEnableJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataDisableJoinLink():
return systemMessageDataDisableJoinLink(_that.data);case USystemMessageViewDataUnknown():
return unknown(_that.data);}
}