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

EquipmentResponse _$EquipmentResponseFromJson(Map<String, dynamic> json) {
  return _EquipmentResponse.fromJson(json);
}

/// @nodoc
mixin _$EquipmentResponse {
  int get id => throw _privateConstructorUsedError;
  String get equipmentNumber => throw _privateConstructorUsedError;
  String? get category1 => throw _privateConstructorUsedError;
  String? get category2 => throw _privateConstructorUsedError;
  String? get category3 => throw _privateConstructorUsedError;
  String get manufacturer => throw _privateConstructorUsedError;
  String? get modelName => throw _privateConstructorUsedError;
  String? get serialNumber => throw _privateConstructorUsedError;
  String? get barcode => throw _privateConstructorUsedError;
  DateTime? get purchaseDate => throw _privateConstructorUsedError;
  double? get purchasePrice => throw _privateConstructorUsedError;
  @EquipmentStatusJsonConverter()
  String get status => throw _privateConstructorUsedError;
  int? get currentCompanyId => throw _privateConstructorUsedError;
  int? get currentBranchId => throw _privateConstructorUsedError;
  int? get warehouseLocationId => throw _privateConstructorUsedError;
  DateTime? get lastInspectionDate => throw _privateConstructorUsedError;
  DateTime? get nextInspectionDate => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  DateTime get createdAt => throw _privateConstructorUsedError;
  DateTime get updatedAt =>
      throw _privateConstructorUsedError; // 추가 필드 (조인된 데이터)
  String? get companyName => throw _privateConstructorUsedError;
  String? get branchName => throw _privateConstructorUsedError;
  String? get warehouseName => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $EquipmentResponseCopyWith<$Res> {
  factory $EquipmentResponseCopyWith(
          EquipmentResponse value, $Res Function(EquipmentResponse) then) =
      _$EquipmentResponseCopyWithImpl<$Res, EquipmentResponse>;
  @useResult
  $Res call(
      {int id,
      String equipmentNumber,
      String? category1,
      String? category2,
      String? category3,
      String manufacturer,
      String? modelName,
      String? serialNumber,
      String? barcode,
      DateTime? purchaseDate,
      double? purchasePrice,
      @EquipmentStatusJsonConverter() String status,
      int? currentCompanyId,
      int? currentBranchId,
      int? warehouseLocationId,
      DateTime? lastInspectionDate,
      DateTime? nextInspectionDate,
      String? remark,
      DateTime createdAt,
      DateTime updatedAt,
      String? companyName,
      String? branchName,
      String? warehouseName});
}

/// @nodoc
class _$EquipmentResponseCopyWithImpl<$Res, $Val extends EquipmentResponse>
    implements $EquipmentResponseCopyWith<$Res> {
  _$EquipmentResponseCopyWithImpl(this._value, this._then);

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

  /// Create a copy of EquipmentResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? equipmentNumber = null,
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? status = null,
    Object? currentCompanyId = freezed,
    Object? currentBranchId = freezed,
    Object? warehouseLocationId = freezed,
    Object? lastInspectionDate = freezed,
    Object? nextInspectionDate = freezed,
    Object? remark = freezed,
    Object? createdAt = null,
    Object? updatedAt = null,
    Object? companyName = freezed,
    Object? branchName = freezed,
    Object? warehouseName = freezed,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      equipmentNumber: null == equipmentNumber
          ? _value.equipmentNumber
          : equipmentNumber // ignore: cast_nullable_to_non_nullable
              as String,
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: null == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String,
      currentCompanyId: freezed == currentCompanyId
          ? _value.currentCompanyId
          : currentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      currentBranchId: freezed == currentBranchId
          ? _value.currentBranchId
          : currentBranchId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      lastInspectionDate: freezed == lastInspectionDate
          ? _value.lastInspectionDate
          : lastInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      nextInspectionDate: freezed == nextInspectionDate
          ? _value.nextInspectionDate
          : nextInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: null == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      branchName: freezed == branchName
          ? _value.branchName
          : branchName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseName: freezed == warehouseName
          ? _value.warehouseName
          : warehouseName // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentResponseImplCopyWith<$Res>
    implements $EquipmentResponseCopyWith<$Res> {
  factory _$$EquipmentResponseImplCopyWith(_$EquipmentResponseImpl value,
          $Res Function(_$EquipmentResponseImpl) then) =
      __$$EquipmentResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      String equipmentNumber,
      String? category1,
      String? category2,
      String? category3,
      String manufacturer,
      String? modelName,
      String? serialNumber,
      String? barcode,
      DateTime? purchaseDate,
      double? purchasePrice,
      @EquipmentStatusJsonConverter() String status,
      int? currentCompanyId,
      int? currentBranchId,
      int? warehouseLocationId,
      DateTime? lastInspectionDate,
      DateTime? nextInspectionDate,
      String? remark,
      DateTime createdAt,
      DateTime updatedAt,
      String? companyName,
      String? branchName,
      String? warehouseName});
}

