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 'recipe.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#custom-getters-and-methods');
  
  Recipe _$RecipeFromJson(Map<String, dynamic> json) {
    return _Recipe.fromJson(json);
  }
  
  /// @nodoc
  mixin _$Recipe {
    int? get id => throw _privateConstructorUsedError;
    String? get label => throw _privateConstructorUsedError;
    String? get image => throw _privateConstructorUsedError;
    String? get description => throw _privateConstructorUsedError;
    bool get bookmarked => throw _privateConstructorUsedError;
    List<Ingredient> get ingredients => throw _privateConstructorUsedError;
  
    Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
    @JsonKey(ignore: true)
    $RecipeCopyWith<Recipe> get copyWith => throw _privateConstructorUsedError;
  }
  
  /// @nodoc
  abstract class $RecipeCopyWith<$Res> {
    factory $RecipeCopyWith(Recipe value, $Res Function(Recipe) then) =
        _$RecipeCopyWithImpl<$Res, Recipe>;
    @useResult
    $Res call(
        {int? id,
        String? label,
        String? image,
        String? description,
        bool bookmarked,
        List<Ingredient> ingredients});
  }
  
  /// @nodoc
  class _$RecipeCopyWithImpl<$Res, $Val extends Recipe>
      implements $RecipeCopyWith<$Res> {
    _$RecipeCopyWithImpl(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? id = freezed,
      Object? label = freezed,
      Object? image = freezed,
      Object? description = freezed,
      Object? bookmarked = null,
      Object? ingredients = null,
    }) {
      return _then(_value.copyWith(
        id: freezed == id
            ? _value.id
            : id // ignore: cast_nullable_to_non_nullable
                as int?,
        label: freezed == label
            ? _value.label
            : label // ignore: cast_nullable_to_non_nullable
                as String?,
        image: freezed == image
            ? _value.image
            : image // ignore: cast_nullable_to_non_nullable
                as String?,
        description: freezed == description
            ? _value.description
            : description // ignore: cast_nullable_to_non_nullable
                as String?,
        bookmarked: null == bookmarked
            ? _value.bookmarked
            : bookmarked // ignore: cast_nullable_to_non_nullable
                as bool,
        ingredients: null == ingredients
            ? _value.ingredients
            : ingredients // ignore: cast_nullable_to_non_nullable
                as List<Ingredient>,
      ) as $Val);
    }
  }
  
  /// @nodoc
  abstract class _$$RecipeImplCopyWith<$Res> implements $RecipeCopyWith<$Res> {
    factory _$$RecipeImplCopyWith(
            _$RecipeImpl value, $Res Function(_$RecipeImpl) then) =
        __$$RecipeImplCopyWithImpl<$Res>;
    @override
    @useResult
    $Res call(
        {int? id,
        String? label,
        String? image,
        String? description,
        bool bookmarked,
        List<Ingredient> ingredients});
  }
  
  /// @nodoc
  class __$$RecipeImplCopyWithImpl<$Res>
      extends _$RecipeCopyWithImpl<$Res, _$RecipeImpl>
      implements _$$RecipeImplCopyWith<$Res> {
    __$$RecipeImplCopyWithImpl(
        _$RecipeImpl _value, $Res Function(_$RecipeImpl) _then)
        : super(_value, _then);
  
    @pragma('vm:prefer-inline')
    @override
    $Res call({
      Object? id = freezed,
      Object? label = freezed,
      Object? image = freezed,
      Object? description = freezed,
      Object? bookmarked = null,
      Object? ingredients = null,
    }) {
      return _then(_$RecipeImpl(
        id: freezed == id
            ? _value.id
            : id // ignore: cast_nullable_to_non_nullable
                as int?,
        label: freezed == label
            ? _value.label
            : label // ignore: cast_nullable_to_non_nullable
                as String?,
        image: freezed == image
            ? _value.image
            : image // ignore: cast_nullable_to_non_nullable
                as String?,
        description: freezed == description
            ? _value.description
            : description // ignore: cast_nullable_to_non_nullable
                as String?,
        bookmarked: null == bookmarked
            ? _value.bookmarked
            : bookmarked // ignore: cast_nullable_to_non_nullable
                as bool,
        ingredients: null == ingredients
            ? _value._ingredients
            : ingredients // ignore: cast_nullable_to_non_nullable
                as List<Ingredient>,
      ));
    }
  }
  
  /// @nodoc
  @JsonSerializable()
  class _$RecipeImpl implements _Recipe {
    const _$RecipeImpl(
        {this.id,
        this.label,
        this.image,
        this.description,
        this.bookmarked = false,
        final List<Ingredient> ingredients = const <Ingredient>[]})
        : _ingredients = ingredients;
  
    factory _$RecipeImpl.fromJson(Map<String, dynamic> json) =>
        _$$RecipeImplFromJson(json);
  
    @override
    final int? id;
    @override
    final String? label;
    @override
    final String? image;
    @override
    final String? description;
    @override
    @JsonKey()
    final bool bookmarked;
    final List<Ingredient> _ingredients;
    @override
    @JsonKey()
    List<Ingredient> get ingredients {
      if (_ingredients is EqualUnmodifiableListView) return _ingredients;
      // ignore: implicit_dynamic_type
      return EqualUnmodifiableListView(_ingredients);
    }
  
    @override
    String toString() {
      return 'Recipe(id: $id, label: $label, image: $image, description: $description, bookmarked: $bookmarked, ingredients: $ingredients)';
    }
  
    @override
    bool operator ==(dynamic other) {
      return identical(this, other) ||
          (other.runtimeType == runtimeType &&
              other is _$RecipeImpl &&
              (identical(other.id, id) || other.id == id) &&
              (identical(other.label, label) || other.label == label) &&
              (identical(other.image, image) || other.image == image) &&
              (identical(other.description, description) ||
                  other.description == description) &&
              (identical(other.bookmarked, bookmarked) ||
                  other.bookmarked == bookmarked) &&
              const DeepCollectionEquality()
                  .equals(other._ingredients, _ingredients));
    }
  
    @JsonKey(ignore: true)
    @override
    int get hashCode => Object.hash(runtimeType, id, label, image, description,
        bookmarked, const DeepCollectionEquality().hash(_ingredients));
  
    @JsonKey(ignore: true)
    @override
    @pragma('vm:prefer-inline')
    _$$RecipeImplCopyWith<_$RecipeImpl> get copyWith =>
        __$$RecipeImplCopyWithImpl<_$RecipeImpl>(this, _$identity);
  
    @override
    Map<String, dynamic> toJson() {
      return _$$RecipeImplToJson(
        this,
      );
    }
  }
  
  abstract class _Recipe implements Recipe {
    const factory _Recipe(
        {final int? id,
        final String? label,
        final String? image,
        final String? description,
        final bool bookmarked,
        final List<Ingredient> ingredients}) = _$RecipeImpl;
  
    factory _Recipe.fromJson(Map<String, dynamic> json) = _$RecipeImpl.fromJson;
  
    @override
    int? get id;
    @override
    String? get label;
    @override
    String? get image;
    @override
    String? get description;
    @override
    bool get bookmarked;
    @override
    List<Ingredient> get ingredients;
    @override
    @JsonKey(ignore: true)
    _$$RecipeImplCopyWith<_$RecipeImpl> get copyWith =>
        throw _privateConstructorUsedError;
  }
  