whenOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
  1. TResult? eventConvoFirstMessage(
    1. EventConvoFirstMessage data
    )?,
  2. TResult? eventGroupChatCreated(
    1. EventGroupChatCreated data
    )?,
  3. TResult? eventGroupChatMemberAdded(
    1. EventGroupChatMemberAdded data
    )?,
  4. TResult? eventGroupChatMemberJoined(
    1. EventGroupChatMemberJoined data
    )?,
  5. TResult? eventGroupChatJoinRequest(
    1. EventGroupChatJoinRequest data
    )?,
  6. TResult? eventGroupChatJoinRequestApproved(
    1. EventGroupChatJoinRequestApproved data
    )?,
  7. TResult? eventGroupChatJoinRequestRejected(
    1. EventGroupChatJoinRequestRejected data
    )?,
  8. TResult? eventChatAccepted(
    1. EventChatAccepted data
    )?,
  9. TResult? eventGroupChatMemberLeft(
    1. EventGroupChatMemberLeft data
    )?,
  10. TResult? eventGroupChatUpdated(
    1. EventGroupChatUpdated data
    )?,
  11. TResult? unknown(
    1. Map<String, dynamic> data
    )?,
})

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( EventConvoFirstMessage data)?  eventConvoFirstMessage,TResult? Function( EventGroupChatCreated data)?  eventGroupChatCreated,TResult? Function( EventGroupChatMemberAdded data)?  eventGroupChatMemberAdded,TResult? Function( EventGroupChatMemberJoined data)?  eventGroupChatMemberJoined,TResult? Function( EventGroupChatJoinRequest data)?  eventGroupChatJoinRequest,TResult? Function( EventGroupChatJoinRequestApproved data)?  eventGroupChatJoinRequestApproved,TResult? Function( EventGroupChatJoinRequestRejected data)?  eventGroupChatJoinRequestRejected,TResult? Function( EventChatAccepted data)?  eventChatAccepted,TResult? Function( EventGroupChatMemberLeft data)?  eventGroupChatMemberLeft,TResult? Function( EventGroupChatUpdated data)?  eventGroupChatUpdated,TResult? Function( Map<String, dynamic> data)?  unknown,}) {final _that = this;
switch (_that) {
case UModerationSubscribeModEventsMessageEventConvoFirstMessage() when eventConvoFirstMessage != null:
return eventConvoFirstMessage(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatCreated() when eventGroupChatCreated != null:
return eventGroupChatCreated(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatMemberAdded() when eventGroupChatMemberAdded != null:
return eventGroupChatMemberAdded(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatMemberJoined() when eventGroupChatMemberJoined != null:
return eventGroupChatMemberJoined(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatJoinRequest() when eventGroupChatJoinRequest != null:
return eventGroupChatJoinRequest(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatJoinRequestApproved() when eventGroupChatJoinRequestApproved != null:
return eventGroupChatJoinRequestApproved(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatJoinRequestRejected() when eventGroupChatJoinRequestRejected != null:
return eventGroupChatJoinRequestRejected(_that.data);case UModerationSubscribeModEventsMessageEventChatAccepted() when eventChatAccepted != null:
return eventChatAccepted(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatMemberLeft() when eventGroupChatMemberLeft != null:
return eventGroupChatMemberLeft(_that.data);case UModerationSubscribeModEventsMessageEventGroupChatUpdated() when eventGroupChatUpdated != null:
return eventGroupChatUpdated(_that.data);case UModerationSubscribeModEventsMessageUnknown() when unknown != null:
return unknown(_that.data);case _:
  return null;

}
}