maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult systemMessageDataAddMember(
    1. SystemMessageDataAddMember data
    )?,
  2. TResult systemMessageDataRemoveMember(
    1. SystemMessageDataRemoveMember data
    )?,
  3. TResult systemMessageDataMemberJoin(
    1. SystemMessageDataMemberJoin data
    )?,
  4. TResult systemMessageDataMemberLeave(
    1. SystemMessageDataMemberLeave data
    )?,
  5. TResult systemMessageDataLockConvo(
    1. SystemMessageDataLockConvo data
    )?,
  6. TResult systemMessageDataUnlockConvo(
    1. SystemMessageDataUnlockConvo data
    )?,
  7. TResult systemMessageDataLockConvoPermanently(
    1. SystemMessageDataLockConvoPermanently data
    )?,
  8. TResult systemMessageDataEditGroup(
    1. SystemMessageDataEditGroup data
    )?,
  9. TResult systemMessageDataCreateJoinLink(
    1. SystemMessageDataCreateJoinLink data
    )?,
  10. TResult systemMessageDataEditJoinLink(
    1. SystemMessageDataEditJoinLink data
    )?,
  11. TResult systemMessageDataEnableJoinLink(
    1. SystemMessageDataEnableJoinLink data
    )?,
  12. TResult systemMessageDataDisableJoinLink(
    1. SystemMessageDataDisableJoinLink data
    )?,
  13. TResult unknown(
    1. Map<String, dynamic> data
    )?,
  14. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeWhen<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,required TResult orElse(),}) {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 orElse();

}
}