map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(BotWriteAccessAllowReasonAcceptedRequest value)
  acceptedRequest,
  required TResult Function(
    BotWriteAccessAllowReasonAddedToAttachmentMenu value,
  )
  addedToAttachmentMenu,
  required TResult Function(BotWriteAccessAllowReasonConnectedWebsite value)
  connectedWebsite,
  required TResult Function(BotWriteAccessAllowReasonLaunchedWebApp value)
  launchedWebApp,
}) {
  switch (getConstructor()) {
    case BotWriteAccessAllowReasonAcceptedRequest.constructor:
      return acceptedRequest.call(
        this as BotWriteAccessAllowReasonAcceptedRequest,
      );
    case BotWriteAccessAllowReasonAddedToAttachmentMenu.constructor:
      return addedToAttachmentMenu.call(
        this as BotWriteAccessAllowReasonAddedToAttachmentMenu,
      );
    case BotWriteAccessAllowReasonConnectedWebsite.constructor:
      return connectedWebsite.call(
        this as BotWriteAccessAllowReasonConnectedWebsite,
      );
    case BotWriteAccessAllowReasonLaunchedWebApp.constructor:
      return launchedWebApp.call(
        this as BotWriteAccessAllowReasonLaunchedWebApp,
      );
  }
  throw StateError('not handled type Generator');
}