content: // 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 'home_states.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 _$HomeState<T> {
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) =>
        throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class $HomeStateCopyWith<T, $Res> {
    factory $HomeStateCopyWith(
            HomeState<T> value, $Res Function(HomeState<T>) then) =
        _$HomeStateCopyWithImpl<T, $Res, HomeState<T>>;
  }
  
  /// @nodoc
  class _$HomeStateCopyWithImpl<T, $Res, $Val extends HomeState<T>>
      implements $HomeStateCopyWith<T, $Res> {
    _$HomeStateCopyWithImpl(this._value, this._then);
  
    // ignore: unused_field
    final $Val _value;
    // ignore: unused_field
    final $Res Function($Val) _then;
  }
  
  /// @nodoc
  abstract class _$$InitialImplCopyWith<T, $Res> {
    factory _$$InitialImplCopyWith(
            _$InitialImpl<T> value, $Res Function(_$InitialImpl<T>) then) =
        __$$InitialImplCopyWithImpl<T, $Res>;
  }
  
  /// @nodoc
  class __$$InitialImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$InitialImpl<T>>
      implements _$$InitialImplCopyWith<T, $Res> {
    __$$InitialImplCopyWithImpl(
        _$InitialImpl<T> _value, $Res Function(_$InitialImpl<T>) _then)
        : super(_value, _then);
  }
  
  /// @nodoc
  
  class _$InitialImpl<T> implements _Initial<T> {
    const _$InitialImpl();
  
    @override
    String toString() {
      return 'HomeState<$T>.initial()';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType && other is _$InitialImpl<T>);
    }
  
    @override
    int get hashCode => runtimeType.hashCode;
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return initial();
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return initial?.call();
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (initial != null) {
        return initial();
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return initial(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return initial?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (initial != null) {
        return initial(this);
      }
      return orElse();
    }
  }
  
  abstract class _Initial<T> implements HomeState<T> {
    const factory _Initial() = _$InitialImpl<T>;
  }
  
  /// @nodoc
  abstract class _$$GetTasksLoadingImplCopyWith<T, $Res> {
    factory _$$GetTasksLoadingImplCopyWith(_$GetTasksLoadingImpl<T> value,
            $Res Function(_$GetTasksLoadingImpl<T>) then) =
        __$$GetTasksLoadingImplCopyWithImpl<T, $Res>;
  }
  
  /// @nodoc
  class __$$GetTasksLoadingImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetTasksLoadingImpl<T>>
      implements _$$GetTasksLoadingImplCopyWith<T, $Res> {
    __$$GetTasksLoadingImplCopyWithImpl(_$GetTasksLoadingImpl<T> _value,
        $Res Function(_$GetTasksLoadingImpl<T>) _then)
        : super(_value, _then);
  }
  
  /// @nodoc
  
  class _$GetTasksLoadingImpl<T> implements GetTasksLoading<T> {
    const _$GetTasksLoadingImpl();
  
    @override
    String toString() {
      return 'HomeState<$T>.getTasksLoading()';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType && other is _$GetTasksLoadingImpl<T>);
    }
  
    @override
    int get hashCode => runtimeType.hashCode;
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getTasksLoading();
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getTasksLoading?.call();
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksLoading != null) {
        return getTasksLoading();
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getTasksLoading(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getTasksLoading?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksLoading != null) {
        return getTasksLoading(this);
      }
      return orElse();
    }
  }
  
  abstract class GetTasksLoading<T> implements HomeState<T> {
    const factory GetTasksLoading() = _$GetTasksLoadingImpl<T>;
  }
  
  /// @nodoc
  abstract class _$$GetTasksSuccessImplCopyWith<T, $Res> {
    factory _$$GetTasksSuccessImplCopyWith(_$GetTasksSuccessImpl<T> value,
            $Res Function(_$GetTasksSuccessImpl<T>) then) =
        __$$GetTasksSuccessImplCopyWithImpl<T, $Res>;
    @useResult
    $Res call({T data});
  }
  
  /// @nodoc
  class __$$GetTasksSuccessImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetTasksSuccessImpl<T>>
      implements _$$GetTasksSuccessImplCopyWith<T, $Res> {
    __$$GetTasksSuccessImplCopyWithImpl(_$GetTasksSuccessImpl<T> _value,
        $Res Function(_$GetTasksSuccessImpl<T>) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? data = freezed,
    }) {
      return _then(_$GetTasksSuccessImpl<T>(
        freezed == data
            ? _value.data
            : data // ignore: cast_nullable_to_non_nullable
                as T,
      ));
    }
  }
  
  /// @nodoc
  
  class _$GetTasksSuccessImpl<T> implements GetTasksSuccess<T> {
    const _$GetTasksSuccessImpl(this.data);
  
    @override
    final T data;
  
    @override
    String toString() {
      return 'HomeState<$T>.getTasksSuccess(data: $data)';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$GetTasksSuccessImpl<T> &&
              const DeepCollectionEquality().equals(other.data, data));
    }
  
    @override
    int get hashCode =>
        Object.hash(runtimeType, const DeepCollectionEquality().hash(data));
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$GetTasksSuccessImplCopyWith<T, _$GetTasksSuccessImpl<T>> get copyWith =>
        __$$GetTasksSuccessImplCopyWithImpl<T, _$GetTasksSuccessImpl<T>>(
            this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getTasksSuccess(data);
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getTasksSuccess?.call(data);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksSuccess != null) {
        return getTasksSuccess(data);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getTasksSuccess(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getTasksSuccess?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksSuccess != null) {
        return getTasksSuccess(this);
      }
      return orElse();
    }
  }
  
  abstract class GetTasksSuccess<T> implements HomeState<T> {
    const factory GetTasksSuccess(final T data) = _$GetTasksSuccessImpl<T>;
  
    T get data;
    @JsonKey(ignore: true)
    _$$GetTasksSuccessImplCopyWith<T, _$GetTasksSuccessImpl<T>> get copyWith =>
        throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class _$$GetTasksErrorImplCopyWith<T, $Res> {
    factory _$$GetTasksErrorImplCopyWith(_$GetTasksErrorImpl<T> value,
            $Res Function(_$GetTasksErrorImpl<T>) then) =
        __$$GetTasksErrorImplCopyWithImpl<T, $Res>;
    @useResult
    $Res call({String error});
  }
  
  /// @nodoc
  class __$$GetTasksErrorImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetTasksErrorImpl<T>>
      implements _$$GetTasksErrorImplCopyWith<T, $Res> {
    __$$GetTasksErrorImplCopyWithImpl(_$GetTasksErrorImpl<T> _value,
        $Res Function(_$GetTasksErrorImpl<T>) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? error = null,
    }) {
      return _then(_$GetTasksErrorImpl<T>(
        error: null == error
            ? _value.error
            : error // ignore: cast_nullable_to_non_nullable
                as String,
      ));
    }
  }
  
  /// @nodoc
  
  class _$GetTasksErrorImpl<T> implements GetTasksError<T> {
    const _$GetTasksErrorImpl({required this.error});
  
    @override
    final String error;
  
    @override
    String toString() {
      return 'HomeState<$T>.getTasksError(error: $error)';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$GetTasksErrorImpl<T> &&
              (identical(other.error, error) || other.error == error));
    }
  
    @override
    int get hashCode => Object.hash(runtimeType, error);
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$GetTasksErrorImplCopyWith<T, _$GetTasksErrorImpl<T>> get copyWith =>
        __$$GetTasksErrorImplCopyWithImpl<T, _$GetTasksErrorImpl<T>>(
            this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getTasksError(error);
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getTasksError?.call(error);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksError != null) {
        return getTasksError(error);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getTasksError(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getTasksError?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getTasksError != null) {
        return getTasksError(this);
      }
      return orElse();
    }
  }
  
  abstract class GetTasksError<T> implements HomeState<T> {
    const factory GetTasksError({required final String error}) =
        _$GetTasksErrorImpl<T>;
  
    String get error;
    @JsonKey(ignore: true)
    _$$GetTasksErrorImplCopyWith<T, _$GetTasksErrorImpl<T>> get copyWith =>
        throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class _$$GetMoreTasksLoadingImplCopyWith<T, $Res> {
    factory _$$GetMoreTasksLoadingImplCopyWith(_$GetMoreTasksLoadingImpl<T> value,
            $Res Function(_$GetMoreTasksLoadingImpl<T>) then) =
        __$$GetMoreTasksLoadingImplCopyWithImpl<T, $Res>;
  }
  
  /// @nodoc
  class __$$GetMoreTasksLoadingImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetMoreTasksLoadingImpl<T>>
      implements _$$GetMoreTasksLoadingImplCopyWith<T, $Res> {
    __$$GetMoreTasksLoadingImplCopyWithImpl(_$GetMoreTasksLoadingImpl<T> _value,
        $Res Function(_$GetMoreTasksLoadingImpl<T>) _then)
        : super(_value, _then);
  }
  
  /// @nodoc
  
  class _$GetMoreTasksLoadingImpl<T> implements GetMoreTasksLoading<T> {
    const _$GetMoreTasksLoadingImpl();
  
    @override
    String toString() {
      return 'HomeState<$T>.getMoreTasksLoading()';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$GetMoreTasksLoadingImpl<T>);
    }
  
    @override
    int get hashCode => runtimeType.hashCode;
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getMoreTasksLoading();
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getMoreTasksLoading?.call();
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksLoading != null) {
        return getMoreTasksLoading();
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getMoreTasksLoading(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getMoreTasksLoading?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksLoading != null) {
        return getMoreTasksLoading(this);
      }
      return orElse();
    }
  }
  
  abstract class GetMoreTasksLoading<T> implements HomeState<T> {
    const factory GetMoreTasksLoading() = _$GetMoreTasksLoadingImpl<T>;
  }
  
  /// @nodoc
  abstract class _$$GetMoreTasksSuccessImplCopyWith<T, $Res> {
    factory _$$GetMoreTasksSuccessImplCopyWith(_$GetMoreTasksSuccessImpl<T> value,
            $Res Function(_$GetMoreTasksSuccessImpl<T>) then) =
        __$$GetMoreTasksSuccessImplCopyWithImpl<T, $Res>;
    @useResult
    $Res call({T data});
  }
  
  /// @nodoc
  class __$$GetMoreTasksSuccessImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetMoreTasksSuccessImpl<T>>
      implements _$$GetMoreTasksSuccessImplCopyWith<T, $Res> {
    __$$GetMoreTasksSuccessImplCopyWithImpl(_$GetMoreTasksSuccessImpl<T> _value,
        $Res Function(_$GetMoreTasksSuccessImpl<T>) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? data = freezed,
    }) {
      return _then(_$GetMoreTasksSuccessImpl<T>(
        freezed == data
            ? _value.data
            : data // ignore: cast_nullable_to_non_nullable
                as T,
      ));
    }
  }
  
  /// @nodoc
  
  class _$GetMoreTasksSuccessImpl<T> implements GetMoreTasksSuccess<T> {
    const _$GetMoreTasksSuccessImpl(this.data);
  
    @override
    final T data;
  
    @override
    String toString() {
      return 'HomeState<$T>.getMoreTasksSuccess(data: $data)';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$GetMoreTasksSuccessImpl<T> &&
              const DeepCollectionEquality().equals(other.data, data));
    }
  
    @override
    int get hashCode =>
        Object.hash(runtimeType, const DeepCollectionEquality().hash(data));
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$GetMoreTasksSuccessImplCopyWith<T, _$GetMoreTasksSuccessImpl<T>>
        get copyWith => __$$GetMoreTasksSuccessImplCopyWithImpl<T,
            _$GetMoreTasksSuccessImpl<T>>(this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getMoreTasksSuccess(data);
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getMoreTasksSuccess?.call(data);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksSuccess != null) {
        return getMoreTasksSuccess(data);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getMoreTasksSuccess(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getMoreTasksSuccess?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksSuccess != null) {
        return getMoreTasksSuccess(this);
      }
      return orElse();
    }
  }
  
  abstract class GetMoreTasksSuccess<T> implements HomeState<T> {
    const factory GetMoreTasksSuccess(final T data) =
        _$GetMoreTasksSuccessImpl<T>;
  
    T get data;
    @JsonKey(ignore: true)
    _$$GetMoreTasksSuccessImplCopyWith<T, _$GetMoreTasksSuccessImpl<T>>
        get copyWith => throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class _$$GetMoreTasksErrorImplCopyWith<T, $Res> {
    factory _$$GetMoreTasksErrorImplCopyWith(_$GetMoreTasksErrorImpl<T> value,
            $Res Function(_$GetMoreTasksErrorImpl<T>) then) =
        __$$GetMoreTasksErrorImplCopyWithImpl<T, $Res>;
    @useResult
    $Res call({String error});
  }
  
  /// @nodoc
  class __$$GetMoreTasksErrorImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$GetMoreTasksErrorImpl<T>>
      implements _$$GetMoreTasksErrorImplCopyWith<T, $Res> {
    __$$GetMoreTasksErrorImplCopyWithImpl(_$GetMoreTasksErrorImpl<T> _value,
        $Res Function(_$GetMoreTasksErrorImpl<T>) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? error = null,
    }) {
      return _then(_$GetMoreTasksErrorImpl<T>(
        error: null == error
            ? _value.error
            : error // ignore: cast_nullable_to_non_nullable
                as String,
      ));
    }
  }
  
  /// @nodoc
  
  class _$GetMoreTasksErrorImpl<T> implements GetMoreTasksError<T> {
    const _$GetMoreTasksErrorImpl({required this.error});
  
    @override
    final String error;
  
    @override
    String toString() {
      return 'HomeState<$T>.getMoreTasksError(error: $error)';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$GetMoreTasksErrorImpl<T> &&
              (identical(other.error, error) || other.error == error));
    }
  
    @override
    int get hashCode => Object.hash(runtimeType, error);
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$GetMoreTasksErrorImplCopyWith<T, _$GetMoreTasksErrorImpl<T>>
        get copyWith =>
            __$$GetMoreTasksErrorImplCopyWithImpl<T, _$GetMoreTasksErrorImpl<T>>(
                this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return getMoreTasksError(error);
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return getMoreTasksError?.call(error);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksError != null) {
        return getMoreTasksError(error);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return getMoreTasksError(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return getMoreTasksError?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (getMoreTasksError != null) {
        return getMoreTasksError(this);
      }
      return orElse();
    }
  }
  
  abstract class GetMoreTasksError<T> implements HomeState<T> {
    const factory GetMoreTasksError({required final String error}) =
        _$GetMoreTasksErrorImpl<T>;
  
    String get error;
    @JsonKey(ignore: true)
    _$$GetMoreTasksErrorImplCopyWith<T, _$GetMoreTasksErrorImpl<T>>
        get copyWith => throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class _$$ChangeStatusCategoryImplCopyWith<T, $Res> {
    factory _$$ChangeStatusCategoryImplCopyWith(
            _$ChangeStatusCategoryImpl<T> value,
            $Res Function(_$ChangeStatusCategoryImpl<T>) then) =
        __$$ChangeStatusCategoryImplCopyWithImpl<T, $Res>;
    @useResult
    $Res call({String category, List<TodoResponse> filteredItems});
  }
  
  /// @nodoc
  class __$$ChangeStatusCategoryImplCopyWithImpl<T, $Res>
      extends _$HomeStateCopyWithImpl<T, $Res, _$ChangeStatusCategoryImpl<T>>
      implements _$$ChangeStatusCategoryImplCopyWith<T, $Res> {
    __$$ChangeStatusCategoryImplCopyWithImpl(_$ChangeStatusCategoryImpl<T> _value,
        $Res Function(_$ChangeStatusCategoryImpl<T>) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? category = null,
      Object? filteredItems = null,
    }) {
      return _then(_$ChangeStatusCategoryImpl<T>(
        category: null == category
            ? _value.category
            : category // ignore: cast_nullable_to_non_nullable
                as String,
        filteredItems: null == filteredItems
            ? _value._filteredItems
            : filteredItems // ignore: cast_nullable_to_non_nullable
                as List<TodoResponse>,
      ));
    }
  }
  
  /// @nodoc
  
  class _$ChangeStatusCategoryImpl<T> implements ChangeStatusCategory<T> {
    const _$ChangeStatusCategoryImpl(
        {required this.category, required final List<TodoResponse> filteredItems})
        : _filteredItems = filteredItems;
  
    @override
    final String category;
    final List<TodoResponse> _filteredItems;
    @override
    List<TodoResponse> get filteredItems {
      if (_filteredItems is EqualUnmodifiableListView) return _filteredItems;
      // ignore: implicit_dynamic_type
      return EqualUnmodifiableListView(_filteredItems);
    }
  
    @override
    String toString() {
      return 'HomeState<$T>.changeStatusCategory(category: $category, filteredItems: $filteredItems)';
    }
  
    @override
    bool operator ==(Object other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$ChangeStatusCategoryImpl<T> &&
              (identical(other.category, category) ||
                  other.category == category) &&
              const DeepCollectionEquality()
                  .equals(other._filteredItems, _filteredItems));
    }
  
    @override
    int get hashCode => Object.hash(runtimeType, category,
        const DeepCollectionEquality().hash(_filteredItems));
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$ChangeStatusCategoryImplCopyWith<T, _$ChangeStatusCategoryImpl<T>>
        get copyWith => __$$ChangeStatusCategoryImplCopyWithImpl<T,
            _$ChangeStatusCategoryImpl<T>>(this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() initial,
      required TResult Function() getTasksLoading,
      required TResult Function(T data) getTasksSuccess,
      required TResult Function(String error) getTasksError,
      required TResult Function() getMoreTasksLoading,
      required TResult Function(T data) getMoreTasksSuccess,
      required TResult Function(String error) getMoreTasksError,
      required TResult Function(String category, List<TodoResponse> filteredItems)
          changeStatusCategory,
    }) {
      return changeStatusCategory(category, filteredItems);
    }
  
    @override
    @optionalTypeArgs
    TResult? whenOrNull<TResult extends Object?>({
      TResult? Function()? initial,
      TResult? Function()? getTasksLoading,
      TResult? Function(T data)? getTasksSuccess,
      TResult? Function(String error)? getTasksError,
      TResult? Function()? getMoreTasksLoading,
      TResult? Function(T data)? getMoreTasksSuccess,
      TResult? Function(String error)? getMoreTasksError,
      TResult? Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
    }) {
      return changeStatusCategory?.call(category, filteredItems);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? initial,
      TResult Function()? getTasksLoading,
      TResult Function(T data)? getTasksSuccess,
      TResult Function(String error)? getTasksError,
      TResult Function()? getMoreTasksLoading,
      TResult Function(T data)? getMoreTasksSuccess,
      TResult Function(String error)? getMoreTasksError,
      TResult Function(String category, List<TodoResponse> filteredItems)?
          changeStatusCategory,
      required TResult orElse(),
    }) {
      if (changeStatusCategory != null) {
        return changeStatusCategory(category, filteredItems);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Initial<T> value) initial,
      required TResult Function(GetTasksLoading<T> value) getTasksLoading,
      required TResult Function(GetTasksSuccess<T> value) getTasksSuccess,
      required TResult Function(GetTasksError<T> value) getTasksError,
      required TResult Function(GetMoreTasksLoading<T> value) getMoreTasksLoading,
      required TResult Function(GetMoreTasksSuccess<T> value) getMoreTasksSuccess,
      required TResult Function(GetMoreTasksError<T> value) getMoreTasksError,
      required TResult Function(ChangeStatusCategory<T> value)
          changeStatusCategory,
    }) {
      return changeStatusCategory(this);
    }
  
    @override
    @optionalTypeArgs
    TResult? mapOrNull<TResult extends Object?>({
      TResult? Function(_Initial<T> value)? initial,
      TResult? Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult? Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult? Function(GetTasksError<T> value)? getTasksError,
      TResult? Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult? Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult? Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult? Function(ChangeStatusCategory<T> value)? changeStatusCategory,
    }) {
      return changeStatusCategory?.call(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Initial<T> value)? initial,
      TResult Function(GetTasksLoading<T> value)? getTasksLoading,
      TResult Function(GetTasksSuccess<T> value)? getTasksSuccess,
      TResult Function(GetTasksError<T> value)? getTasksError,
      TResult Function(GetMoreTasksLoading<T> value)? getMoreTasksLoading,
      TResult Function(GetMoreTasksSuccess<T> value)? getMoreTasksSuccess,
      TResult Function(GetMoreTasksError<T> value)? getMoreTasksError,
      TResult Function(ChangeStatusCategory<T> value)? changeStatusCategory,
      required TResult orElse(),
    }) {
      if (changeStatusCategory != null) {
        return changeStatusCategory(this);
      }
      return orElse();
    }
  }
  
  abstract class ChangeStatusCategory<T> implements HomeState<T> {
    const factory ChangeStatusCategory(
            {required final String category,
            required final List<TodoResponse> filteredItems}) =
        _$ChangeStatusCategoryImpl<T>;
  
    String get category;
    List<TodoResponse> get filteredItems;
    @JsonKey(ignore: true)
    _$$ChangeStatusCategoryImplCopyWith<T, _$ChangeStatusCategoryImpl<T>>
        get copyWith => throw _privateConstructorUsedError;
  }
  