// 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 'hydration.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');

Hydration _$HydrationFromJson(Map<String, dynamic> json) {
  return _Hydration.fromJson(json);
}

/// @nodoc
mixin _$Hydration {
  String get widgetType => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;
  int get button1Amount => throw _privateConstructorUsedError;
  int get button2Amount => throw _privateConstructorUsedError;
  int get goal => throw _privateConstructorUsedError;
  int get current => throw _privateConstructorUsedError;
  bool get isExpanded => throw _privateConstructorUsedError;
  bool get isVisible => throw _privateConstructorUsedError;
  String get createdOn => throw _privateConstructorUsedError;
  String get completedOn => throw _privateConstructorUsedError;
  int get id => throw _privateConstructorUsedError;

  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
  @JsonKey(ignore: true)
  $HydrationCopyWith<Hydration> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $HydrationCopyWith<$Res> {
  factory $HydrationCopyWith(Hydration value, $Res Function(Hydration) then) =
      _$HydrationCopyWithImpl<$Res, Hydration>;
  @useResult
  $Res call(
      {String widgetType,
      String name,
      int button1Amount,
      int button2Amount,
      int goal,
      int current,
      bool isExpanded,
      bool isVisible,
      String createdOn,
      String completedOn,
      int id});
}

/// @nodoc
class _$HydrationCopyWithImpl<$Res, $Val extends Hydration>
    implements $HydrationCopyWith<$Res> {
  _$HydrationCopyWithImpl(this._value, this._then);

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

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? widgetType = null,
    Object? name = null,
    Object? button1Amount = null,
    Object? button2Amount = null,
    Object? goal = null,
    Object? current = null,
    Object? isExpanded = null,
    Object? isVisible = null,
    Object? createdOn = null,
    Object? completedOn = null,
    Object? id = null,
  }) {
    return _then(_value.copyWith(
      widgetType: null == widgetType
          ? _value.widgetType
          : widgetType // ignore: cast_nullable_to_non_nullable
              as String,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      button1Amount: null == button1Amount
          ? _value.button1Amount
          : button1Amount // ignore: cast_nullable_to_non_nullable
              as int,
      button2Amount: null == button2Amount
          ? _value.button2Amount
          : button2Amount // ignore: cast_nullable_to_non_nullable
              as int,
      goal: null == goal
          ? _value.goal
          : goal // ignore: cast_nullable_to_non_nullable
              as int,
      current: null == current
          ? _value.current
          : current // ignore: cast_nullable_to_non_nullable
              as int,
      isExpanded: null == isExpanded
          ? _value.isExpanded
          : isExpanded // ignore: cast_nullable_to_non_nullable
              as bool,
      isVisible: null == isVisible
          ? _value.isVisible
          : isVisible // ignore: cast_nullable_to_non_nullable
              as bool,
      createdOn: null == createdOn
          ? _value.createdOn
          : createdOn // ignore: cast_nullable_to_non_nullable
              as String,
      completedOn: null == completedOn
          ? _value.completedOn
          : completedOn // ignore: cast_nullable_to_non_nullable
              as String,
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$HydrationImplCopyWith<$Res>
    implements $HydrationCopyWith<$Res> {
  factory _$$HydrationImplCopyWith(
          _$HydrationImpl value, $Res Function(_$HydrationImpl) then) =
      __$$HydrationImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String widgetType,
      String name,
      int button1Amount,
      int button2Amount,
      int goal,
      int current,
      bool isExpanded,
      bool isVisible,
      String createdOn,
      String completedOn,
      int id});
}

/// @nodoc
class __$$HydrationImplCopyWithImpl<$Res>
    extends _$HydrationCopyWithImpl<$Res, _$HydrationImpl>
    implements _$$HydrationImplCopyWith<$Res> {
  __$$HydrationImplCopyWithImpl(
      _$HydrationImpl _value, $Res Function(_$HydrationImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? widgetType = null,
    Object? name = null,
    Object? button1Amount = null,
    Object? button2Amount = null,
    Object? goal = null,
    Object? current = null,
    Object? isExpanded = null,
    Object? isVisible = null,
    Object? createdOn = null,
    Object? completedOn = null,
    Object? id = null,
  }) {
    return _then(_$HydrationImpl(
      widgetType: null == widgetType
          ? _value.widgetType
          : widgetType // ignore: cast_nullable_to_non_nullable
              as String,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      button1Amount: null == button1Amount
          ? _value.button1Amount
          : button1Amount // ignore: cast_nullable_to_non_nullable
              as int,
      button2Amount: null == button2Amount
          ? _value.button2Amount
          : button2Amount // ignore: cast_nullable_to_non_nullable
              as int,
      goal: null == goal
          ? _value.goal
          : goal // ignore: cast_nullable_to_non_nullable
              as int,
      current: null == current
          ? _value.current
          : current // ignore: cast_nullable_to_non_nullable
              as int,
      isExpanded: null == isExpanded
          ? _value.isExpanded
          : isExpanded // ignore: cast_nullable_to_non_nullable
              as bool,
      isVisible: null == isVisible
          ? _value.isVisible
          : isVisible // ignore: cast_nullable_to_non_nullable
              as bool,
      createdOn: null == createdOn
          ? _value.createdOn
          : createdOn // ignore: cast_nullable_to_non_nullable
              as String,
      completedOn: null == completedOn
          ? _value.completedOn
          : completedOn // ignore: cast_nullable_to_non_nullable
              as String,
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$HydrationImpl with DiagnosticableTreeMixin implements _Hydration {
  const _$HydrationImpl(
      {required this.widgetType,
      required this.name,
      required this.button1Amount,
      required this.button2Amount,
      required this.goal,
      required this.current,
      required this.isExpanded,
      required this.isVisible,
      required this.createdOn,
      required this.completedOn,
      this.id = -1});

  factory _$HydrationImpl.fromJson(Map<String, dynamic> json) =>
      _$$HydrationImplFromJson(json);

  @override
  final String widgetType;
  @override
  final String name;
  @override
  final int button1Amount;
  @override
  final int button2Amount;
  @override
  final int goal;
  @override
  final int current;
  @override
  final bool isExpanded;
  @override
  final bool isVisible;
  @override
  final String createdOn;
  @override
  final String completedOn;
  @override
  @JsonKey()
  final int id;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Hydration(widgetType: $widgetType, name: $name, button1Amount: $button1Amount, button2Amount: $button2Amount, goal: $goal, current: $current, isExpanded: $isExpanded, isVisible: $isVisible, createdOn: $createdOn, completedOn: $completedOn, id: $id)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Hydration'))
      ..add(DiagnosticsProperty('widgetType', widgetType))
      ..add(DiagnosticsProperty('name', name))
      ..add(DiagnosticsProperty('button1Amount', button1Amount))
      ..add(DiagnosticsProperty('button2Amount', button2Amount))
      ..add(DiagnosticsProperty('goal', goal))
      ..add(DiagnosticsProperty('current', current))
      ..add(DiagnosticsProperty('isExpanded', isExpanded))
      ..add(DiagnosticsProperty('isVisible', isVisible))
      ..add(DiagnosticsProperty('createdOn', createdOn))
      ..add(DiagnosticsProperty('completedOn', completedOn))
      ..add(DiagnosticsProperty('id', id));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$HydrationImpl &&
            (identical(other.widgetType, widgetType) ||
                other.widgetType == widgetType) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.button1Amount, button1Amount) ||
                other.button1Amount == button1Amount) &&
            (identical(other.button2Amount, button2Amount) ||
                other.button2Amount == button2Amount) &&
            (identical(other.goal, goal) || other.goal == goal) &&
            (identical(other.current, current) || other.current == current) &&
            (identical(other.isExpanded, isExpanded) ||
                other.isExpanded == isExpanded) &&
            (identical(other.isVisible, isVisible) ||
                other.isVisible == isVisible) &&
            (identical(other.createdOn, createdOn) ||
                other.createdOn == createdOn) &&
            (identical(other.completedOn, completedOn) ||
                other.completedOn == completedOn) &&
            (identical(other.id, id) || other.id == id));
  }

  @JsonKey(ignore: true)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      widgetType,
      name,
      button1Amount,
      button2Amount,
      goal,
      current,
      isExpanded,
      isVisible,
      createdOn,
      completedOn,
      id);

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

  @override
  Map<String, dynamic> toJson() {
    return _$$HydrationImplToJson(
      this,
    );
  }
}

abstract class _Hydration implements Hydration {
  const factory _Hydration(
      {required final String widgetType,
      required final String name,
      required final int button1Amount,
      required final int button2Amount,
      required final int goal,
      required final int current,
      required final bool isExpanded,
      required final bool isVisible,
      required final String createdOn,
      required final String completedOn,
      final int id}) = _$HydrationImpl;

  factory _Hydration.fromJson(Map<String, dynamic> json) =
      _$HydrationImpl.fromJson;

  @override
  String get widgetType;
  @override
  String get name;
  @override
  int get button1Amount;
  @override
  int get button2Amount;
  @override
  int get goal;
  @override
  int get current;
  @override
  bool get isExpanded;
  @override
  bool get isVisible;
  @override
  String get createdOn;
  @override
  String get completedOn;
  @override
  int get id;
  @override
  @JsonKey(ignore: true)
  _$$HydrationImplCopyWith<_$HydrationImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
