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

EquipmentListDto _$EquipmentListDtoFromJson(Map<String, dynamic> json) {
  return _EquipmentListDto.fromJson(json);
}

/// @nodoc
mixin _$EquipmentListDto {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_number')
  String get equipmentNumber => throw _privateConstructorUsedError;
  String get manufacturer => throw _privateConstructorUsedError;
  @JsonKey(name: 'model_name')
  String? get modelName => throw _privateConstructorUsedError;
  @JsonKey(name: 'serial_number')
  String? get serialNumber => throw _privateConstructorUsedError;
  String get status => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_id')
  int? get companyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouse_location_id')
  int? get warehouseLocationId => throw _privateConstructorUsedError;
  @JsonKey(name: 'created_at')
  DateTime get createdAt =>
      throw _privateConstructorUsedError; // 추가 필드 (조인된 데이터)
  @JsonKey(name: 'company_name')
  String? get companyName => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouse_name')
  String? get warehouseName => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $EquipmentListDtoCopyWith<$Res> {
  factory $EquipmentListDtoCopyWith(
          EquipmentListDto value, $Res Function(EquipmentListDto) then) =
      _$EquipmentListDtoCopyWithImpl<$Res, EquipmentListDto>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'equipment_number') String equipmentNumber,
      String manufacturer,
      @JsonKey(name: 'model_name') String? modelName,
      @JsonKey(name: 'serial_number') String? serialNumber,
      String status,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'warehouse_location_id') int? warehouseLocationId,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'warehouse_name') String? warehouseName});
}

/// @nodoc
class _$EquipmentListDtoCopyWithImpl<$Res, $Val extends EquipmentListDto>
    implements $EquipmentListDtoCopyWith<$Res> {
  _$EquipmentListDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of EquipmentListDto
  /// 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? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? status = null,
    Object? companyId = freezed,
    Object? warehouseLocationId = freezed,
    Object? createdAt = null,
    Object? companyName = 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,
      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?,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // 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 _$$EquipmentListDtoImplCopyWith<$Res>
    implements $EquipmentListDtoCopyWith<$Res> {
  factory _$$EquipmentListDtoImplCopyWith(_$EquipmentListDtoImpl value,
          $Res Function(_$EquipmentListDtoImpl) then) =
      __$$EquipmentListDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'equipment_number') String equipmentNumber,
      String manufacturer,
      @JsonKey(name: 'model_name') String? modelName,
      @JsonKey(name: 'serial_number') String? serialNumber,
      String status,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'warehouse_location_id') int? warehouseLocationId,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'warehouse_name') String? warehouseName});
}

/// @nodoc
class __$$EquipmentListDtoImplCopyWithImpl<$Res>
    extends _$EquipmentListDtoCopyWithImpl<$Res, _$EquipmentListDtoImpl>
    implements _$$EquipmentListDtoImplCopyWith<$Res> {
  __$$EquipmentListDtoImplCopyWithImpl(_$EquipmentListDtoImpl _value,
      $Res Function(_$EquipmentListDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentListDto
  /// 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? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? status = null,
    Object? companyId = freezed,
    Object? warehouseLocationId = freezed,
    Object? createdAt = null,
    Object? companyName = freezed,
    Object? warehouseName = freezed,
  }) {
    return _then(_$EquipmentListDtoImpl(
      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,
      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?,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // 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 _$EquipmentListDtoImpl implements _EquipmentListDto {
  const _$EquipmentListDtoImpl(
      {required this.id,
      @JsonKey(name: 'equipment_number') required this.equipmentNumber,
      required this.manufacturer,
      @JsonKey(name: 'model_name') this.modelName,
      @JsonKey(name: 'serial_number') this.serialNumber,
      required this.status,
      @JsonKey(name: 'company_id') this.companyId,
      @JsonKey(name: 'warehouse_location_id') this.warehouseLocationId,
      @JsonKey(name: 'created_at') required this.createdAt,
      @JsonKey(name: 'company_name') this.companyName,
      @JsonKey(name: 'warehouse_name') this.warehouseName});

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

  @override
  final int id;
  @override
  @JsonKey(name: 'equipment_number')
  final String equipmentNumber;
  @override
  final String manufacturer;
  @override
  @JsonKey(name: 'model_name')
  final String? modelName;
  @override
  @JsonKey(name: 'serial_number')
  final String? serialNumber;
  @override
  final String status;
  @override
  @JsonKey(name: 'company_id')
  final int? companyId;
  @override
  @JsonKey(name: 'warehouse_location_id')
  final int? warehouseLocationId;
  @override
  @JsonKey(name: 'created_at')
  final DateTime createdAt;
// 추가 필드 (조인된 데이터)
  @override
  @JsonKey(name: 'company_name')
  final String? companyName;
  @override
  @JsonKey(name: 'warehouse_name')
  final String? warehouseName;

  @override
  String toString() {
    return 'EquipmentListDto(id: $id, equipmentNumber: $equipmentNumber, manufacturer: $manufacturer, modelName: $modelName, serialNumber: $serialNumber, status: $status, companyId: $companyId, warehouseLocationId: $warehouseLocationId, createdAt: $createdAt, companyName: $companyName, warehouseName: $warehouseName)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentListDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.equipmentNumber, equipmentNumber) ||
                other.equipmentNumber == equipmentNumber) &&
            (identical(other.manufacturer, manufacturer) ||
                other.manufacturer == manufacturer) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.status, status) || other.status == status) &&
            (identical(other.companyId, companyId) ||
                other.companyId == companyId) &&
            (identical(other.warehouseLocationId, warehouseLocationId) ||
                other.warehouseLocationId == warehouseLocationId) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.warehouseName, warehouseName) ||
                other.warehouseName == warehouseName));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      equipmentNumber,
      manufacturer,
      modelName,
      serialNumber,
      status,
      companyId,
      warehouseLocationId,
      createdAt,
      companyName,
      warehouseName);

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

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

