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

ExpiringLicense _$ExpiringLicenseFromJson(Map<String, dynamic> json) {
  return _ExpiringLicense.fromJson(json);
}

/// @nodoc
mixin _$ExpiringLicense {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'license_key')
  String get licenseKey => throw _privateConstructorUsedError;
  @JsonKey(name: 'software_name')
  String get softwareName => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_name')
  String get companyName => throw _privateConstructorUsedError;
  @JsonKey(name: 'expiry_date')
  DateTime get expiryDate => throw _privateConstructorUsedError;
  @JsonKey(name: 'days_until_expiry')
  int get daysUntilExpiry => throw _privateConstructorUsedError;
  @JsonKey(name: 'renewal_cost')
  double get renewalCost => throw _privateConstructorUsedError;
  @JsonKey(name: 'auto_renew')
  bool get autoRenew => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $ExpiringLicenseCopyWith<$Res> {
  factory $ExpiringLicenseCopyWith(
          ExpiringLicense value, $Res Function(ExpiringLicense) then) =
      _$ExpiringLicenseCopyWithImpl<$Res, ExpiringLicense>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'software_name') String softwareName,
      @JsonKey(name: 'company_name') String companyName,
      @JsonKey(name: 'expiry_date') DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') int daysUntilExpiry,
      @JsonKey(name: 'renewal_cost') double renewalCost,
      @JsonKey(name: 'auto_renew') bool autoRenew});
}

/// @nodoc
class _$ExpiringLicenseCopyWithImpl<$Res, $Val extends ExpiringLicense>
    implements $ExpiringLicenseCopyWith<$Res> {
  _$ExpiringLicenseCopyWithImpl(this._value, this._then);

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

  /// Create a copy of ExpiringLicense
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? softwareName = null,
    Object? companyName = null,
    Object? expiryDate = null,
    Object? daysUntilExpiry = null,
    Object? renewalCost = null,
    Object? autoRenew = null,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      softwareName: null == softwareName
          ? _value.softwareName
          : softwareName // ignore: cast_nullable_to_non_nullable
              as String,
      companyName: null == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String,
      expiryDate: null == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime,
      daysUntilExpiry: null == daysUntilExpiry
          ? _value.daysUntilExpiry
          : daysUntilExpiry // ignore: cast_nullable_to_non_nullable
              as int,
      renewalCost: null == renewalCost
          ? _value.renewalCost
          : renewalCost // ignore: cast_nullable_to_non_nullable
              as double,
      autoRenew: null == autoRenew
          ? _value.autoRenew
          : autoRenew // ignore: cast_nullable_to_non_nullable
              as bool,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$ExpiringLicenseImplCopyWith<$Res>
    implements $ExpiringLicenseCopyWith<$Res> {
  factory _$$ExpiringLicenseImplCopyWith(_$ExpiringLicenseImpl value,
          $Res Function(_$ExpiringLicenseImpl) then) =
      __$$ExpiringLicenseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'software_name') String softwareName,
      @JsonKey(name: 'company_name') String companyName,
      @JsonKey(name: 'expiry_date') DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') int daysUntilExpiry,
      @JsonKey(name: 'renewal_cost') double renewalCost,
      @JsonKey(name: 'auto_renew') bool autoRenew});
}

