// 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 'tools_ui_model.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 _$ToolsUIState {
  bool get working => throw _privateConstructorUsedError;
  String get scInstalledPath => throw _privateConstructorUsedError;
  String get rsiLauncherInstalledPath => throw _privateConstructorUsedError;
  List<String> get scInstallPaths => throw _privateConstructorUsedError;
  List<String> get rsiLauncherInstallPaths =>
      throw _privateConstructorUsedError;
  List<ToolsItemData> get items => throw _privateConstructorUsedError;
  bool get isItemLoading => throw _privateConstructorUsedError;

  /// Create a copy of ToolsUIState
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $ToolsUIStateCopyWith<ToolsUIState> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $ToolsUIStateCopyWith<$Res> {
  factory $ToolsUIStateCopyWith(
          ToolsUIState value, $Res Function(ToolsUIState) then) =
      _$ToolsUIStateCopyWithImpl<$Res, ToolsUIState>;
  @useResult
  $Res call(
      {bool working,
      String scInstalledPath,
      String rsiLauncherInstalledPath,
      List<String> scInstallPaths,
      List<String> rsiLauncherInstallPaths,
      List<ToolsItemData> items,
      bool isItemLoading});
}

/// @nodoc
class _$ToolsUIStateCopyWithImpl<$Res, $Val extends ToolsUIState>
    implements $ToolsUIStateCopyWith<$Res> {
  _$ToolsUIStateCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of ToolsUIState
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? working = null,
    Object? scInstalledPath = null,
    Object? rsiLauncherInstalledPath = null,
    Object? scInstallPaths = null,
    Object? rsiLauncherInstallPaths = null,
    Object? items = null,
    Object? isItemLoading = null,
  }) {
    return _then(_value.copyWith(
      working: null == working
          ? _value.working
          : working // ignore: cast_nullable_to_non_nullable
              as bool,
      scInstalledPath: null == scInstalledPath
          ? _value.scInstalledPath
          : scInstalledPath // ignore: cast_nullable_to_non_nullable
              as String,
      rsiLauncherInstalledPath: null == rsiLauncherInstalledPath
          ? _value.rsiLauncherInstalledPath
          : rsiLauncherInstalledPath // ignore: cast_nullable_to_non_nullable
              as String,
      scInstallPaths: null == scInstallPaths
          ? _value.scInstallPaths
          : scInstallPaths // ignore: cast_nullable_to_non_nullable
              as List<String>,
      rsiLauncherInstallPaths: null == rsiLauncherInstallPaths
          ? _value.rsiLauncherInstallPaths
          : rsiLauncherInstallPaths // ignore: cast_nullable_to_non_nullable
              as List<String>,
      items: null == items
          ? _value.items
          : items // ignore: cast_nullable_to_non_nullable
              as List<ToolsItemData>,
      isItemLoading: null == isItemLoading
          ? _value.isItemLoading
          : isItemLoading // ignore: cast_nullable_to_non_nullable
              as bool,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$ToolsUIStateImplCopyWith<$Res>
    implements $ToolsUIStateCopyWith<$Res> {
  factory _$$ToolsUIStateImplCopyWith(
          _$ToolsUIStateImpl value, $Res Function(_$ToolsUIStateImpl) then) =
      __$$ToolsUIStateImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {bool working,
      String scInstalledPath,
      String rsiLauncherInstalledPath,
      List<String> scInstallPaths,
      List<String> rsiLauncherInstallPaths,
      List<ToolsItemData> items,
      bool isItemLoading});
}

/// @nodoc
class __$$ToolsUIStateImplCopyWithImpl<$Res>
    extends _$ToolsUIStateCopyWithImpl<$Res, _$ToolsUIStateImpl>
    implements _$$ToolsUIStateImplCopyWith<$Res> {
  __$$ToolsUIStateImplCopyWithImpl(
      _$ToolsUIStateImpl _value, $Res Function(_$ToolsUIStateImpl) _then)
      : super(_value, _then);

  /// Create a copy of ToolsUIState
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? working = null,
    Object? scInstalledPath = null,
    Object? rsiLauncherInstalledPath = null,
    Object? scInstallPaths = null,
    Object? rsiLauncherInstallPaths = null,
    Object? items = null,
    Object? isItemLoading = null,
  }) {
    return _then(_$ToolsUIStateImpl(
      working: null == working
          ? _value.working
          : working // ignore: cast_nullable_to_non_nullable
              as bool,
      scInstalledPath: null == scInstalledPath
          ? _value.scInstalledPath
          : scInstalledPath // ignore: cast_nullable_to_non_nullable
              as String,
      rsiLauncherInstalledPath: null == rsiLauncherInstalledPath
          ? _value.rsiLauncherInstalledPath
          : rsiLauncherInstalledPath // ignore: cast_nullable_to_non_nullable
              as String,
      scInstallPaths: null == scInstallPaths
          ? _value._scInstallPaths
          : scInstallPaths // ignore: cast_nullable_to_non_nullable
              as List<String>,
      rsiLauncherInstallPaths: null == rsiLauncherInstallPaths
          ? _value._rsiLauncherInstallPaths
          : rsiLauncherInstallPaths // ignore: cast_nullable_to_non_nullable
              as List<String>,
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<ToolsItemData>,
      isItemLoading: null == isItemLoading
          ? _value.isItemLoading
          : isItemLoading // ignore: cast_nullable_to_non_nullable
              as bool,
    ));
  }
}

