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

TimerItem _$TimerItemFromJson(Map<String, dynamic> json) {
  return _TimerItem.fromJson(json);
}

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

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

/// @nodoc
abstract class $TimerItemCopyWith<$Res> {
  factory $TimerItemCopyWith(TimerItem value, $Res Function(TimerItem) then) =
      _$TimerItemCopyWithImpl<$Res, TimerItem>;
  @useResult
  $Res call(
      {String widgetType,
      String name,
      int current,
      int goal,
      bool isExpanded,
      bool isVisible,
      String createdOn,
      String completedOn,
      String state,
      int id});
}

/// @nodoc
class _$TimerItemCopyWithImpl<$Res, $Val extends TimerItem>
    implements $TimerItemCopyWith<$Res> {
  _$TimerItemCopyWithImpl(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? current = null,
    Object? goal = null,
    Object? isExpanded = null,
    Object? isVisible = null,
    Object? createdOn = null,
    Object? completedOn = null,
    Object? state = 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,
      current: null == current
          ? _value.current
          : current // ignore: cast_nullable_to_non_nullable
              as int,
      goal: null == goal
          ? _value.goal
          : goal // 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,
      state: null == state
          ? _value.state
          : state // 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 _$$TimerItemImplCopyWith<$Res>
    implements $TimerItemCopyWith<$Res> {
  factory _$$TimerItemImplCopyWith(
          _$TimerItemImpl value, $Res Function(_$TimerItemImpl) then) =
      __$$TimerItemImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String widgetType,
      String name,
      int current,
      int goal,
      bool isExpanded,
      bool isVisible,
      String createdOn,
      String completedOn,
      String state,
      int id});
}

/// @nodoc
class __$$TimerItemImplCopyWithImpl<$Res>
    extends _$TimerItemCopyWithImpl<$Res, _$TimerItemImpl>
    implements _$$TimerItemImplCopyWith<$Res> {
  __$$TimerItemImplCopyWithImpl(
      _$TimerItemImpl _value, $Res Function(_$TimerItemImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? widgetType = null,
    Object? name = null,
    Object? current = null,
    Object? goal = null,
    Object? isExpanded = null,
    Object? isVisible = null,
    Object? createdOn = null,
    Object? completedOn = null,
    Object? state = null,
    Object? id = null,
  }) {
    return _then(_$TimerItemImpl(
      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,
      current: null == current
          ? _value.current
          : current // ignore: cast_nullable_to_non_nullable
              as int,
      goal: null == goal
          ? _value.goal
          : goal // 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,
      state: null == state
          ? _value.state
          : state // 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 _$TimerItemImpl with DiagnosticableTreeMixin implements _TimerItem {
  const _$TimerItemImpl(
      {required this.widgetType,
      required this.name,
      required this.current,
      required this.goal,
      required this.isExpanded,
      required this.isVisible,
      required this.createdOn,
      required this.completedOn,
      required this.state,
      this.id = -1});

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

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

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

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

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$TimerItemImpl &&
            (identical(other.widgetType, widgetType) ||
                other.widgetType == widgetType) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.current, current) || other.current == current) &&
            (identical(other.goal, goal) || other.goal == goal) &&
            (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.state, state) || other.state == state) &&
            (identical(other.id, id) || other.id == id));
  }

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

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

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

abstract class _TimerItem implements TimerItem {
  const factory _TimerItem(
      {required final String widgetType,
      required final String name,
      required final int current,
      required final int goal,
      required final bool isExpanded,
      required final bool isVisible,
      required final String createdOn,
      required final String completedOn,
      required final String state,
      final int id}) = _$TimerItemImpl;

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

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