/// @nodoc
class __$$EquipmentResponseImplCopyWithImpl<$Res>
    extends _$EquipmentResponseCopyWithImpl<$Res, _$EquipmentResponseImpl>
    implements _$$EquipmentResponseImplCopyWith<$Res> {
  __$$EquipmentResponseImplCopyWithImpl(_$EquipmentResponseImpl _value,
      $Res Function(_$EquipmentResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? equipmentNumber = null,
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? status = null,
    Object? currentCompanyId = freezed,
    Object? currentBranchId = freezed,
    Object? warehouseLocationId = freezed,
    Object? lastInspectionDate = freezed,
    Object? nextInspectionDate = freezed,
    Object? remark = freezed,
    Object? createdAt = null,
    Object? updatedAt = null,
    Object? companyName = freezed,
    Object? branchName = freezed,
    Object? warehouseName = freezed,
  }) {
    return _then(_$EquipmentResponseImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      equipmentNumber: null == equipmentNumber
          ? _value.equipmentNumber
          : equipmentNumber // ignore: cast_nullable_to_non_nullable
              as String,
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: null == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String,
      currentCompanyId: freezed == currentCompanyId
          ? _value.currentCompanyId
          : currentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      currentBranchId: freezed == currentBranchId
          ? _value.currentBranchId
          : currentBranchId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      lastInspectionDate: freezed == lastInspectionDate
          ? _value.lastInspectionDate
          : lastInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      nextInspectionDate: freezed == nextInspectionDate
          ? _value.nextInspectionDate
          : nextInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: null == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      branchName: freezed == branchName
          ? _value.branchName
          : branchName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseName: freezed == warehouseName
          ? _value.warehouseName
          : warehouseName // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentResponseImpl implements _EquipmentResponse {
  const _$EquipmentResponseImpl(
      {required this.id,
      required this.equipmentNumber,
      this.category1,
      this.category2,
      this.category3,
      required this.manufacturer,
      this.modelName,
      this.serialNumber,
      this.barcode,
      this.purchaseDate,
      this.purchasePrice,
      @EquipmentStatusJsonConverter() required this.status,
      this.currentCompanyId,
      this.currentBranchId,
      this.warehouseLocationId,
      this.lastInspectionDate,
      this.nextInspectionDate,
      this.remark,
      required this.createdAt,
      required this.updatedAt,
      this.companyName,
      this.branchName,
      this.warehouseName});

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

  @override
  final int id;
  @override
  final String equipmentNumber;
  @override
  final String? category1;
  @override
  final String? category2;
  @override
  final String? category3;
  @override
  final String manufacturer;
  @override
  final String? modelName;
  @override
  final String? serialNumber;
  @override
  final String? barcode;
  @override
  final DateTime? purchaseDate;
  @override
  final double? purchasePrice;
  @override
  @EquipmentStatusJsonConverter()
  final String status;
  @override
  final int? currentCompanyId;
  @override
  final int? currentBranchId;
  @override
  final int? warehouseLocationId;
  @override
  final DateTime? lastInspectionDate;
  @override
  final DateTime? nextInspectionDate;
  @override
  final String? remark;
  @override
  final DateTime createdAt;
  @override
  final DateTime updatedAt;
// 추가 필드 (조인된 데이터)
  @override
  final String? companyName;
  @override
  final String? branchName;
  @override
  final String? warehouseName;

  @override
  String toString() {
    return 'EquipmentResponse(id: $id, equipmentNumber: $equipmentNumber, category1: $category1, category2: $category2, category3: $category3, manufacturer: $manufacturer, modelName: $modelName, serialNumber: $serialNumber, barcode: $barcode, purchaseDate: $purchaseDate, purchasePrice: $purchasePrice, status: $status, currentCompanyId: $currentCompanyId, currentBranchId: $currentBranchId, warehouseLocationId: $warehouseLocationId, lastInspectionDate: $lastInspectionDate, nextInspectionDate: $nextInspectionDate, remark: $remark, createdAt: $createdAt, updatedAt: $updatedAt, companyName: $companyName, branchName: $branchName, warehouseName: $warehouseName)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentResponseImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.equipmentNumber, equipmentNumber) ||
                other.equipmentNumber == equipmentNumber) &&
            (identical(other.category1, category1) ||
                other.category1 == category1) &&
            (identical(other.category2, category2) ||
                other.category2 == category2) &&
            (identical(other.category3, category3) ||
                other.category3 == category3) &&
            (identical(other.manufacturer, manufacturer) ||
                other.manufacturer == manufacturer) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.barcode, barcode) || other.barcode == barcode) &&
            (identical(other.purchaseDate, purchaseDate) ||
                other.purchaseDate == purchaseDate) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.status, status) || other.status == status) &&
            (identical(other.currentCompanyId, currentCompanyId) ||
                other.currentCompanyId == currentCompanyId) &&
            (identical(other.currentBranchId, currentBranchId) ||
                other.currentBranchId == currentBranchId) &&
            (identical(other.warehouseLocationId, warehouseLocationId) ||
                other.warehouseLocationId == warehouseLocationId) &&
            (identical(other.lastInspectionDate, lastInspectionDate) ||
                other.lastInspectionDate == lastInspectionDate) &&
            (identical(other.nextInspectionDate, nextInspectionDate) ||
                other.nextInspectionDate == nextInspectionDate) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.branchName, branchName) ||
                other.branchName == branchName) &&
            (identical(other.warehouseName, warehouseName) ||
                other.warehouseName == warehouseName));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hashAll([
        runtimeType,
        id,
        equipmentNumber,
        category1,
        category2,
        category3,
        manufacturer,
        modelName,
        serialNumber,
        barcode,
        purchaseDate,
        purchasePrice,
        status,
        currentCompanyId,
        currentBranchId,
        warehouseLocationId,
        lastInspectionDate,
        nextInspectionDate,
        remark,
        createdAt,
        updatedAt,
        companyName,
        branchName,
        warehouseName
      ]);

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

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

