maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult newCall(
    1. NotificationTypeNewCall value
    )?,
  2. TResult newMessage(
    1. NotificationTypeNewMessage value
    )?,
  3. TResult newPushMessage(
    1. NotificationTypeNewPushMessage value
    )?,
  4. TResult newSecretChat(
    1. NotificationTypeNewSecretChat value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(NotificationTypeNewCall value)? newCall,
  TResult Function(NotificationTypeNewMessage value)? newMessage,
  TResult Function(NotificationTypeNewPushMessage value)? newPushMessage,
  TResult Function(NotificationTypeNewSecretChat value)? newSecretChat,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case NotificationTypeNewCall.constructor:
      if (newCall != null) {
        return newCall.call(this as NotificationTypeNewCall);
      }
      break;
    case NotificationTypeNewMessage.constructor:
      if (newMessage != null) {
        return newMessage.call(this as NotificationTypeNewMessage);
      }
      break;
    case NotificationTypeNewPushMessage.constructor:
      if (newPushMessage != null) {
        return newPushMessage.call(this as NotificationTypeNewPushMessage);
      }
      break;
    case NotificationTypeNewSecretChat.constructor:
      if (newSecretChat != null) {
        return newSecretChat.call(this as NotificationTypeNewSecretChat);
      }
      break;
  }
  return orElse.call();
}