// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'test_question_state.dart';

// **************************************************************************
// CopyWithGenerator
// **************************************************************************

abstract class _$TestQuestionStateCWProxy {
  TestQuestionState testType(TestQuestionType testType);

  TestQuestionState word(String word);

  TestQuestionState isAnswered(bool isAnswered);

  TestQuestionState isSkipped(bool isSkipped);

  /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `TestQuestionState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
  ///
  /// Usage
  /// ```dart
  /// TestQuestionState(...).copyWith(id: 12, name: "My name")
  /// ````
  TestQuestionState call({
    TestQuestionType? testType,
    String? word,
    bool? isAnswered,
    bool? isSkipped,
  });
}

/// Proxy class for `copyWith` functionality. This is a callable class and can be used as follows: `instanceOfTestQuestionState.copyWith(...)`. Additionally contains functions for specific fields e.g. `instanceOfTestQuestionState.copyWith.fieldName(...)`
class _$TestQuestionStateCWProxyImpl implements _$TestQuestionStateCWProxy {
  const _$TestQuestionStateCWProxyImpl(this._value);

  final TestQuestionState _value;

  @override
  TestQuestionState testType(TestQuestionType testType) =>
      this(testType: testType);

  @override
  TestQuestionState word(String word) => this(word: word);

  @override
  TestQuestionState isAnswered(bool isAnswered) => this(isAnswered: isAnswered);

  @override
  TestQuestionState isSkipped(bool isSkipped) => this(isSkipped: isSkipped);

  @override

  /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `TestQuestionState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
  ///
  /// Usage
  /// ```dart
  /// TestQuestionState(...).copyWith(id: 12, name: "My name")
  /// ````
  TestQuestionState call({
    Object? testType = const $CopyWithPlaceholder(),
    Object? word = const $CopyWithPlaceholder(),
    Object? isAnswered = const $CopyWithPlaceholder(),
    Object? isSkipped = const $CopyWithPlaceholder(),
  }) {
    return TestQuestionState(
      testType: testType == const $CopyWithPlaceholder() || testType == null
          ? _value.testType
          // ignore: cast_nullable_to_non_nullable
          : testType as TestQuestionType,
      word: word == const $CopyWithPlaceholder() || word == null
          ? _value.word
          // ignore: cast_nullable_to_non_nullable
          : word as String,
      isAnswered:
          isAnswered == const $CopyWithPlaceholder() || isAnswered == null
              ? _value.isAnswered
              // ignore: cast_nullable_to_non_nullable
              : isAnswered as bool,
      isSkipped: isSkipped == const $CopyWithPlaceholder() || isSkipped == null
          ? _value.isSkipped
          // ignore: cast_nullable_to_non_nullable
          : isSkipped as bool,
    );
  }
}

extension $TestQuestionStateCopyWith on TestQuestionState {
  /// Returns a callable class that can be used as follows: `instanceOfTestQuestionState.copyWith(...)` or like so:`instanceOfTestQuestionState.copyWith.fieldName(...)`.
  // ignore: library_private_types_in_public_api
  _$TestQuestionStateCWProxy get copyWith =>
      _$TestQuestionStateCWProxyImpl(this);
}