abstract class _EquipmentListDto implements EquipmentListDto {
  const factory _EquipmentListDto(
      {required final int id,
      @JsonKey(name: 'equipment_number') required final String equipmentNumber,
      required final String manufacturer,
      @JsonKey(name: 'model_name') final String? modelName,
      @JsonKey(name: 'serial_number') final String? serialNumber,
      required final String status,
      @JsonKey(name: 'company_id') final int? companyId,
      @JsonKey(name: 'warehouse_location_id') final int? warehouseLocationId,
      @JsonKey(name: 'created_at') required final DateTime createdAt,
      @JsonKey(name: 'company_name') final String? companyName,
      @JsonKey(name: 'warehouse_name')
      final String? warehouseName}) = _$EquipmentListDtoImpl;

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

  @override
  int get id;
  @override
  @JsonKey(name: 'equipment_number')
  String get equipmentNumber;
  @override
  String get manufacturer;
  @override
  @JsonKey(name: 'model_name')
  String? get modelName;
  @override
  @JsonKey(name: 'serial_number')
  String? get serialNumber;
  @override
  String get status;
  @override
  @JsonKey(name: 'company_id')
  int? get companyId;
  @override
  @JsonKey(name: 'warehouse_location_id')
  int? get warehouseLocationId;
  @override
  @JsonKey(name: 'created_at')
  DateTime get createdAt; // 추가 필드 (조인된 데이터)
  @override
  @JsonKey(name: 'company_name')
  String? get companyName;
  @override
  @JsonKey(name: 'warehouse_name')
  String? get warehouseName;

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

EquipmentListResponseDto _$EquipmentListResponseDtoFromJson(
    Map<String, dynamic> json) {
  return _EquipmentListResponseDto.fromJson(json);
}

/// @nodoc
mixin _$EquipmentListResponseDto {
  List<EquipmentListDto> get items => throw _privateConstructorUsedError;
  int get total => throw _privateConstructorUsedError;
  int get page => throw _privateConstructorUsedError;
  @JsonKey(name: 'per_page')
  int get perPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $EquipmentListResponseDtoCopyWith<$Res> {
  factory $EquipmentListResponseDtoCopyWith(EquipmentListResponseDto value,
          $Res Function(EquipmentListResponseDto) then) =
      _$EquipmentListResponseDtoCopyWithImpl<$Res, EquipmentListResponseDto>;
  @useResult
  $Res call(
      {List<EquipmentListDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class _$EquipmentListResponseDtoCopyWithImpl<$Res,
        $Val extends EquipmentListResponseDto>
    implements $EquipmentListResponseDtoCopyWith<$Res> {
  _$EquipmentListResponseDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of EquipmentListResponseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_value.copyWith(
      items: null == items
          ? _value.items
          : items // ignore: cast_nullable_to_non_nullable
              as List<EquipmentListDto>,
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      page: null == page
          ? _value.page
          : page // ignore: cast_nullable_to_non_nullable
              as int,
      perPage: null == perPage
          ? _value.perPage
          : perPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentListResponseDtoImplCopyWith<$Res>
    implements $EquipmentListResponseDtoCopyWith<$Res> {
  factory _$$EquipmentListResponseDtoImplCopyWith(
          _$EquipmentListResponseDtoImpl value,
          $Res Function(_$EquipmentListResponseDtoImpl) then) =
      __$$EquipmentListResponseDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {List<EquipmentListDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$EquipmentListResponseDtoImplCopyWithImpl<$Res>
    extends _$EquipmentListResponseDtoCopyWithImpl<$Res,
        _$EquipmentListResponseDtoImpl>
    implements _$$EquipmentListResponseDtoImplCopyWith<$Res> {
  __$$EquipmentListResponseDtoImplCopyWithImpl(
      _$EquipmentListResponseDtoImpl _value,
      $Res Function(_$EquipmentListResponseDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentListResponseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_$EquipmentListResponseDtoImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<EquipmentListDto>,
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      page: null == page
          ? _value.page
          : page // ignore: cast_nullable_to_non_nullable
              as int,
      perPage: null == perPage
          ? _value.perPage
          : perPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentListResponseDtoImpl implements _EquipmentListResponseDto {
  const _$EquipmentListResponseDtoImpl(
      {required final List<EquipmentListDto> items,
      required this.total,
      required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _items = items;

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

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

  @override
  final int total;
  @override
  final int page;
  @override
  @JsonKey(name: 'per_page')
  final int perPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;

  @override
  String toString() {
    return 'EquipmentListResponseDto(items: $items, total: $total, page: $page, perPage: $perPage, totalPages: $totalPages)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentListResponseDtoImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.total, total) || other.total == total) &&
            (identical(other.page, page) || other.page == page) &&
            (identical(other.perPage, perPage) || other.perPage == perPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      const DeepCollectionEquality().hash(_items),
      total,
      page,
      perPage,
      totalPages);

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

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

abstract class _EquipmentListResponseDto implements EquipmentListResponseDto {
  const factory _EquipmentListResponseDto(
          {required final List<EquipmentListDto> items,
          required final int total,
          required final int page,
          @JsonKey(name: 'per_page') required final int perPage,
          @JsonKey(name: 'total_pages') required final int totalPages}) =
      _$EquipmentListResponseDtoImpl;

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

  @override
  List<EquipmentListDto> get items;
  @override
  int get total;
  @override
  int get page;
  @override
  @JsonKey(name: 'per_page')
  int get perPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;

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