maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult systemMessageDataAddMember(
    1. USystemMessageViewDataSystemMessageDataAddMember value
    )?,
  2. TResult systemMessageDataRemoveMember(
    1. USystemMessageViewDataSystemMessageDataRemoveMember value
    )?,
  3. TResult systemMessageDataMemberJoin(
    1. USystemMessageViewDataSystemMessageDataMemberJoin value
    )?,
  4. TResult systemMessageDataMemberLeave(
    1. USystemMessageViewDataSystemMessageDataMemberLeave value
    )?,
  5. TResult systemMessageDataLockConvo(
    1. USystemMessageViewDataSystemMessageDataLockConvo value
    )?,
  6. TResult systemMessageDataUnlockConvo(
    1. USystemMessageViewDataSystemMessageDataUnlockConvo value
    )?,
  7. TResult systemMessageDataLockConvoPermanently(
    1. USystemMessageViewDataSystemMessageDataLockConvoPermanently value
    )?,
  8. TResult systemMessageDataEditGroup(
    1. USystemMessageViewDataSystemMessageDataEditGroup value
    )?,
  9. TResult systemMessageDataCreateJoinLink(
    1. USystemMessageViewDataSystemMessageDataCreateJoinLink value
    )?,
  10. TResult systemMessageDataEditJoinLink(
    1. USystemMessageViewDataSystemMessageDataEditJoinLink value
    )?,
  11. TResult systemMessageDataEnableJoinLink(
    1. USystemMessageViewDataSystemMessageDataEnableJoinLink value
    )?,
  12. TResult systemMessageDataDisableJoinLink(
    1. USystemMessageViewDataSystemMessageDataDisableJoinLink value
    )?,
  13. TResult unknown(
    1. USystemMessageViewDataUnknown value
    )?,
  14. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( USystemMessageViewDataSystemMessageDataAddMember value)?  systemMessageDataAddMember,TResult Function( USystemMessageViewDataSystemMessageDataRemoveMember value)?  systemMessageDataRemoveMember,TResult Function( USystemMessageViewDataSystemMessageDataMemberJoin value)?  systemMessageDataMemberJoin,TResult Function( USystemMessageViewDataSystemMessageDataMemberLeave value)?  systemMessageDataMemberLeave,TResult Function( USystemMessageViewDataSystemMessageDataLockConvo value)?  systemMessageDataLockConvo,TResult Function( USystemMessageViewDataSystemMessageDataUnlockConvo value)?  systemMessageDataUnlockConvo,TResult Function( USystemMessageViewDataSystemMessageDataLockConvoPermanently value)?  systemMessageDataLockConvoPermanently,TResult Function( USystemMessageViewDataSystemMessageDataEditGroup value)?  systemMessageDataEditGroup,TResult Function( USystemMessageViewDataSystemMessageDataCreateJoinLink value)?  systemMessageDataCreateJoinLink,TResult Function( USystemMessageViewDataSystemMessageDataEditJoinLink value)?  systemMessageDataEditJoinLink,TResult Function( USystemMessageViewDataSystemMessageDataEnableJoinLink value)?  systemMessageDataEnableJoinLink,TResult Function( USystemMessageViewDataSystemMessageDataDisableJoinLink value)?  systemMessageDataDisableJoinLink,TResult Function( USystemMessageViewDataUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case USystemMessageViewDataSystemMessageDataAddMember() when systemMessageDataAddMember != null:
return systemMessageDataAddMember(_that);case USystemMessageViewDataSystemMessageDataRemoveMember() when systemMessageDataRemoveMember != null:
return systemMessageDataRemoveMember(_that);case USystemMessageViewDataSystemMessageDataMemberJoin() when systemMessageDataMemberJoin != null:
return systemMessageDataMemberJoin(_that);case USystemMessageViewDataSystemMessageDataMemberLeave() when systemMessageDataMemberLeave != null:
return systemMessageDataMemberLeave(_that);case USystemMessageViewDataSystemMessageDataLockConvo() when systemMessageDataLockConvo != null:
return systemMessageDataLockConvo(_that);case USystemMessageViewDataSystemMessageDataUnlockConvo() when systemMessageDataUnlockConvo != null:
return systemMessageDataUnlockConvo(_that);case USystemMessageViewDataSystemMessageDataLockConvoPermanently() when systemMessageDataLockConvoPermanently != null:
return systemMessageDataLockConvoPermanently(_that);case USystemMessageViewDataSystemMessageDataEditGroup() when systemMessageDataEditGroup != null:
return systemMessageDataEditGroup(_that);case USystemMessageViewDataSystemMessageDataCreateJoinLink() when systemMessageDataCreateJoinLink != null:
return systemMessageDataCreateJoinLink(_that);case USystemMessageViewDataSystemMessageDataEditJoinLink() when systemMessageDataEditJoinLink != null:
return systemMessageDataEditJoinLink(_that);case USystemMessageViewDataSystemMessageDataEnableJoinLink() when systemMessageDataEnableJoinLink != null:
return systemMessageDataEnableJoinLink(_that);case USystemMessageViewDataSystemMessageDataDisableJoinLink() when systemMessageDataDisableJoinLink != null:
return systemMessageDataDisableJoinLink(_that);case USystemMessageViewDataUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}