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

AdConfig _$AdConfigFromJson(Map<String, dynamic> json) {
  return _AdConfig.fromJson(json);
}

/// @nodoc
mixin _$AdConfig {
  String? get appId => throw _privateConstructorUsedError;
  String? get appKey => throw _privateConstructorUsedError;
  List<Data>? get data => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $AdConfigCopyWith<$Res> {
  factory $AdConfigCopyWith(AdConfig value, $Res Function(AdConfig) then) =
      _$AdConfigCopyWithImpl<$Res, AdConfig>;
  @useResult
  $Res call({String? appId, String? appKey, List<Data>? data});
}

/// @nodoc
class _$AdConfigCopyWithImpl<$Res, $Val extends AdConfig>
    implements $AdConfigCopyWith<$Res> {
  _$AdConfigCopyWithImpl(this._value, this._then);

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

  /// Create a copy of AdConfig
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? appId = freezed,
    Object? appKey = freezed,
    Object? data = freezed,
  }) {
    return _then(
      _value.copyWith(
            appId: freezed == appId
                ? _value.appId
                : appId // ignore: cast_nullable_to_non_nullable
                      as String?,
            appKey: freezed == appKey
                ? _value.appKey
                : appKey // ignore: cast_nullable_to_non_nullable
                      as String?,
            data: freezed == data
                ? _value.data
                : data // ignore: cast_nullable_to_non_nullable
                      as List<Data>?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$AdConfigImplCopyWith<$Res>
    implements $AdConfigCopyWith<$Res> {
  factory _$$AdConfigImplCopyWith(
    _$AdConfigImpl value,
    $Res Function(_$AdConfigImpl) then,
  ) = __$$AdConfigImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({String? appId, String? appKey, List<Data>? data});
}

/// @nodoc
class __$$AdConfigImplCopyWithImpl<$Res>
    extends _$AdConfigCopyWithImpl<$Res, _$AdConfigImpl>
    implements _$$AdConfigImplCopyWith<$Res> {
  __$$AdConfigImplCopyWithImpl(
    _$AdConfigImpl _value,
    $Res Function(_$AdConfigImpl) _then,
  ) : super(_value, _then);

  /// Create a copy of AdConfig
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? appId = freezed,
    Object? appKey = freezed,
    Object? data = freezed,
  }) {
    return _then(
      _$AdConfigImpl(
        appId: freezed == appId
            ? _value.appId
            : appId // ignore: cast_nullable_to_non_nullable
                  as String?,
        appKey: freezed == appKey
            ? _value.appKey
            : appKey // ignore: cast_nullable_to_non_nullable
                  as String?,
        data: freezed == data
            ? _value._data
            : data // ignore: cast_nullable_to_non_nullable
                  as List<Data>?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$AdConfigImpl with DiagnosticableTreeMixin implements _AdConfig {
  const _$AdConfigImpl({this.appId, this.appKey, final List<Data>? data})
    : _data = data;

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

  @override
  final String? appId;
  @override
  final String? appKey;
  final List<Data>? _data;
  @override
  List<Data>? get data {
    final value = _data;
    if (value == null) return null;
    if (_data is EqualUnmodifiableListView) return _data;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'AdConfig(appId: $appId, appKey: $appKey, data: $data)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'AdConfig'))
      ..add(DiagnosticsProperty('appId', appId))
      ..add(DiagnosticsProperty('appKey', appKey))
      ..add(DiagnosticsProperty('data', data));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AdConfigImpl &&
            (identical(other.appId, appId) || other.appId == appId) &&
            (identical(other.appKey, appKey) || other.appKey == appKey) &&
            const DeepCollectionEquality().equals(other._data, _data));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    appId,
    appKey,
    const DeepCollectionEquality().hash(_data),
  );

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

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

abstract class _AdConfig implements AdConfig {
  const factory _AdConfig({
    final String? appId,
    final String? appKey,
    final List<Data>? data,
  }) = _$AdConfigImpl;

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

  @override
  String? get appId;
  @override
  String? get appKey;
  @override
  List<Data>? get data;

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

Data _$DataFromJson(Map<String, dynamic> json) {
  return _Data.fromJson(json);
}

/// @nodoc
mixin _$Data {
  String? get type => throw _privateConstructorUsedError;
  String? get pagePos => throw _privateConstructorUsedError;
  String? get adId => throw _privateConstructorUsedError;
  int? get interval => throw _privateConstructorUsedError;
  int? get timeout => throw _privateConstructorUsedError;
  bool? get unbounded => throw _privateConstructorUsedError;
  bool? get preLoad => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $DataCopyWith<$Res> {
  factory $DataCopyWith(Data value, $Res Function(Data) then) =
      _$DataCopyWithImpl<$Res, Data>;
  @useResult
  $Res call({
    String? type,
    String? pagePos,
    String? adId,
    int? interval,
    int? timeout,
    bool? unbounded,
    bool? preLoad,
  });
}

/// @nodoc
class _$DataCopyWithImpl<$Res, $Val extends Data>
    implements $DataCopyWith<$Res> {
  _$DataCopyWithImpl(this._value, this._then);

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

  /// Create a copy of Data
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? type = freezed,
    Object? pagePos = freezed,
    Object? adId = freezed,
    Object? interval = freezed,
    Object? timeout = freezed,
    Object? unbounded = freezed,
    Object? preLoad = freezed,
  }) {
    return _then(
      _value.copyWith(
            type: freezed == type
                ? _value.type
                : type // ignore: cast_nullable_to_non_nullable
                      as String?,
            pagePos: freezed == pagePos
                ? _value.pagePos
                : pagePos // ignore: cast_nullable_to_non_nullable
                      as String?,
            adId: freezed == adId
                ? _value.adId
                : adId // ignore: cast_nullable_to_non_nullable
                      as String?,
            interval: freezed == interval
                ? _value.interval
                : interval // ignore: cast_nullable_to_non_nullable
                      as int?,
            timeout: freezed == timeout
                ? _value.timeout
                : timeout // ignore: cast_nullable_to_non_nullable
                      as int?,
            unbounded: freezed == unbounded
                ? _value.unbounded
                : unbounded // ignore: cast_nullable_to_non_nullable
                      as bool?,
            preLoad: freezed == preLoad
                ? _value.preLoad
                : preLoad // ignore: cast_nullable_to_non_nullable
                      as bool?,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$DataImplCopyWith<$Res> implements $DataCopyWith<$Res> {
  factory _$$DataImplCopyWith(
    _$DataImpl value,
    $Res Function(_$DataImpl) then,
  ) = __$$DataImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({
    String? type,
    String? pagePos,
    String? adId,
    int? interval,
    int? timeout,
    bool? unbounded,
    bool? preLoad,
  });
}

/// @nodoc
class __$$DataImplCopyWithImpl<$Res>
    extends _$DataCopyWithImpl<$Res, _$DataImpl>
    implements _$$DataImplCopyWith<$Res> {
  __$$DataImplCopyWithImpl(_$DataImpl _value, $Res Function(_$DataImpl) _then)
    : super(_value, _then);

  /// Create a copy of Data
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? type = freezed,
    Object? pagePos = freezed,
    Object? adId = freezed,
    Object? interval = freezed,
    Object? timeout = freezed,
    Object? unbounded = freezed,
    Object? preLoad = freezed,
  }) {
    return _then(
      _$DataImpl(
        type: freezed == type
            ? _value.type
            : type // ignore: cast_nullable_to_non_nullable
                  as String?,
        pagePos: freezed == pagePos
            ? _value.pagePos
            : pagePos // ignore: cast_nullable_to_non_nullable
                  as String?,
        adId: freezed == adId
            ? _value.adId
            : adId // ignore: cast_nullable_to_non_nullable
                  as String?,
        interval: freezed == interval
            ? _value.interval
            : interval // ignore: cast_nullable_to_non_nullable
                  as int?,
        timeout: freezed == timeout
            ? _value.timeout
            : timeout // ignore: cast_nullable_to_non_nullable
                  as int?,
        unbounded: freezed == unbounded
            ? _value.unbounded
            : unbounded // ignore: cast_nullable_to_non_nullable
                  as bool?,
        preLoad: freezed == preLoad
            ? _value.preLoad
            : preLoad // ignore: cast_nullable_to_non_nullable
                  as bool?,
      ),
    );
  }
}

/// @nodoc
@JsonSerializable()
class _$DataImpl with DiagnosticableTreeMixin implements _Data {
  const _$DataImpl({
    this.type,
    this.pagePos,
    this.adId,
    this.interval,
    this.timeout,
    this.unbounded,
    this.preLoad,
  });

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

  @override
  final String? type;
  @override
  final String? pagePos;
  @override
  final String? adId;
  @override
  final int? interval;
  @override
  final int? timeout;
  @override
  final bool? unbounded;
  @override
  final bool? preLoad;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'Data(type: $type, pagePos: $pagePos, adId: $adId, interval: $interval, timeout: $timeout, unbounded: $unbounded, preLoad: $preLoad)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'Data'))
      ..add(DiagnosticsProperty('type', type))
      ..add(DiagnosticsProperty('pagePos', pagePos))
      ..add(DiagnosticsProperty('adId', adId))
      ..add(DiagnosticsProperty('interval', interval))
      ..add(DiagnosticsProperty('timeout', timeout))
      ..add(DiagnosticsProperty('unbounded', unbounded))
      ..add(DiagnosticsProperty('preLoad', preLoad));
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$DataImpl &&
            (identical(other.type, type) || other.type == type) &&
            (identical(other.pagePos, pagePos) || other.pagePos == pagePos) &&
            (identical(other.adId, adId) || other.adId == adId) &&
            (identical(other.interval, interval) ||
                other.interval == interval) &&
            (identical(other.timeout, timeout) || other.timeout == timeout) &&
            (identical(other.unbounded, unbounded) ||
                other.unbounded == unbounded) &&
            (identical(other.preLoad, preLoad) || other.preLoad == preLoad));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    type,
    pagePos,
    adId,
    interval,
    timeout,
    unbounded,
    preLoad,
  );

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

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

abstract class _Data implements Data {
  const factory _Data({
    final String? type,
    final String? pagePos,
    final String? adId,
    final int? interval,
    final int? timeout,
    final bool? unbounded,
    final bool? preLoad,
  }) = _$DataImpl;

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

  @override
  String? get type;
  @override
  String? get pagePos;
  @override
  String? get adId;
  @override
  int? get interval;
  @override
  int? get timeout;
  @override
  bool? get unbounded;
  @override
  bool? get preLoad;

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