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 'home.vm.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');
  
  /// @nodoc
  class _$HomeStateTearOff {
    const _$HomeStateTearOff();
  
    _Loading loading() {
      return const _Loading();
    }
  
    _Data data(
        {List<FoodItem> pizza = const [],
        List<FoodItem> burger = const [],
        List<FoodItem> dessert = const [],
        List<FoodItem> popularToday = const []}) {
      return _Data(
        pizza: pizza,
        burger: burger,
        dessert: dessert,
        popularToday: popularToday,
      );
    }
  
    _Error error(String? error) {
      return _Error(
        error,
      );
    }
  }
  
  /// @nodoc
  const $HomeState = _$HomeStateTearOff();
  
  /// @nodoc
  mixin _$HomeState {
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() loading,
      required TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)
          data,
      required TResult Function(String? error) error,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? loading,
      TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)?
          data,
      TResult Function(String? error)? error,
      required TResult orElse(),
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Loading value) loading,
      required TResult Function(_Data value) data,
      required TResult Function(_Error value) error,
    }) =>
        throw _privateConstructorUsedError;
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Loading value)? loading,
      TResult Function(_Data value)? data,
      TResult Function(_Error value)? error,
      required TResult orElse(),
    }) =>
        throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class $HomeStateCopyWith<$Res> {
    factory $HomeStateCopyWith(HomeState value, $Res Function(HomeState) then) =
        _$HomeStateCopyWithImpl<$Res>;
  }
  
  /// @nodoc
  class _$HomeStateCopyWithImpl<$Res> implements $HomeStateCopyWith<$Res> {
    _$HomeStateCopyWithImpl(this._value, this._then);
  
    final HomeState _value;
    // ignore: unused_field
    final $Res Function(HomeState) _then;
  }
  
  /// @nodoc
  abstract class _$LoadingCopyWith<$Res> {
    factory _$LoadingCopyWith(_Loading value, $Res Function(_Loading) then) =
        __$LoadingCopyWithImpl<$Res>;
  }
  
  /// @nodoc
  class __$LoadingCopyWithImpl<$Res> extends _$HomeStateCopyWithImpl<$Res>
      implements _$LoadingCopyWith<$Res> {
    __$LoadingCopyWithImpl(_Loading _value, $Res Function(_Loading) _then)
        : super(_value, (v) => _then(v as _Loading));
  
    @override
    _Loading get _value => super._value as _Loading;
  }
  
  /// @nodoc
  
  class _$_Loading implements _Loading {
    const _$_Loading();
  
    @override
    String toString() {
      return 'HomeState.loading()';
    }
  
    @override
    bool operator ==(dynamic other) {
      return identical(this, other) || (other is _Loading);
    }
  
    @override
    int get hashCode => runtimeType.hashCode;
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() loading,
      required TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)
          data,
      required TResult Function(String? error) error,
    }) {
      return loading();
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? loading,
      TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)?
          data,
      TResult Function(String? error)? error,
      required TResult orElse(),
    }) {
      if (loading != null) {
        return loading();
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Loading value) loading,
      required TResult Function(_Data value) data,
      required TResult Function(_Error value) error,
    }) {
      return loading(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Loading value)? loading,
      TResult Function(_Data value)? data,
      TResult Function(_Error value)? error,
      required TResult orElse(),
    }) {
      if (loading != null) {
        return loading(this);
      }
      return orElse();
    }
  }
  
  abstract class _Loading implements HomeState {
    const factory _Loading() = _$_Loading;
  }
  
  /// @nodoc
  abstract class _$DataCopyWith<$Res> {
    factory _$DataCopyWith(_Data value, $Res Function(_Data) then) =
        __$DataCopyWithImpl<$Res>;
    $Res call(
        {List<FoodItem> pizza,
        List<FoodItem> burger,
        List<FoodItem> dessert,
        List<FoodItem> popularToday});
  }
  
  /// @nodoc
  class __$DataCopyWithImpl<$Res> extends _$HomeStateCopyWithImpl<$Res>
      implements _$DataCopyWith<$Res> {
    __$DataCopyWithImpl(_Data _value, $Res Function(_Data) _then)
        : super(_value, (v) => _then(v as _Data));
  
    @override
    _Data get _value => super._value as _Data;
  
    @override
    $Res call({
      Object? pizza = freezed,
      Object? burger = freezed,
      Object? dessert = freezed,
      Object? popularToday = freezed,
    }) {
      return _then(_Data(
        pizza: pizza == freezed
            ? _value.pizza
            : pizza // ignore: cast_nullable_to_non_nullable
                as List<FoodItem>,
        burger: burger == freezed
            ? _value.burger
            : burger // ignore: cast_nullable_to_non_nullable
                as List<FoodItem>,
        dessert: dessert == freezed
            ? _value.dessert
            : dessert // ignore: cast_nullable_to_non_nullable
                as List<FoodItem>,
        popularToday: popularToday == freezed
            ? _value.popularToday
            : popularToday // ignore: cast_nullable_to_non_nullable
                as List<FoodItem>,
      ));
    }
  }
  
  /// @nodoc
  
  class _$_Data implements _Data {
    const _$_Data(
        {this.pizza = const [],
        this.burger = const [],
        this.dessert = const [],
        this.popularToday = const []});
  
    @JsonKey(defaultValue: const [])
    @override
    final List<FoodItem> pizza;
    @JsonKey(defaultValue: const [])
    @override
    final List<FoodItem> burger;
    @JsonKey(defaultValue: const [])
    @override
    final List<FoodItem> dessert;
    @JsonKey(defaultValue: const [])
    @override
    final List<FoodItem> popularToday;
  
    @override
    String toString() {
      return 'HomeState.data(pizza: $pizza, burger: $burger, dessert: $dessert, popularToday: $popularToday)';
    }
  
    @override
    bool operator ==(dynamic other) {
      return identical(this, other) ||
          (other is _Data &&
              (identical(other.pizza, pizza) ||
                  const DeepCollectionEquality().equals(other.pizza, pizza)) &&
              (identical(other.burger, burger) ||
                  const DeepCollectionEquality().equals(other.burger, burger)) &&
              (identical(other.dessert, dessert) ||
                  const DeepCollectionEquality()
                      .equals(other.dessert, dessert)) &&
              (identical(other.popularToday, popularToday) ||
                  const DeepCollectionEquality()
                      .equals(other.popularToday, popularToday)));
    }
  
    @override
    int get hashCode =>
        runtimeType.hashCode ^
        const DeepCollectionEquality().hash(pizza) ^
        const DeepCollectionEquality().hash(burger) ^
        const DeepCollectionEquality().hash(dessert) ^
        const DeepCollectionEquality().hash(popularToday);
  
    @JsonKey(ignore: true)
    @override
    _$DataCopyWith<_Data> get copyWith =>
        __$DataCopyWithImpl<_Data>(this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() loading,
      required TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)
          data,
      required TResult Function(String? error) error,
    }) {
      return data(pizza, burger, dessert, popularToday);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? loading,
      TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)?
          data,
      TResult Function(String? error)? error,
      required TResult orElse(),
    }) {
      if (data != null) {
        return data(pizza, burger, dessert, popularToday);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Loading value) loading,
      required TResult Function(_Data value) data,
      required TResult Function(_Error value) error,
    }) {
      return data(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Loading value)? loading,
      TResult Function(_Data value)? data,
      TResult Function(_Error value)? error,
      required TResult orElse(),
    }) {
      if (data != null) {
        return data(this);
      }
      return orElse();
    }
  }
  
  abstract class _Data implements HomeState {
    const factory _Data(
        {List<FoodItem> pizza,
        List<FoodItem> burger,
        List<FoodItem> dessert,
        List<FoodItem> popularToday}) = _$_Data;
  
    List<FoodItem> get pizza => throw _privateConstructorUsedError;
    List<FoodItem> get burger => throw _privateConstructorUsedError;
    List<FoodItem> get dessert => throw _privateConstructorUsedError;
    List<FoodItem> get popularToday => throw _privateConstructorUsedError;
    @JsonKey(ignore: true)
    _$DataCopyWith<_Data> get copyWith => throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class _$ErrorCopyWith<$Res> {
    factory _$ErrorCopyWith(_Error value, $Res Function(_Error) then) =
        __$ErrorCopyWithImpl<$Res>;
    $Res call({String? error});
  }
  
  /// @nodoc
  class __$ErrorCopyWithImpl<$Res> extends _$HomeStateCopyWithImpl<$Res>
      implements _$ErrorCopyWith<$Res> {
    __$ErrorCopyWithImpl(_Error _value, $Res Function(_Error) _then)
        : super(_value, (v) => _then(v as _Error));
  
    @override
    _Error get _value => super._value as _Error;
  
    @override
    $Res call({
      Object? error = freezed,
    }) {
      return _then(_Error(
        error == freezed
            ? _value.error
            : error // ignore: cast_nullable_to_non_nullable
                as String?,
      ));
    }
  }
  
  /// @nodoc
  
  class _$_Error implements _Error {
    const _$_Error(this.error);
  
    @override
    final String? error;
  
    @override
    String toString() {
      return 'HomeState.error(error: $error)';
    }
  
    @override
    bool operator ==(dynamic other) {
      return identical(this, other) ||
          (other is _Error &&
              (identical(other.error, error) ||
                  const DeepCollectionEquality().equals(other.error, error)));
    }
  
    @override
    int get hashCode =>
        runtimeType.hashCode ^ const DeepCollectionEquality().hash(error);
  
    @JsonKey(ignore: true)
    @override
    _$ErrorCopyWith<_Error> get copyWith =>
        __$ErrorCopyWithImpl<_Error>(this, _$identity);
  
    @override
    @optionalTypeArgs
    TResult when<TResult extends Object?>({
      required TResult Function() loading,
      required TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)
          data,
      required TResult Function(String? error) error,
    }) {
      return error(this.error);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeWhen<TResult extends Object?>({
      TResult Function()? loading,
      TResult Function(List<FoodItem> pizza, List<FoodItem> burger,
              List<FoodItem> dessert, List<FoodItem> popularToday)?
          data,
      TResult Function(String? error)? error,
      required TResult orElse(),
    }) {
      if (error != null) {
        return error(this.error);
      }
      return orElse();
    }
  
    @override
    @optionalTypeArgs
    TResult map<TResult extends Object?>({
      required TResult Function(_Loading value) loading,
      required TResult Function(_Data value) data,
      required TResult Function(_Error value) error,
    }) {
      return error(this);
    }
  
    @override
    @optionalTypeArgs
    TResult maybeMap<TResult extends Object?>({
      TResult Function(_Loading value)? loading,
      TResult Function(_Data value)? data,
      TResult Function(_Error value)? error,
      required TResult orElse(),
    }) {
      if (error != null) {
        return error(this);
      }
      return orElse();
    }
  }
  
  abstract class _Error implements HomeState {
    const factory _Error(String? error) = _$_Error;
  
    String? get error => throw _privateConstructorUsedError;
    @JsonKey(ignore: true)
    _$ErrorCopyWith<_Error> get copyWith => throw _privateConstructorUsedError;
  }
  