/// @nodoc

class _$ToolsUIStateImpl implements _ToolsUIState {
  _$ToolsUIStateImpl(
      {this.working = false,
      this.scInstalledPath = "",
      this.rsiLauncherInstalledPath = "",
      final List<String> scInstallPaths = const [],
      final List<String> rsiLauncherInstallPaths = const [],
      final List<ToolsItemData> items = const [],
      this.isItemLoading = false})
      : _scInstallPaths = scInstallPaths,
        _rsiLauncherInstallPaths = rsiLauncherInstallPaths,
        _items = items;

  @override
  @JsonKey()
  final bool working;
  @override
  @JsonKey()
  final String scInstalledPath;
  @override
  @JsonKey()
  final String rsiLauncherInstalledPath;
  final List<String> _scInstallPaths;
  @override
  @JsonKey()
  List<String> get scInstallPaths {
    if (_scInstallPaths is EqualUnmodifiableListView) return _scInstallPaths;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_scInstallPaths);
  }

  final List<String> _rsiLauncherInstallPaths;
  @override
  @JsonKey()
  List<String> get rsiLauncherInstallPaths {
    if (_rsiLauncherInstallPaths is EqualUnmodifiableListView)
      return _rsiLauncherInstallPaths;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_rsiLauncherInstallPaths);
  }

  final List<ToolsItemData> _items;
  @override
  @JsonKey()
  List<ToolsItemData> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  @JsonKey()
  final bool isItemLoading;

  @override
  String toString() {
    return 'ToolsUIState(working: $working, scInstalledPath: $scInstalledPath, rsiLauncherInstalledPath: $rsiLauncherInstalledPath, scInstallPaths: $scInstallPaths, rsiLauncherInstallPaths: $rsiLauncherInstallPaths, items: $items, isItemLoading: $isItemLoading)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ToolsUIStateImpl &&
            (identical(other.working, working) || other.working == working) &&
            (identical(other.scInstalledPath, scInstalledPath) ||
                other.scInstalledPath == scInstalledPath) &&
            (identical(
                    other.rsiLauncherInstalledPath, rsiLauncherInstalledPath) ||
                other.rsiLauncherInstalledPath == rsiLauncherInstalledPath) &&
            const DeepCollectionEquality()
                .equals(other._scInstallPaths, _scInstallPaths) &&
            const DeepCollectionEquality().equals(
                other._rsiLauncherInstallPaths, _rsiLauncherInstallPaths) &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.isItemLoading, isItemLoading) ||
                other.isItemLoading == isItemLoading));
  }

  @override
  int get hashCode => Object.hash(
      runtimeType,
      working,
      scInstalledPath,
      rsiLauncherInstalledPath,
      const DeepCollectionEquality().hash(_scInstallPaths),
      const DeepCollectionEquality().hash(_rsiLauncherInstallPaths),
      const DeepCollectionEquality().hash(_items),
      isItemLoading);

  /// Create a copy of ToolsUIState
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$ToolsUIStateImplCopyWith<_$ToolsUIStateImpl> get copyWith =>
      __$$ToolsUIStateImplCopyWithImpl<_$ToolsUIStateImpl>(this, _$identity);
}

abstract class _ToolsUIState implements ToolsUIState {
  factory _ToolsUIState(
      {final bool working,
      final String scInstalledPath,
      final String rsiLauncherInstalledPath,
      final List<String> scInstallPaths,
      final List<String> rsiLauncherInstallPaths,
      final List<ToolsItemData> items,
      final bool isItemLoading}) = _$ToolsUIStateImpl;

  @override
  bool get working;
  @override
  String get scInstalledPath;
  @override
  String get rsiLauncherInstalledPath;
  @override
  List<String> get scInstallPaths;
  @override
  List<String> get rsiLauncherInstallPaths;
  @override
  List<ToolsItemData> get items;
  @override
  bool get isItemLoading;

  /// Create a copy of ToolsUIState
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$ToolsUIStateImplCopyWith<_$ToolsUIStateImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
