whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>({
- TResult? getRooms(
- CommonApiParams? params
- TResult? getRoomsResult()?,
- TResult? getRoomCount(
- CommonApiParams? params
- TResult? getRoomCountResult(
- CommonApiParams? params,
- Either<
Failure, int> result
- TResult? getRoomById(
- String chatRoomId
- TResult? getRoomByIdResult()?,
- TResult? getRoomMessages(
- String chatRoomId,
- CommonApiParams? params
- TResult? getRoomMessagesResult(
- String chatRoomId,
- CommonApiParams? params,
- Either<
Failure, List< resultChatMessage> >
- TResult? deleteRoom(
- String chatRoomId
- TResult? deleteRoomResult(
- String chatRoomId,
- Either<
Failure, Unit> result
- TResult? archiveRoom(
- String chatRoomId
- TResult? archiveRoomResult()?,
- TResult? unArchiveRoom(
- String chatRoomId
- TResult? unArchiveRoomResult()?,
- TResult? markRoomAsRead(
- String chatRoomId
- TResult? markRoomAsReadResult()?,
- TResult? sendMessage(
- SendMessageDto dto
- TResult? sendMessageResult(
- SendMessageDto dto,
- Either<
Failure, ChatMessage> result
- TResult? deleteMessage(
- DeleteMessageParams params
- TResult? deleteMessageResult(
- DeleteMessageParams params,
- Either<
Failure, Unit> result
- TResult? externalEventReceived(
- MessengerExternalEvent event
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( CommonApiParams? params)? getRooms,TResult? Function( CommonApiParams? params, Either<Failure, List<ChatRoom>> result)? getRoomsResult,TResult? Function( CommonApiParams? params)? getRoomCount,TResult? Function( CommonApiParams? params, Either<Failure, int> result)? getRoomCountResult,TResult? Function( String chatRoomId)? getRoomById,TResult? Function( String chatRoomId, Either<Failure, ChatRoom> result)? getRoomByIdResult,TResult? Function( String chatRoomId, CommonApiParams? params)? getRoomMessages,TResult? Function( String chatRoomId, CommonApiParams? params, Either<Failure, List<ChatMessage>> result)? getRoomMessagesResult,TResult? Function( String chatRoomId)? deleteRoom,TResult? Function( String chatRoomId, Either<Failure, Unit> result)? deleteRoomResult,TResult? Function( String chatRoomId)? archiveRoom,TResult? Function( String chatRoomId, Either<Failure, ChatRoom> result)? archiveRoomResult,TResult? Function( String chatRoomId)? unArchiveRoom,TResult? Function( String chatRoomId, Either<Failure, ChatRoom> result)? unArchiveRoomResult,TResult? Function( String chatRoomId)? markRoomAsRead,TResult? Function( String chatRoomId, Either<Failure, ChatRoom> result)? markRoomAsReadResult,TResult? Function( SendMessageDto dto)? sendMessage,TResult? Function( SendMessageDto dto, Either<Failure, ChatMessage> result)? sendMessageResult,TResult? Function( DeleteMessageParams params)? deleteMessage,TResult? Function( DeleteMessageParams params, Either<Failure, Unit> result)? deleteMessageResult,TResult? Function( MessengerExternalEvent event)? externalEventReceived,}) {final _that = this;
switch (_that) {
case MessengerEventGetRooms() when getRooms != null:
return getRooms(_that.params);case MessengerEventGetRoomsResult() when getRoomsResult != null:
return getRoomsResult(_that.params,_that.result);case MessengerEventGetRoomCount() when getRoomCount != null:
return getRoomCount(_that.params);case MessengerEventGetRoomCountResult() when getRoomCountResult != null:
return getRoomCountResult(_that.params,_that.result);case MessengerEventGetRoomById() when getRoomById != null:
return getRoomById(_that.chatRoomId);case MessengerEventGetRoomByIdResult() when getRoomByIdResult != null:
return getRoomByIdResult(_that.chatRoomId,_that.result);case MessengerEventGetRoomMessages() when getRoomMessages != null:
return getRoomMessages(_that.chatRoomId,_that.params);case MessengerEventGetRoomMessagesResult() when getRoomMessagesResult != null:
return getRoomMessagesResult(_that.chatRoomId,_that.params,_that.result);case MessengerEventDeleteRoom() when deleteRoom != null:
return deleteRoom(_that.chatRoomId);case MessengerEventDeleteRoomResult() when deleteRoomResult != null:
return deleteRoomResult(_that.chatRoomId,_that.result);case MessengerEventArchiveRoom() when archiveRoom != null:
return archiveRoom(_that.chatRoomId);case MessengerEventArchiveRoomResult() when archiveRoomResult != null:
return archiveRoomResult(_that.chatRoomId,_that.result);case MessengerEventUnArchiveRoom() when unArchiveRoom != null:
return unArchiveRoom(_that.chatRoomId);case MessengerEventUnArchiveRoomResult() when unArchiveRoomResult != null:
return unArchiveRoomResult(_that.chatRoomId,_that.result);case MessengerEventMarkRoomAsRead() when markRoomAsRead != null:
return markRoomAsRead(_that.chatRoomId);case MessengerEventMarkRoomAsReadResult() when markRoomAsReadResult != null:
return markRoomAsReadResult(_that.chatRoomId,_that.result);case MessengerEventSendMessage() when sendMessage != null:
return sendMessage(_that.dto);case MessengerEventSendMessageResult() when sendMessageResult != null:
return sendMessageResult(_that.dto,_that.result);case MessengerEventDeleteMessage() when deleteMessage != null:
return deleteMessage(_that.params);case MessengerEventDeleteMessageResult() when deleteMessageResult != null:
return deleteMessageResult(_that.params,_that.result);case MessengerEventExternalEventReceived() when externalEventReceived != null:
return externalEventReceived(_that.event);case _:
return null;
}
}