abstract class _EquipmentResponse implements EquipmentResponse {
  const factory _EquipmentResponse(
      {required final int id,
      required final String equipmentNumber,
      final String? category1,
      final String? category2,
      final String? category3,
      required final String manufacturer,
      final String? modelName,
      final String? serialNumber,
      final String? barcode,
      final DateTime? purchaseDate,
      final double? purchasePrice,
      @EquipmentStatusJsonConverter() required final String status,
      final int? currentCompanyId,
      final int? currentBranchId,
      final int? warehouseLocationId,
      final DateTime? lastInspectionDate,
      final DateTime? nextInspectionDate,
      final String? remark,
      required final DateTime createdAt,
      required final DateTime updatedAt,
      final String? companyName,
      final String? branchName,
      final String? warehouseName}) = _$EquipmentResponseImpl;

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

  @override
  int get id;
  @override
  String get equipmentNumber;
  @override
  String? get category1;
  @override
  String? get category2;
  @override
  String? get category3;
  @override
  String get manufacturer;
  @override
  String? get modelName;
  @override
  String? get serialNumber;
  @override
  String? get barcode;
  @override
  DateTime? get purchaseDate;
  @override
  double? get purchasePrice;
  @override
  @EquipmentStatusJsonConverter()
  String get status;
  @override
  int? get currentCompanyId;
  @override
  int? get currentBranchId;
  @override
  int? get warehouseLocationId;
  @override
  DateTime? get lastInspectionDate;
  @override
  DateTime? get nextInspectionDate;
  @override
  String? get remark;
  @override
  DateTime get createdAt;
  @override
  DateTime get updatedAt; // 추가 필드 (조인된 데이터)
  @override
  String? get companyName;
  @override
  String? get branchName;
  @override
  String? get warehouseName;

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