/// @nodoc
class __$$ExpiringLicenseImplCopyWithImpl<$Res>
    extends _$ExpiringLicenseCopyWithImpl<$Res, _$ExpiringLicenseImpl>
    implements _$$ExpiringLicenseImplCopyWith<$Res> {
  __$$ExpiringLicenseImplCopyWithImpl(
      _$ExpiringLicenseImpl _value, $Res Function(_$ExpiringLicenseImpl) _then)
      : super(_value, _then);

  /// Create a copy of ExpiringLicense
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? softwareName = null,
    Object? companyName = null,
    Object? expiryDate = null,
    Object? daysUntilExpiry = null,
    Object? renewalCost = null,
    Object? autoRenew = null,
  }) {
    return _then(_$ExpiringLicenseImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      softwareName: null == softwareName
          ? _value.softwareName
          : softwareName // ignore: cast_nullable_to_non_nullable
              as String,
      companyName: null == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String,
      expiryDate: null == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime,
      daysUntilExpiry: null == daysUntilExpiry
          ? _value.daysUntilExpiry
          : daysUntilExpiry // ignore: cast_nullable_to_non_nullable
              as int,
      renewalCost: null == renewalCost
          ? _value.renewalCost
          : renewalCost // ignore: cast_nullable_to_non_nullable
              as double,
      autoRenew: null == autoRenew
          ? _value.autoRenew
          : autoRenew // ignore: cast_nullable_to_non_nullable
              as bool,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$ExpiringLicenseImpl implements _ExpiringLicense {
  const _$ExpiringLicenseImpl(
      {required this.id,
      @JsonKey(name: 'license_key') required this.licenseKey,
      @JsonKey(name: 'software_name') required this.softwareName,
      @JsonKey(name: 'company_name') required this.companyName,
      @JsonKey(name: 'expiry_date') required this.expiryDate,
      @JsonKey(name: 'days_until_expiry') required this.daysUntilExpiry,
      @JsonKey(name: 'renewal_cost') required this.renewalCost,
      @JsonKey(name: 'auto_renew') required this.autoRenew});

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

  @override
  final int id;
  @override
  @JsonKey(name: 'license_key')
  final String licenseKey;
  @override
  @JsonKey(name: 'software_name')
  final String softwareName;
  @override
  @JsonKey(name: 'company_name')
  final String companyName;
  @override
  @JsonKey(name: 'expiry_date')
  final DateTime expiryDate;
  @override
  @JsonKey(name: 'days_until_expiry')
  final int daysUntilExpiry;
  @override
  @JsonKey(name: 'renewal_cost')
  final double renewalCost;
  @override
  @JsonKey(name: 'auto_renew')
  final bool autoRenew;

  @override
  String toString() {
    return 'ExpiringLicense(id: $id, licenseKey: $licenseKey, softwareName: $softwareName, companyName: $companyName, expiryDate: $expiryDate, daysUntilExpiry: $daysUntilExpiry, renewalCost: $renewalCost, autoRenew: $autoRenew)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ExpiringLicenseImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.licenseKey, licenseKey) ||
                other.licenseKey == licenseKey) &&
            (identical(other.softwareName, softwareName) ||
                other.softwareName == softwareName) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.expiryDate, expiryDate) ||
                other.expiryDate == expiryDate) &&
            (identical(other.daysUntilExpiry, daysUntilExpiry) ||
                other.daysUntilExpiry == daysUntilExpiry) &&
            (identical(other.renewalCost, renewalCost) ||
                other.renewalCost == renewalCost) &&
            (identical(other.autoRenew, autoRenew) ||
                other.autoRenew == autoRenew));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, id, licenseKey, softwareName,
      companyName, expiryDate, daysUntilExpiry, renewalCost, autoRenew);

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

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

abstract class _ExpiringLicense implements ExpiringLicense {
  const factory _ExpiringLicense(
      {required final int id,
      @JsonKey(name: 'license_key') required final String licenseKey,
      @JsonKey(name: 'software_name') required final String softwareName,
      @JsonKey(name: 'company_name') required final String companyName,
      @JsonKey(name: 'expiry_date') required final DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') required final int daysUntilExpiry,
      @JsonKey(name: 'renewal_cost') required final double renewalCost,
      @JsonKey(name: 'auto_renew')
      required final bool autoRenew}) = _$ExpiringLicenseImpl;

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

  @override
  int get id;
  @override
  @JsonKey(name: 'license_key')
  String get licenseKey;
  @override
  @JsonKey(name: 'software_name')
  String get softwareName;
  @override
  @JsonKey(name: 'company_name')
  String get companyName;
  @override
  @JsonKey(name: 'expiry_date')
  DateTime get expiryDate;
  @override
  @JsonKey(name: 'days_until_expiry')
  int get daysUntilExpiry;
  @override
  @JsonKey(name: 'renewal_cost')
  double get renewalCost;
  @override
  @JsonKey(name: 'auto_renew')
  bool get autoRenew;

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