mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? getRooms(
    1. MessengerEventGetRooms value
    )?,
  2. TResult? getRoomsResult(
    1. MessengerEventGetRoomsResult value
    )?,
  3. TResult? getRoomCount(
    1. MessengerEventGetRoomCount value
    )?,
  4. TResult? getRoomCountResult(
    1. MessengerEventGetRoomCountResult value
    )?,
  5. TResult? getRoomById(
    1. MessengerEventGetRoomById value
    )?,
  6. TResult? getRoomByIdResult(
    1. MessengerEventGetRoomByIdResult value
    )?,
  7. TResult? getRoomMessages(
    1. MessengerEventGetRoomMessages value
    )?,
  8. TResult? getRoomMessagesResult(
    1. MessengerEventGetRoomMessagesResult value
    )?,
  9. TResult? deleteRoom(
    1. MessengerEventDeleteRoom value
    )?,
  10. TResult? deleteRoomResult(
    1. MessengerEventDeleteRoomResult value
    )?,
  11. TResult? archiveRoom(
    1. MessengerEventArchiveRoom value
    )?,
  12. TResult? archiveRoomResult(
    1. MessengerEventArchiveRoomResult value
    )?,
  13. TResult? unArchiveRoom(
    1. MessengerEventUnArchiveRoom value
    )?,
  14. TResult? unArchiveRoomResult(
    1. MessengerEventUnArchiveRoomResult value
    )?,
  15. TResult? markRoomAsRead(
    1. MessengerEventMarkRoomAsRead value
    )?,
  16. TResult? markRoomAsReadResult(
    1. MessengerEventMarkRoomAsReadResult value
    )?,
  17. TResult? sendMessage(
    1. MessengerEventSendMessage value
    )?,
  18. TResult? sendMessageResult(
    1. MessengerEventSendMessageResult value
    )?,
  19. TResult? deleteMessage(
    1. MessengerEventDeleteMessage value
    )?,
  20. TResult? deleteMessageResult(
    1. MessengerEventDeleteMessageResult value
    )?,
  21. TResult? externalEventReceived(
    1. MessengerEventExternalEventReceived value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( MessengerEventGetRooms value)?  getRooms,TResult? Function( MessengerEventGetRoomsResult value)?  getRoomsResult,TResult? Function( MessengerEventGetRoomCount value)?  getRoomCount,TResult? Function( MessengerEventGetRoomCountResult value)?  getRoomCountResult,TResult? Function( MessengerEventGetRoomById value)?  getRoomById,TResult? Function( MessengerEventGetRoomByIdResult value)?  getRoomByIdResult,TResult? Function( MessengerEventGetRoomMessages value)?  getRoomMessages,TResult? Function( MessengerEventGetRoomMessagesResult value)?  getRoomMessagesResult,TResult? Function( MessengerEventDeleteRoom value)?  deleteRoom,TResult? Function( MessengerEventDeleteRoomResult value)?  deleteRoomResult,TResult? Function( MessengerEventArchiveRoom value)?  archiveRoom,TResult? Function( MessengerEventArchiveRoomResult value)?  archiveRoomResult,TResult? Function( MessengerEventUnArchiveRoom value)?  unArchiveRoom,TResult? Function( MessengerEventUnArchiveRoomResult value)?  unArchiveRoomResult,TResult? Function( MessengerEventMarkRoomAsRead value)?  markRoomAsRead,TResult? Function( MessengerEventMarkRoomAsReadResult value)?  markRoomAsReadResult,TResult? Function( MessengerEventSendMessage value)?  sendMessage,TResult? Function( MessengerEventSendMessageResult value)?  sendMessageResult,TResult? Function( MessengerEventDeleteMessage value)?  deleteMessage,TResult? Function( MessengerEventDeleteMessageResult value)?  deleteMessageResult,TResult? Function( MessengerEventExternalEventReceived value)?  externalEventReceived,}){
final _that = this;
switch (_that) {
case MessengerEventGetRooms() when getRooms != null:
return getRooms(_that);case MessengerEventGetRoomsResult() when getRoomsResult != null:
return getRoomsResult(_that);case MessengerEventGetRoomCount() when getRoomCount != null:
return getRoomCount(_that);case MessengerEventGetRoomCountResult() when getRoomCountResult != null:
return getRoomCountResult(_that);case MessengerEventGetRoomById() when getRoomById != null:
return getRoomById(_that);case MessengerEventGetRoomByIdResult() when getRoomByIdResult != null:
return getRoomByIdResult(_that);case MessengerEventGetRoomMessages() when getRoomMessages != null:
return getRoomMessages(_that);case MessengerEventGetRoomMessagesResult() when getRoomMessagesResult != null:
return getRoomMessagesResult(_that);case MessengerEventDeleteRoom() when deleteRoom != null:
return deleteRoom(_that);case MessengerEventDeleteRoomResult() when deleteRoomResult != null:
return deleteRoomResult(_that);case MessengerEventArchiveRoom() when archiveRoom != null:
return archiveRoom(_that);case MessengerEventArchiveRoomResult() when archiveRoomResult != null:
return archiveRoomResult(_that);case MessengerEventUnArchiveRoom() when unArchiveRoom != null:
return unArchiveRoom(_that);case MessengerEventUnArchiveRoomResult() when unArchiveRoomResult != null:
return unArchiveRoomResult(_that);case MessengerEventMarkRoomAsRead() when markRoomAsRead != null:
return markRoomAsRead(_that);case MessengerEventMarkRoomAsReadResult() when markRoomAsReadResult != null:
return markRoomAsReadResult(_that);case MessengerEventSendMessage() when sendMessage != null:
return sendMessage(_that);case MessengerEventSendMessageResult() when sendMessageResult != null:
return sendMessageResult(_that);case MessengerEventDeleteMessage() when deleteMessage != null:
return deleteMessage(_that);case MessengerEventDeleteMessageResult() when deleteMessageResult != null:
return deleteMessageResult(_that);case MessengerEventExternalEventReceived() when externalEventReceived != null:
return externalEventReceived(_that);case _:
  return null;

}
}