// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'auth_event.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

/// @nodoc
mixin _$AuthEvent {
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $AuthEventCopyWith<$Res> {
  factory $AuthEventCopyWith(AuthEvent value, $Res Function(AuthEvent) then) =
      _$AuthEventCopyWithImpl<$Res, AuthEvent>;
}

/// @nodoc
class _$AuthEventCopyWithImpl<$Res, $Val extends AuthEvent>
    implements $AuthEventCopyWith<$Res> {
  _$AuthEventCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;
}

/// @nodoc
abstract class _$$AuthEventStartedImplCopyWith<$Res> {
  factory _$$AuthEventStartedImplCopyWith(_$AuthEventStartedImpl value,
          $Res Function(_$AuthEventStartedImpl) then) =
      __$$AuthEventStartedImplCopyWithImpl<$Res>;
}

/// @nodoc
class __$$AuthEventStartedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventStartedImpl>
    implements _$$AuthEventStartedImplCopyWith<$Res> {
  __$$AuthEventStartedImplCopyWithImpl(_$AuthEventStartedImpl _value,
      $Res Function(_$AuthEventStartedImpl) _then)
      : super(_value, _then);
}

/// @nodoc

class _$AuthEventStartedImpl implements AuthEventStarted {
  const _$AuthEventStartedImpl();

  @override
  String toString() {
    return 'AuthEvent.started()';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType && other is _$AuthEventStartedImpl);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return started();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return started?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (started != null) {
      return started();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return started(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return started?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (started != null) {
      return started(this);
    }
    return orElse();
  }
}

abstract class AuthEventStarted implements AuthEvent {
  const factory AuthEventStarted() = _$AuthEventStartedImpl;
}

/// @nodoc
abstract class _$$AuthEventLoginRequestedImplCopyWith<$Res> {
  factory _$$AuthEventLoginRequestedImplCopyWith(
          _$AuthEventLoginRequestedImpl value,
          $Res Function(_$AuthEventLoginRequestedImpl) then) =
      __$$AuthEventLoginRequestedImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String username, String password});
}

