content: // GENERATED CODE - DO NOT MODIFY BY HAND
  // 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
  
  part of 'user.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 informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
  
  User _$UserFromJson(Map<String, dynamic> json) {
    return _User.fromJson(json);
  }
  
  /// @nodoc
  class _$UserTearOff {
    const _$UserTearOff();
  
    _User call(
        {@JsonKey(name: '\$id') required String userId,
        String? name,
        required String email,
        String? phone,
        String? address,
        String? imageUrl,
        String? bio,
        int wallet = 0}) {
      return _User(
        userId: userId,
        name: name,
        email: email,
        phone: phone,
        address: address,
        imageUrl: imageUrl,
        bio: bio,
        wallet: wallet,
      );
    }
  
    User fromJson(Map<String, Object> json) {
      return User.fromJson(json);
    }
  }
  
  /// @nodoc
  const $User = _$UserTearOff();
  
  /// @nodoc
  mixin _$User {
    @JsonKey(name: '\$id')
    String get userId => throw _privateConstructorUsedError;
    String? get name => throw _privateConstructorUsedError;
    String get email => throw _privateConstructorUsedError;
    String? get phone => throw _privateConstructorUsedError;
    String? get address => throw _privateConstructorUsedError;
    String? get imageUrl => throw _privateConstructorUsedError;
    String? get bio => throw _privateConstructorUsedError;
    int get wallet => throw _privateConstructorUsedError;
  
    Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
    @JsonKey(ignore: true)
    $UserCopyWith<User> get copyWith => throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class $UserCopyWith<$Res> {
    factory $UserCopyWith(User value, $Res Function(User) then) =
        _$UserCopyWithImpl<$Res>;
    $Res call(
        {@JsonKey(name: '\$id') String userId,
        String? name,
        String email,
        String? phone,
        String? address,
        String? imageUrl,
        String? bio,
        int wallet});
  }
  
  /// @nodoc
  class _$UserCopyWithImpl<$Res> implements $UserCopyWith<$Res> {
    _$UserCopyWithImpl(this._value, this._then);
  
    final User _value;
    // ignore: unused_field
    final $Res Function(User) _then;
  
    @override
    $Res call({
      Object? userId = freezed,
      Object? name = freezed,
      Object? email = freezed,
      Object? phone = freezed,
      Object? address = freezed,
      Object? imageUrl = freezed,
      Object? bio = freezed,
      Object? wallet = freezed,
    }) {
      return _then(_value.copyWith(
        userId: userId == freezed
            ? _value.userId
            : userId // ignore: cast_nullable_to_non_nullable
                as String,
        name: name == freezed
            ? _value.name
            : name // ignore: cast_nullable_to_non_nullable
                as String?,
        email: email == freezed
            ? _value.email
            : email // ignore: cast_nullable_to_non_nullable
                as String,
        phone: phone == freezed
            ? _value.phone
            : phone // ignore: cast_nullable_to_non_nullable
                as String?,
        address: address == freezed
            ? _value.address
            : address // ignore: cast_nullable_to_non_nullable
                as String?,
        imageUrl: imageUrl == freezed
            ? _value.imageUrl
            : imageUrl // ignore: cast_nullable_to_non_nullable
                as String?,
        bio: bio == freezed
            ? _value.bio
            : bio // ignore: cast_nullable_to_non_nullable
                as String?,
        wallet: wallet == freezed
            ? _value.wallet
            : wallet // ignore: cast_nullable_to_non_nullable
                as int,
      ));
    }
  }
  
  /// @nodoc
  abstract class _$UserCopyWith<$Res> implements $UserCopyWith<$Res> {
    factory _$UserCopyWith(_User value, $Res Function(_User) then) =
        __$UserCopyWithImpl<$Res>;
    @override
    $Res call(
        {@JsonKey(name: '\$id') String userId,
        String? name,
        String email,
        String? phone,
        String? address,
        String? imageUrl,
        String? bio,
        int wallet});
  }
  
  /// @nodoc
  class __$UserCopyWithImpl<$Res> extends _$UserCopyWithImpl<$Res>
      implements _$UserCopyWith<$Res> {
    __$UserCopyWithImpl(_User _value, $Res Function(_User) _then)
        : super(_value, (v) => _then(v as _User));
  
    @override
    _User get _value => super._value as _User;
  
    @override
    $Res call({
      Object? userId = freezed,
      Object? name = freezed,
      Object? email = freezed,
      Object? phone = freezed,
      Object? address = freezed,
      Object? imageUrl = freezed,
      Object? bio = freezed,
      Object? wallet = freezed,
    }) {
      return _then(_User(
        userId: userId == freezed
            ? _value.userId
            : userId // ignore: cast_nullable_to_non_nullable
                as String,
        name: name == freezed
            ? _value.name
            : name // ignore: cast_nullable_to_non_nullable
                as String?,
        email: email == freezed
            ? _value.email
            : email // ignore: cast_nullable_to_non_nullable
                as String,
        phone: phone == freezed
            ? _value.phone
            : phone // ignore: cast_nullable_to_non_nullable
                as String?,
        address: address == freezed
            ? _value.address
            : address // ignore: cast_nullable_to_non_nullable
                as String?,
        imageUrl: imageUrl == freezed
            ? _value.imageUrl
            : imageUrl // ignore: cast_nullable_to_non_nullable
                as String?,
        bio: bio == freezed
            ? _value.bio
            : bio // ignore: cast_nullable_to_non_nullable
                as String?,
        wallet: wallet == freezed
            ? _value.wallet
            : wallet // ignore: cast_nullable_to_non_nullable
                as int,
      ));
    }
  }
  
  /// @nodoc
  @JsonSerializable()
  class _$_User implements _User {
    const _$_User(
        {@JsonKey(name: '\$id') required this.userId,
        this.name,
        required this.email,
        this.phone,
        this.address,
        this.imageUrl,
        this.bio,
        this.wallet = 0});
  
    factory _$_User.fromJson(Map<String, dynamic> json) =>
        _$_$_UserFromJson(json);
  
    @override
    @JsonKey(name: '\$id')
    final String userId;
    @override
    final String? name;
    @override
    final String email;
    @override
    final String? phone;
    @override
    final String? address;
    @override
    final String? imageUrl;
    @override
    final String? bio;
    @JsonKey(defaultValue: 0)
    @override
    final int wallet;
  
    @override
    String toString() {
      return 'User(userId: $userId, name: $name, email: $email, phone: $phone, address: $address, imageUrl: $imageUrl, bio: $bio, wallet: $wallet)';
    }
  
    @override
    bool operator ==(dynamic other) {
      return identical(this, other) ||
          (other is _User &&
              (identical(other.userId, userId) ||
                  const DeepCollectionEquality().equals(other.userId, userId)) &&
              (identical(other.name, name) ||
                  const DeepCollectionEquality().equals(other.name, name)) &&
              (identical(other.email, email) ||
                  const DeepCollectionEquality().equals(other.email, email)) &&
              (identical(other.phone, phone) ||
                  const DeepCollectionEquality().equals(other.phone, phone)) &&
              (identical(other.address, address) ||
                  const DeepCollectionEquality()
                      .equals(other.address, address)) &&
              (identical(other.imageUrl, imageUrl) ||
                  const DeepCollectionEquality()
                      .equals(other.imageUrl, imageUrl)) &&
              (identical(other.bio, bio) ||
                  const DeepCollectionEquality().equals(other.bio, bio)) &&
              (identical(other.wallet, wallet) ||
                  const DeepCollectionEquality().equals(other.wallet, wallet)));
    }
  
    @override
    int get hashCode =>
        runtimeType.hashCode ^
        const DeepCollectionEquality().hash(userId) ^
        const DeepCollectionEquality().hash(name) ^
        const DeepCollectionEquality().hash(email) ^
        const DeepCollectionEquality().hash(phone) ^
        const DeepCollectionEquality().hash(address) ^
        const DeepCollectionEquality().hash(imageUrl) ^
        const DeepCollectionEquality().hash(bio) ^
        const DeepCollectionEquality().hash(wallet);
  
    @JsonKey(ignore: true)
    @override
    _$UserCopyWith<_User> get copyWith =>
        __$UserCopyWithImpl<_User>(this, _$identity);
  
    @override
    Map<String, dynamic> toJson() {
      return _$_$_UserToJson(this);
    }
  }
  
  abstract class _User implements User {
    const factory _User(
        {@JsonKey(name: '\$id') required String userId,
        String? name,
        required String email,
        String? phone,
        String? address,
        String? imageUrl,
        String? bio,
        int wallet}) = _$_User;
  
    factory _User.fromJson(Map<String, dynamic> json) = _$_User.fromJson;
  
    @override
    @JsonKey(name: '\$id')
    String get userId => throw _privateConstructorUsedError;
    @override
    String? get name => throw _privateConstructorUsedError;
    @override
    String get email => throw _privateConstructorUsedError;
    @override
    String? get phone => throw _privateConstructorUsedError;
    @override
    String? get address => throw _privateConstructorUsedError;
    @override
    String? get imageUrl => throw _privateConstructorUsedError;
    @override
    String? get bio => throw _privateConstructorUsedError;
    @override
    int get wallet => throw _privateConstructorUsedError;
    @override
    @JsonKey(ignore: true)
    _$UserCopyWith<_User> get copyWith => throw _privateConstructorUsedError;
  }
  