maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult ephemeralMessage(
    1. InputMessageReplyToEphemeralMessage value
    )?,
  2. TResult externalMessage(
    1. InputMessageReplyToExternalMessage value
    )?,
  3. TResult message(
    1. InputMessageReplyToMessage value
    )?,
  4. TResult story(
    1. InputMessageReplyToStory value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(InputMessageReplyToEphemeralMessage value)?
  ephemeralMessage,
  TResult Function(InputMessageReplyToExternalMessage value)? externalMessage,
  TResult Function(InputMessageReplyToMessage value)? message,
  TResult Function(InputMessageReplyToStory value)? story,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case InputMessageReplyToEphemeralMessage.constructor:
      if (ephemeralMessage != null) {
        return ephemeralMessage.call(
          this as InputMessageReplyToEphemeralMessage,
        );
      }
      break;
    case InputMessageReplyToExternalMessage.constructor:
      if (externalMessage != null) {
        return externalMessage.call(
          this as InputMessageReplyToExternalMessage,
        );
      }
      break;
    case InputMessageReplyToMessage.constructor:
      if (message != null) {
        return message.call(this as InputMessageReplyToMessage);
      }
      break;
    case InputMessageReplyToStory.constructor:
      if (story != null) {
        return story.call(this as InputMessageReplyToStory);
      }
      break;
  }
  return orElse.call();
}