/// @nodoc
class __$$AuthEventLoginRequestedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventLoginRequestedImpl>
    implements _$$AuthEventLoginRequestedImplCopyWith<$Res> {
  __$$AuthEventLoginRequestedImplCopyWithImpl(
      _$AuthEventLoginRequestedImpl _value,
      $Res Function(_$AuthEventLoginRequestedImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? username = null,
    Object? password = null,
  }) {
    return _then(_$AuthEventLoginRequestedImpl(
      null == username
          ? _value.username
          : username // ignore: cast_nullable_to_non_nullable
              as String,
      null == password
          ? _value.password
          : password // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$AuthEventLoginRequestedImpl implements AuthEventLoginRequested {
  const _$AuthEventLoginRequestedImpl(this.username, this.password);

  @override
  final String username;
  @override
  final String password;

  @override
  String toString() {
    return 'AuthEvent.loginRequested(username: $username, password: $password)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventLoginRequestedImpl &&
            (identical(other.username, username) ||
                other.username == username) &&
            (identical(other.password, password) ||
                other.password == password));
  }

  @override
  int get hashCode => Object.hash(runtimeType, username, password);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AuthEventLoginRequestedImplCopyWith<_$AuthEventLoginRequestedImpl>
      get copyWith => __$$AuthEventLoginRequestedImplCopyWithImpl<
          _$AuthEventLoginRequestedImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return loginRequested(username, password);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return loginRequested?.call(username, password);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (loginRequested != null) {
      return loginRequested(username, password);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return loginRequested(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return loginRequested?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (loginRequested != null) {
      return loginRequested(this);
    }
    return orElse();
  }
}

abstract class AuthEventLoginRequested implements AuthEvent {
  const factory AuthEventLoginRequested(
          final String username, final String password) =
      _$AuthEventLoginRequestedImpl;

  String get username;
  String get password;
  @JsonKey(ignore: true)
  _$$AuthEventLoginRequestedImplCopyWith<_$AuthEventLoginRequestedImpl>
      get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$AuthEventRegisterRequestedImplCopyWith<$Res> {
  factory _$$AuthEventRegisterRequestedImplCopyWith(
          _$AuthEventRegisterRequestedImpl value,
          $Res Function(_$AuthEventRegisterRequestedImpl) then) =
      __$$AuthEventRegisterRequestedImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String username, String password, String name});
}

/// @nodoc
class __$$AuthEventRegisterRequestedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventRegisterRequestedImpl>
    implements _$$AuthEventRegisterRequestedImplCopyWith<$Res> {
  __$$AuthEventRegisterRequestedImplCopyWithImpl(
      _$AuthEventRegisterRequestedImpl _value,
      $Res Function(_$AuthEventRegisterRequestedImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? username = null,
    Object? password = null,
    Object? name = null,
  }) {
    return _then(_$AuthEventRegisterRequestedImpl(
      null == username
          ? _value.username
          : username // ignore: cast_nullable_to_non_nullable
              as String,
      null == password
          ? _value.password
          : password // ignore: cast_nullable_to_non_nullable
              as String,
      null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$AuthEventRegisterRequestedImpl implements AuthEventRegisterRequested {
  const _$AuthEventRegisterRequestedImpl(
      this.username, this.password, this.name);

  @override
  final String username;
  @override
  final String password;
  @override
  final String name;

  @override
  String toString() {
    return 'AuthEvent.registerRequested(username: $username, password: $password, name: $name)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventRegisterRequestedImpl &&
            (identical(other.username, username) ||
                other.username == username) &&
            (identical(other.password, password) ||
                other.password == password) &&
            (identical(other.name, name) || other.name == name));
  }

  @override
  int get hashCode => Object.hash(runtimeType, username, password, name);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AuthEventRegisterRequestedImplCopyWith<_$AuthEventRegisterRequestedImpl>
      get copyWith => __$$AuthEventRegisterRequestedImplCopyWithImpl<
          _$AuthEventRegisterRequestedImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return registerRequested(username, password, name);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return registerRequested?.call(username, password, name);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (registerRequested != null) {
      return registerRequested(username, password, name);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return registerRequested(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return registerRequested?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (registerRequested != null) {
      return registerRequested(this);
    }
    return orElse();
  }
}

abstract class AuthEventRegisterRequested implements AuthEvent {
  const factory AuthEventRegisterRequested(
          final String username, final String password, final String name) =
      _$AuthEventRegisterRequestedImpl;

  String get username;
  String get password;
  String get name;
  @JsonKey(ignore: true)
  _$$AuthEventRegisterRequestedImplCopyWith<_$AuthEventRegisterRequestedImpl>
      get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$AuthEventLogoutRequestedImplCopyWith<$Res> {
  factory _$$AuthEventLogoutRequestedImplCopyWith(
          _$AuthEventLogoutRequestedImpl value,
          $Res Function(_$AuthEventLogoutRequestedImpl) then) =
      __$$AuthEventLogoutRequestedImplCopyWithImpl<$Res>;
}

/// @nodoc
class __$$AuthEventLogoutRequestedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventLogoutRequestedImpl>
    implements _$$AuthEventLogoutRequestedImplCopyWith<$Res> {
  __$$AuthEventLogoutRequestedImplCopyWithImpl(
      _$AuthEventLogoutRequestedImpl _value,
      $Res Function(_$AuthEventLogoutRequestedImpl) _then)
      : super(_value, _then);
}

/// @nodoc

class _$AuthEventLogoutRequestedImpl implements AuthEventLogoutRequested {
  const _$AuthEventLogoutRequestedImpl();

  @override
  String toString() {
    return 'AuthEvent.logoutRequested()';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventLogoutRequestedImpl);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return logoutRequested();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return logoutRequested?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (logoutRequested != null) {
      return logoutRequested();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return logoutRequested(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return logoutRequested?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (logoutRequested != null) {
      return logoutRequested(this);
    }
    return orElse();
  }
}

abstract class AuthEventLogoutRequested implements AuthEvent {
  const factory AuthEventLogoutRequested() = _$AuthEventLogoutRequestedImpl;
}

/// @nodoc
abstract class _$$AuthEventAuthCheckedImplCopyWith<$Res> {
  factory _$$AuthEventAuthCheckedImplCopyWith(_$AuthEventAuthCheckedImpl value,
          $Res Function(_$AuthEventAuthCheckedImpl) then) =
      __$$AuthEventAuthCheckedImplCopyWithImpl<$Res>;
}

/// @nodoc
class __$$AuthEventAuthCheckedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventAuthCheckedImpl>
    implements _$$AuthEventAuthCheckedImplCopyWith<$Res> {
  __$$AuthEventAuthCheckedImplCopyWithImpl(_$AuthEventAuthCheckedImpl _value,
      $Res Function(_$AuthEventAuthCheckedImpl) _then)
      : super(_value, _then);
}

/// @nodoc

class _$AuthEventAuthCheckedImpl implements AuthEventAuthChecked {
  const _$AuthEventAuthCheckedImpl();

  @override
  String toString() {
    return 'AuthEvent.authChecked()';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventAuthCheckedImpl);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return authChecked();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return authChecked?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (authChecked != null) {
      return authChecked();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return authChecked(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return authChecked?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (authChecked != null) {
      return authChecked(this);
    }
    return orElse();
  }
}

abstract class AuthEventAuthChecked implements AuthEvent {
  const factory AuthEventAuthChecked() = _$AuthEventAuthCheckedImpl;
}

/// @nodoc
abstract class _$$AuthEventUsernameChangedImplCopyWith<$Res> {
  factory _$$AuthEventUsernameChangedImplCopyWith(
          _$AuthEventUsernameChangedImpl value,
          $Res Function(_$AuthEventUsernameChangedImpl) then) =
      __$$AuthEventUsernameChangedImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String username});
}

/// @nodoc
class __$$AuthEventUsernameChangedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventUsernameChangedImpl>
    implements _$$AuthEventUsernameChangedImplCopyWith<$Res> {
  __$$AuthEventUsernameChangedImplCopyWithImpl(
      _$AuthEventUsernameChangedImpl _value,
      $Res Function(_$AuthEventUsernameChangedImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? username = null,
  }) {
    return _then(_$AuthEventUsernameChangedImpl(
      null == username
          ? _value.username
          : username // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$AuthEventUsernameChangedImpl implements AuthEventUsernameChanged {
  const _$AuthEventUsernameChangedImpl(this.username);

  @override
  final String username;

  @override
  String toString() {
    return 'AuthEvent.usernameChanged(username: $username)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventUsernameChangedImpl &&
            (identical(other.username, username) ||
                other.username == username));
  }

  @override
  int get hashCode => Object.hash(runtimeType, username);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AuthEventUsernameChangedImplCopyWith<_$AuthEventUsernameChangedImpl>
      get copyWith => __$$AuthEventUsernameChangedImplCopyWithImpl<
          _$AuthEventUsernameChangedImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return usernameChanged(username);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return usernameChanged?.call(username);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (usernameChanged != null) {
      return usernameChanged(username);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return usernameChanged(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return usernameChanged?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (usernameChanged != null) {
      return usernameChanged(this);
    }
    return orElse();
  }
}

abstract class AuthEventUsernameChanged implements AuthEvent {
  const factory AuthEventUsernameChanged(final String username) =
      _$AuthEventUsernameChangedImpl;

  String get username;
  @JsonKey(ignore: true)
  _$$AuthEventUsernameChangedImplCopyWith<_$AuthEventUsernameChangedImpl>
      get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$AuthEventPasswordChangedImplCopyWith<$Res> {
  factory _$$AuthEventPasswordChangedImplCopyWith(
          _$AuthEventPasswordChangedImpl value,
          $Res Function(_$AuthEventPasswordChangedImpl) then) =
      __$$AuthEventPasswordChangedImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String password});
}

/// @nodoc
class __$$AuthEventPasswordChangedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventPasswordChangedImpl>
    implements _$$AuthEventPasswordChangedImplCopyWith<$Res> {
  __$$AuthEventPasswordChangedImplCopyWithImpl(
      _$AuthEventPasswordChangedImpl _value,
      $Res Function(_$AuthEventPasswordChangedImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? password = null,
  }) {
    return _then(_$AuthEventPasswordChangedImpl(
      null == password
          ? _value.password
          : password // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$AuthEventPasswordChangedImpl implements AuthEventPasswordChanged {
  const _$AuthEventPasswordChangedImpl(this.password);

  @override
  final String password;

  @override
  String toString() {
    return 'AuthEvent.passwordChanged(password: $password)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventPasswordChangedImpl &&
            (identical(other.password, password) ||
                other.password == password));
  }

  @override
  int get hashCode => Object.hash(runtimeType, password);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AuthEventPasswordChangedImplCopyWith<_$AuthEventPasswordChangedImpl>
      get copyWith => __$$AuthEventPasswordChangedImplCopyWithImpl<
          _$AuthEventPasswordChangedImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return passwordChanged(password);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return passwordChanged?.call(password);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (passwordChanged != null) {
      return passwordChanged(password);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return passwordChanged(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return passwordChanged?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (passwordChanged != null) {
      return passwordChanged(this);
    }
    return orElse();
  }
}

abstract class AuthEventPasswordChanged implements AuthEvent {
  const factory AuthEventPasswordChanged(final String password) =
      _$AuthEventPasswordChangedImpl;

  String get password;
  @JsonKey(ignore: true)
  _$$AuthEventPasswordChangedImplCopyWith<_$AuthEventPasswordChangedImpl>
      get copyWith => throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$AuthEventNameChangedImplCopyWith<$Res> {
  factory _$$AuthEventNameChangedImplCopyWith(_$AuthEventNameChangedImpl value,
          $Res Function(_$AuthEventNameChangedImpl) then) =
      __$$AuthEventNameChangedImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String name});
}

/// @nodoc
class __$$AuthEventNameChangedImplCopyWithImpl<$Res>
    extends _$AuthEventCopyWithImpl<$Res, _$AuthEventNameChangedImpl>
    implements _$$AuthEventNameChangedImplCopyWith<$Res> {
  __$$AuthEventNameChangedImplCopyWithImpl(_$AuthEventNameChangedImpl _value,
      $Res Function(_$AuthEventNameChangedImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
  }) {
    return _then(_$AuthEventNameChangedImpl(
      null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$AuthEventNameChangedImpl implements AuthEventNameChanged {
  const _$AuthEventNameChangedImpl(this.name);

  @override
  final String name;

  @override
  String toString() {
    return 'AuthEvent.nameChanged(name: $name)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AuthEventNameChangedImpl &&
            (identical(other.name, name) || other.name == name));
  }

  @override
  int get hashCode => Object.hash(runtimeType, name);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AuthEventNameChangedImplCopyWith<_$AuthEventNameChangedImpl>
      get copyWith =>
          __$$AuthEventNameChangedImplCopyWithImpl<_$AuthEventNameChangedImpl>(
              this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() started,
    required TResult Function(String username, String password) loginRequested,
    required TResult Function(String username, String password, String name)
        registerRequested,
    required TResult Function() logoutRequested,
    required TResult Function() authChecked,
    required TResult Function(String username) usernameChanged,
    required TResult Function(String password) passwordChanged,
    required TResult Function(String name) nameChanged,
  }) {
    return nameChanged(name);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? started,
    TResult? Function(String username, String password)? loginRequested,
    TResult? Function(String username, String password, String name)?
        registerRequested,
    TResult? Function()? logoutRequested,
    TResult? Function()? authChecked,
    TResult? Function(String username)? usernameChanged,
    TResult? Function(String password)? passwordChanged,
    TResult? Function(String name)? nameChanged,
  }) {
    return nameChanged?.call(name);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? started,
    TResult Function(String username, String password)? loginRequested,
    TResult Function(String username, String password, String name)?
        registerRequested,
    TResult Function()? logoutRequested,
    TResult Function()? authChecked,
    TResult Function(String username)? usernameChanged,
    TResult Function(String password)? passwordChanged,
    TResult Function(String name)? nameChanged,
    required TResult orElse(),
  }) {
    if (nameChanged != null) {
      return nameChanged(name);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AuthEventStarted value) started,
    required TResult Function(AuthEventLoginRequested value) loginRequested,
    required TResult Function(AuthEventRegisterRequested value)
        registerRequested,
    required TResult Function(AuthEventLogoutRequested value) logoutRequested,
    required TResult Function(AuthEventAuthChecked value) authChecked,
    required TResult Function(AuthEventUsernameChanged value) usernameChanged,
    required TResult Function(AuthEventPasswordChanged value) passwordChanged,
    required TResult Function(AuthEventNameChanged value) nameChanged,
  }) {
    return nameChanged(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AuthEventStarted value)? started,
    TResult? Function(AuthEventLoginRequested value)? loginRequested,
    TResult? Function(AuthEventRegisterRequested value)? registerRequested,
    TResult? Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult? Function(AuthEventAuthChecked value)? authChecked,
    TResult? Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult? Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult? Function(AuthEventNameChanged value)? nameChanged,
  }) {
    return nameChanged?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AuthEventStarted value)? started,
    TResult Function(AuthEventLoginRequested value)? loginRequested,
    TResult Function(AuthEventRegisterRequested value)? registerRequested,
    TResult Function(AuthEventLogoutRequested value)? logoutRequested,
    TResult Function(AuthEventAuthChecked value)? authChecked,
    TResult Function(AuthEventUsernameChanged value)? usernameChanged,
    TResult Function(AuthEventPasswordChanged value)? passwordChanged,
    TResult Function(AuthEventNameChanged value)? nameChanged,
    required TResult orElse(),
  }) {
    if (nameChanged != null) {
      return nameChanged(this);
    }
    return orElse();
  }
}

abstract class AuthEventNameChanged implements AuthEvent {
  const factory AuthEventNameChanged(final String name) =
      _$AuthEventNameChangedImpl;

  String get name;
  @JsonKey(ignore: true)
  _$$AuthEventNameChangedImplCopyWith<_$AuthEventNameChangedImpl>
      get copyWith => throw _privateConstructorUsedError;
}
