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

NodesConfig _$NodesConfigFromJson(Map<String, dynamic> json) {
  return _NodesConfig.fromJson(json);
}

/// @nodoc
mixin _$NodesConfig {
  List<dynamic>? get nodes => throw _privateConstructorUsedError;
  String? get tunnelConfig => throw _privateConstructorUsedError;
  dynamic get dataConfig => throw _privateConstructorUsedError;
  int? get socketPort => throw _privateConstructorUsedError;
  int? get maxTryCount => throw _privateConstructorUsedError;

  /// Serializes this NodesConfig to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

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

/// @nodoc
abstract class $NodesConfigCopyWith<$Res> {
  factory $NodesConfigCopyWith(
    NodesConfig value,
    $Res Function(NodesConfig) then,
  ) = _$NodesConfigCopyWithImpl<$Res, NodesConfig>;
  @useResult
  $Res call({
    List<dynamic>? nodes,
    String? tunnelConfig,
    dynamic dataConfig,
    int? socketPort,
    int? maxTryCount,
  });
}

/// @nodoc
class _$NodesConfigCopyWithImpl<$Res, $Val extends NodesConfig>
    implements $NodesConfigCopyWith<$Res> {
  _$NodesConfigCopyWithImpl(this._value, this._then);

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

  /// Create a copy of NodesConfig
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? nodes = freezed,
    Object? tunnelConfig = freezed,
    Object? dataConfig = freezed,
    Object? socketPort = freezed,
    Object? maxTryCount = freezed,
  }) {
    return _then(
      _value.copyWith(
            nodes: freezed == nodes
                ? _value.nodes
                : nodes // ignore: cast_nullable_to_non_nullable
                      as List<dynamic>?,
            tunnelConfig: freezed == tunnelConfig
                ? _value.tunnelConfig
                : tunnelConfig // ignore: cast_nullable_to_non_nullable
                      as String?,
            dataConfig: freezed == dataConfig
                ? _value.dataConfig
                : dataConfig // ignore: cast_nullable_to_non_nullable
                      as dynamic,
            socketPort: freezed == socketPort
                ? _value.socketPort
                : socketPort // ignore: cast_nullable_to_non_nullable
                      as int?,
            maxTryCount: freezed == maxTryCount
                ? _value.maxTryCount
                : maxTryCount // ignore: cast_nullable_to_non_nullable
                      as int?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$NodesConfigImplCopyWith<$Res>
    implements $NodesConfigCopyWith<$Res> {
  factory _$$NodesConfigImplCopyWith(
    _$NodesConfigImpl value,
    $Res Function(_$NodesConfigImpl) then,
  ) = __$$NodesConfigImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({
    List<dynamic>? nodes,
    String? tunnelConfig,
    dynamic dataConfig,
    int? socketPort,
    int? maxTryCount,
  });
}

/// @nodoc
class __$$NodesConfigImplCopyWithImpl<$Res>
    extends _$NodesConfigCopyWithImpl<$Res, _$NodesConfigImpl>
    implements _$$NodesConfigImplCopyWith<$Res> {
  __$$NodesConfigImplCopyWithImpl(
    _$NodesConfigImpl _value,
    $Res Function(_$NodesConfigImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of NodesConfig
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? nodes = freezed,
    Object? tunnelConfig = freezed,
    Object? dataConfig = freezed,
    Object? socketPort = freezed,
    Object? maxTryCount = freezed,
  }) {
    return _then(
      _$NodesConfigImpl(
        nodes: freezed == nodes
            ? _value._nodes
            : nodes // ignore: cast_nullable_to_non_nullable
                  as List<dynamic>?,
        tunnelConfig: freezed == tunnelConfig
            ? _value.tunnelConfig
            : tunnelConfig // ignore: cast_nullable_to_non_nullable
                  as String?,
        dataConfig: freezed == dataConfig
            ? _value.dataConfig
            : dataConfig // ignore: cast_nullable_to_non_nullable
                  as dynamic,
        socketPort: freezed == socketPort
            ? _value.socketPort
            : socketPort // ignore: cast_nullable_to_non_nullable
                  as int?,
        maxTryCount: freezed == maxTryCount
            ? _value.maxTryCount
            : maxTryCount // ignore: cast_nullable_to_non_nullable
                  as int?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$NodesConfigImpl with DiagnosticableTreeMixin implements _NodesConfig {
  const _$NodesConfigImpl({
    final List<dynamic>? nodes,
    this.tunnelConfig,
    this.dataConfig,
    this.socketPort,
    this.maxTryCount,
  }) : _nodes = nodes;

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

  final List<dynamic>? _nodes;
  @override
  List<dynamic>? get nodes {
    final value = _nodes;
    if (value == null) return null;
    if (_nodes is EqualUnmodifiableListView) return _nodes;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  @override
  final String? tunnelConfig;
  @override
  final dynamic dataConfig;
  @override
  final int? socketPort;
  @override
  final int? maxTryCount;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'NodesConfig(nodes: $nodes, tunnelConfig: $tunnelConfig, dataConfig: $dataConfig, socketPort: $socketPort, maxTryCount: $maxTryCount)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'NodesConfig'))
      ..add(DiagnosticsProperty('nodes', nodes))
      ..add(DiagnosticsProperty('tunnelConfig', tunnelConfig))
      ..add(DiagnosticsProperty('dataConfig', dataConfig))
      ..add(DiagnosticsProperty('socketPort', socketPort))
      ..add(DiagnosticsProperty('maxTryCount', maxTryCount));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$NodesConfigImpl &&
            const DeepCollectionEquality().equals(other._nodes, _nodes) &&
            (identical(other.tunnelConfig, tunnelConfig) ||
                other.tunnelConfig == tunnelConfig) &&
            const DeepCollectionEquality().equals(
              other.dataConfig,
              dataConfig,
            ) &&
            (identical(other.socketPort, socketPort) ||
                other.socketPort == socketPort) &&
            (identical(other.maxTryCount, maxTryCount) ||
                other.maxTryCount == maxTryCount));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    const DeepCollectionEquality().hash(_nodes),
    tunnelConfig,
    const DeepCollectionEquality().hash(dataConfig),
    socketPort,
    maxTryCount,
  );

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

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

abstract class _NodesConfig implements NodesConfig {
  const factory _NodesConfig({
    final List<dynamic>? nodes,
    final String? tunnelConfig,
    final dynamic dataConfig,
    final int? socketPort,
    final int? maxTryCount,
  }) = _$NodesConfigImpl;

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

  @override
  List<dynamic>? get nodes;
  @override
  String? get tunnelConfig;
  @override
  dynamic get dataConfig;
  @override
  int? get socketPort;
  @override
  int? get maxTryCount;

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