whenOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? systemMessageDataAddMember()?,
- TResult? systemMessageDataRemoveMember()?,
- TResult? systemMessageDataMemberJoin()?,
- TResult? systemMessageDataMemberLeave()?,
- TResult? systemMessageDataLockConvo()?,
- TResult? systemMessageDataUnlockConvo()?,
- TResult? systemMessageDataLockConvoPermanently()?,
- TResult? systemMessageDataEditGroup()?,
- TResult? systemMessageDataCreateJoinLink()?,
- TResult? systemMessageDataEditJoinLink()?,
- TResult? systemMessageDataEnableJoinLink()?,
- TResult? systemMessageDataDisableJoinLink()?,
- TResult? unknown()?,
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>({TResult? Function( SystemMessageDataAddMember data)? systemMessageDataAddMember,TResult? Function( SystemMessageDataRemoveMember data)? systemMessageDataRemoveMember,TResult? Function( SystemMessageDataMemberJoin data)? systemMessageDataMemberJoin,TResult? Function( SystemMessageDataMemberLeave data)? systemMessageDataMemberLeave,TResult? Function( SystemMessageDataLockConvo data)? systemMessageDataLockConvo,TResult? Function( SystemMessageDataUnlockConvo data)? systemMessageDataUnlockConvo,TResult? Function( SystemMessageDataLockConvoPermanently data)? systemMessageDataLockConvoPermanently,TResult? Function( SystemMessageDataEditGroup data)? systemMessageDataEditGroup,TResult? Function( SystemMessageDataCreateJoinLink data)? systemMessageDataCreateJoinLink,TResult? Function( SystemMessageDataEditJoinLink data)? systemMessageDataEditJoinLink,TResult? Function( SystemMessageDataEnableJoinLink data)? systemMessageDataEnableJoinLink,TResult? Function( SystemMessageDataDisableJoinLink data)? systemMessageDataDisableJoinLink,TResult? Function( Map<String, dynamic> data)? unknown,}) {final _that = this;
switch (_that) {
case USystemMessageViewDataSystemMessageDataAddMember() when systemMessageDataAddMember != null:
return systemMessageDataAddMember(_that.data);case USystemMessageViewDataSystemMessageDataRemoveMember() when systemMessageDataRemoveMember != null:
return systemMessageDataRemoveMember(_that.data);case USystemMessageViewDataSystemMessageDataMemberJoin() when systemMessageDataMemberJoin != null:
return systemMessageDataMemberJoin(_that.data);case USystemMessageViewDataSystemMessageDataMemberLeave() when systemMessageDataMemberLeave != null:
return systemMessageDataMemberLeave(_that.data);case USystemMessageViewDataSystemMessageDataLockConvo() when systemMessageDataLockConvo != null:
return systemMessageDataLockConvo(_that.data);case USystemMessageViewDataSystemMessageDataUnlockConvo() when systemMessageDataUnlockConvo != null:
return systemMessageDataUnlockConvo(_that.data);case USystemMessageViewDataSystemMessageDataLockConvoPermanently() when systemMessageDataLockConvoPermanently != null:
return systemMessageDataLockConvoPermanently(_that.data);case USystemMessageViewDataSystemMessageDataEditGroup() when systemMessageDataEditGroup != null:
return systemMessageDataEditGroup(_that.data);case USystemMessageViewDataSystemMessageDataCreateJoinLink() when systemMessageDataCreateJoinLink != null:
return systemMessageDataCreateJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataEditJoinLink() when systemMessageDataEditJoinLink != null:
return systemMessageDataEditJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataEnableJoinLink() when systemMessageDataEnableJoinLink != null:
return systemMessageDataEnableJoinLink(_that.data);case USystemMessageViewDataSystemMessageDataDisableJoinLink() when systemMessageDataDisableJoinLink != null:
return systemMessageDataDisableJoinLink(_that.data);case USystemMessageViewDataUnknown() when unknown != null:
return unknown(_that.data);case _:
return null;
}
}