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

Settings _$SettingsFromJson(Map<String, dynamic> json) {
  return _Settings.fromJson(json);
}

/// @nodoc
mixin _$Settings {
  ColorSchemeSettings get colorScheme => throw _privateConstructorUsedError;

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

/// @nodoc
abstract class $SettingsCopyWith<$Res> {
  factory $SettingsCopyWith(Settings value, $Res Function(Settings) then) =
      _$SettingsCopyWithImpl<$Res, Settings>;
  @useResult
  $Res call({ColorSchemeSettings colorScheme});
}

/// @nodoc
class _$SettingsCopyWithImpl<$Res, $Val extends Settings>
    implements $SettingsCopyWith<$Res> {
  _$SettingsCopyWithImpl(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? colorScheme = null}) {
    return _then(
      _value.copyWith(
            colorScheme:
                null == colorScheme
                    ? _value.colorScheme
                    : colorScheme // ignore: cast_nullable_to_non_nullable
                        as ColorSchemeSettings,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$SettingsImplCopyWith<$Res>
    implements $SettingsCopyWith<$Res> {
  factory _$$SettingsImplCopyWith(
    _$SettingsImpl value,
    $Res Function(_$SettingsImpl) then,
  ) = __$$SettingsImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({ColorSchemeSettings colorScheme});
}

/// @nodoc
class __$$SettingsImplCopyWithImpl<$Res>
    extends _$SettingsCopyWithImpl<$Res, _$SettingsImpl>
    implements _$$SettingsImplCopyWith<$Res> {
  __$$SettingsImplCopyWithImpl(
    _$SettingsImpl _value,
    $Res Function(_$SettingsImpl) _then,
  ) : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? colorScheme = null}) {
    return _then(
      _$SettingsImpl(
        colorScheme:
            null == colorScheme
                ? _value.colorScheme
                : colorScheme // ignore: cast_nullable_to_non_nullable
                    as ColorSchemeSettings,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$SettingsImpl implements _Settings {
  const _$SettingsImpl({this.colorScheme = ColorSchemeSettings.system});

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

  @override
  @JsonKey()
  final ColorSchemeSettings colorScheme;

  @override
  String toString() {
    return 'Settings(colorScheme: $colorScheme)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SettingsImpl &&
            (identical(other.colorScheme, colorScheme) ||
                other.colorScheme == colorScheme));
  }

  @JsonKey(ignore: true)
  @override
  int get hashCode => Object.hash(runtimeType, colorScheme);

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

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

abstract class _Settings implements Settings {
  const factory _Settings({final ColorSchemeSettings colorScheme}) =
      _$SettingsImpl;

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

  @override
  ColorSchemeSettings get colorScheme;
  @override
  @JsonKey(ignore: true)
  _$$SettingsImplCopyWith<_$SettingsImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
mixin _$SettingsWrapper {
  Settings get settings => throw _privateConstructorUsedError;

  @JsonKey(ignore: true)
  $SettingsWrapperCopyWith<SettingsWrapper> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $SettingsWrapperCopyWith<$Res> {
  factory $SettingsWrapperCopyWith(
    SettingsWrapper value,
    $Res Function(SettingsWrapper) then,
  ) = _$SettingsWrapperCopyWithImpl<$Res, SettingsWrapper>;
  @useResult
  $Res call({Settings settings});

  $SettingsCopyWith<$Res> get settings;
}

/// @nodoc
class _$SettingsWrapperCopyWithImpl<$Res, $Val extends SettingsWrapper>
    implements $SettingsWrapperCopyWith<$Res> {
  _$SettingsWrapperCopyWithImpl(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? settings = null}) {
    return _then(
      _value.copyWith(
            settings:
                null == settings
                    ? _value.settings
                    : settings // ignore: cast_nullable_to_non_nullable
                        as Settings,
          )
          as $Val,
    );
  }

  @override
  @pragma('vm:prefer-inline')
  $SettingsCopyWith<$Res> get settings {
    return $SettingsCopyWith<$Res>(_value.settings, (value) {
      return _then(_value.copyWith(settings: value) as $Val);
    });
  }
}

/// @nodoc
abstract class _$$SettingsWrapperImplCopyWith<$Res>
    implements $SettingsWrapperCopyWith<$Res> {
  factory _$$SettingsWrapperImplCopyWith(
    _$SettingsWrapperImpl value,
    $Res Function(_$SettingsWrapperImpl) then,
  ) = __$$SettingsWrapperImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({Settings settings});

  @override
  $SettingsCopyWith<$Res> get settings;
}

/// @nodoc
class __$$SettingsWrapperImplCopyWithImpl<$Res>
    extends _$SettingsWrapperCopyWithImpl<$Res, _$SettingsWrapperImpl>
    implements _$$SettingsWrapperImplCopyWith<$Res> {
  __$$SettingsWrapperImplCopyWithImpl(
    _$SettingsWrapperImpl _value,
    $Res Function(_$SettingsWrapperImpl) _then,
  ) : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({Object? settings = null}) {
    return _then(
      _$SettingsWrapperImpl(
        settings:
            null == settings
                ? _value.settings
                : settings // ignore: cast_nullable_to_non_nullable
                    as Settings,
      ),
    );
  }
}

/// @nodoc

class _$SettingsWrapperImpl implements _SettingsWrapper {
  const _$SettingsWrapperImpl({this.settings = const Settings()});

  @override
  @JsonKey()
  final Settings settings;

  @override
  String toString() {
    return 'SettingsWrapper(settings: $settings)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SettingsWrapperImpl &&
            (identical(other.settings, settings) ||
                other.settings == settings));
  }

  @override
  int get hashCode => Object.hash(runtimeType, settings);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SettingsWrapperImplCopyWith<_$SettingsWrapperImpl> get copyWith =>
      __$$SettingsWrapperImplCopyWithImpl<_$SettingsWrapperImpl>(
        this,
        _$identity,
      );
}

abstract class _SettingsWrapper implements SettingsWrapper {
  const factory _SettingsWrapper({final Settings settings}) =
      _$SettingsWrapperImpl;

  @override
  Settings get settings;
  @override
  @JsonKey(ignore: true)
  _$$SettingsWrapperImplCopyWith<_$SettingsWrapperImpl> get copyWith =>
      throw _privateConstructorUsedError;
}