maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult acceptedRequest(
    1. BotWriteAccessAllowReasonAcceptedRequest value
    )?,
  2. TResult addedToAttachmentMenu(
    1. BotWriteAccessAllowReasonAddedToAttachmentMenu value
    )?,
  3. TResult connectedWebsite(
    1. BotWriteAccessAllowReasonConnectedWebsite value
    )?,
  4. TResult launchedWebApp(
    1. BotWriteAccessAllowReasonLaunchedWebApp value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(BotWriteAccessAllowReasonAcceptedRequest value)?
  acceptedRequest,
  TResult Function(BotWriteAccessAllowReasonAddedToAttachmentMenu value)?
  addedToAttachmentMenu,
  TResult Function(BotWriteAccessAllowReasonConnectedWebsite value)?
  connectedWebsite,
  TResult Function(BotWriteAccessAllowReasonLaunchedWebApp value)?
  launchedWebApp,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case BotWriteAccessAllowReasonAcceptedRequest.constructor:
      if (acceptedRequest != null) {
        return acceptedRequest.call(
          this as BotWriteAccessAllowReasonAcceptedRequest,
        );
      }
      break;
    case BotWriteAccessAllowReasonAddedToAttachmentMenu.constructor:
      if (addedToAttachmentMenu != null) {
        return addedToAttachmentMenu.call(
          this as BotWriteAccessAllowReasonAddedToAttachmentMenu,
        );
      }
      break;
    case BotWriteAccessAllowReasonConnectedWebsite.constructor:
      if (connectedWebsite != null) {
        return connectedWebsite.call(
          this as BotWriteAccessAllowReasonConnectedWebsite,
        );
      }
      break;
    case BotWriteAccessAllowReasonLaunchedWebApp.constructor:
      if (launchedWebApp != null) {
        return launchedWebApp.call(
          this as BotWriteAccessAllowReasonLaunchedWebApp,
        );
      }
      break;
  }
  return orElse.call();
}