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

StockStatusDto _$StockStatusDtoFromJson(Map<String, dynamic> json) {
  return _StockStatusDto.fromJson(json);
}

/// @nodoc
mixin _$StockStatusDto {
// 백엔드 StockStatusResponse와 정확히 매핑
  @JsonKey(name: 'equipment_id')
  int get equipmentId => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouse_id')
  int get warehouseId => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_serial')
  String get equipmentSerial => throw _privateConstructorUsedError;
  @JsonKey(name: 'model_name')
  String? get modelName => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouse_name')
  String get warehouseName => throw _privateConstructorUsedError;
  @JsonKey(name: 'current_quantity')
  int get currentQuantity => throw _privateConstructorUsedError;
  @JsonKey(name: 'last_transaction_date')
  DateTime? get lastTransactionDate => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $StockStatusDtoCopyWith<$Res> {
  factory $StockStatusDtoCopyWith(
          StockStatusDto value, $Res Function(StockStatusDto) then) =
      _$StockStatusDtoCopyWithImpl<$Res, StockStatusDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'equipment_id') int equipmentId,
      @JsonKey(name: 'warehouse_id') int warehouseId,
      @JsonKey(name: 'equipment_serial') String equipmentSerial,
      @JsonKey(name: 'model_name') String? modelName,
      @JsonKey(name: 'warehouse_name') String warehouseName,
      @JsonKey(name: 'current_quantity') int currentQuantity,
      @JsonKey(name: 'last_transaction_date') DateTime? lastTransactionDate});
}

/// @nodoc
class _$StockStatusDtoCopyWithImpl<$Res, $Val extends StockStatusDto>
    implements $StockStatusDtoCopyWith<$Res> {
  _$StockStatusDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of StockStatusDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? equipmentId = null,
    Object? warehouseId = null,
    Object? equipmentSerial = null,
    Object? modelName = freezed,
    Object? warehouseName = null,
    Object? currentQuantity = null,
    Object? lastTransactionDate = freezed,
  }) {
    return _then(_value.copyWith(
      equipmentId: null == equipmentId
          ? _value.equipmentId
          : equipmentId // ignore: cast_nullable_to_non_nullable
              as int,
      warehouseId: null == warehouseId
          ? _value.warehouseId
          : warehouseId // ignore: cast_nullable_to_non_nullable
              as int,
      equipmentSerial: null == equipmentSerial
          ? _value.equipmentSerial
          : equipmentSerial // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseName: null == warehouseName
          ? _value.warehouseName
          : warehouseName // ignore: cast_nullable_to_non_nullable
              as String,
      currentQuantity: null == currentQuantity
          ? _value.currentQuantity
          : currentQuantity // ignore: cast_nullable_to_non_nullable
              as int,
      lastTransactionDate: freezed == lastTransactionDate
          ? _value.lastTransactionDate
          : lastTransactionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$StockStatusDtoImplCopyWith<$Res>
    implements $StockStatusDtoCopyWith<$Res> {
  factory _$$StockStatusDtoImplCopyWith(_$StockStatusDtoImpl value,
          $Res Function(_$StockStatusDtoImpl) then) =
      __$$StockStatusDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'equipment_id') int equipmentId,
      @JsonKey(name: 'warehouse_id') int warehouseId,
      @JsonKey(name: 'equipment_serial') String equipmentSerial,
      @JsonKey(name: 'model_name') String? modelName,
      @JsonKey(name: 'warehouse_name') String warehouseName,
      @JsonKey(name: 'current_quantity') int currentQuantity,
      @JsonKey(name: 'last_transaction_date') DateTime? lastTransactionDate});
}

/// @nodoc
class __$$StockStatusDtoImplCopyWithImpl<$Res>
    extends _$StockStatusDtoCopyWithImpl<$Res, _$StockStatusDtoImpl>
    implements _$$StockStatusDtoImplCopyWith<$Res> {
  __$$StockStatusDtoImplCopyWithImpl(
      _$StockStatusDtoImpl _value, $Res Function(_$StockStatusDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of StockStatusDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? equipmentId = null,
    Object? warehouseId = null,
    Object? equipmentSerial = null,
    Object? modelName = freezed,
    Object? warehouseName = null,
    Object? currentQuantity = null,
    Object? lastTransactionDate = freezed,
  }) {
    return _then(_$StockStatusDtoImpl(
      equipmentId: null == equipmentId
          ? _value.equipmentId
          : equipmentId // ignore: cast_nullable_to_non_nullable
              as int,
      warehouseId: null == warehouseId
          ? _value.warehouseId
          : warehouseId // ignore: cast_nullable_to_non_nullable
              as int,
      equipmentSerial: null == equipmentSerial
          ? _value.equipmentSerial
          : equipmentSerial // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseName: null == warehouseName
          ? _value.warehouseName
          : warehouseName // ignore: cast_nullable_to_non_nullable
              as String,
      currentQuantity: null == currentQuantity
          ? _value.currentQuantity
          : currentQuantity // ignore: cast_nullable_to_non_nullable
              as int,
      lastTransactionDate: freezed == lastTransactionDate
          ? _value.lastTransactionDate
          : lastTransactionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$StockStatusDtoImpl implements _StockStatusDto {
  const _$StockStatusDtoImpl(
      {@JsonKey(name: 'equipment_id') required this.equipmentId,
      @JsonKey(name: 'warehouse_id') required this.warehouseId,
      @JsonKey(name: 'equipment_serial') required this.equipmentSerial,
      @JsonKey(name: 'model_name') this.modelName,
      @JsonKey(name: 'warehouse_name') required this.warehouseName,
      @JsonKey(name: 'current_quantity') required this.currentQuantity,
      @JsonKey(name: 'last_transaction_date') this.lastTransactionDate});

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

// 백엔드 StockStatusResponse와 정확히 매핑
  @override
  @JsonKey(name: 'equipment_id')
  final int equipmentId;
  @override
  @JsonKey(name: 'warehouse_id')
  final int warehouseId;
  @override
  @JsonKey(name: 'equipment_serial')
  final String equipmentSerial;
  @override
  @JsonKey(name: 'model_name')
  final String? modelName;
  @override
  @JsonKey(name: 'warehouse_name')
  final String warehouseName;
  @override
  @JsonKey(name: 'current_quantity')
  final int currentQuantity;
  @override
  @JsonKey(name: 'last_transaction_date')
  final DateTime? lastTransactionDate;

  @override
  String toString() {
    return 'StockStatusDto(equipmentId: $equipmentId, warehouseId: $warehouseId, equipmentSerial: $equipmentSerial, modelName: $modelName, warehouseName: $warehouseName, currentQuantity: $currentQuantity, lastTransactionDate: $lastTransactionDate)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$StockStatusDtoImpl &&
            (identical(other.equipmentId, equipmentId) ||
                other.equipmentId == equipmentId) &&
            (identical(other.warehouseId, warehouseId) ||
                other.warehouseId == warehouseId) &&
            (identical(other.equipmentSerial, equipmentSerial) ||
                other.equipmentSerial == equipmentSerial) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.warehouseName, warehouseName) ||
                other.warehouseName == warehouseName) &&
            (identical(other.currentQuantity, currentQuantity) ||
                other.currentQuantity == currentQuantity) &&
            (identical(other.lastTransactionDate, lastTransactionDate) ||
                other.lastTransactionDate == lastTransactionDate));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      equipmentId,
      warehouseId,
      equipmentSerial,
      modelName,
      warehouseName,
      currentQuantity,
      lastTransactionDate);

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

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

abstract class _StockStatusDto implements StockStatusDto {
  const factory _StockStatusDto(
      {@JsonKey(name: 'equipment_id') required final int equipmentId,
      @JsonKey(name: 'warehouse_id') required final int warehouseId,
      @JsonKey(name: 'equipment_serial') required final String equipmentSerial,
      @JsonKey(name: 'model_name') final String? modelName,
      @JsonKey(name: 'warehouse_name') required final String warehouseName,
      @JsonKey(name: 'current_quantity') required final int currentQuantity,
      @JsonKey(name: 'last_transaction_date')
      final DateTime? lastTransactionDate}) = _$StockStatusDtoImpl;

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

// 백엔드 StockStatusResponse와 정확히 매핑
  @override
  @JsonKey(name: 'equipment_id')
  int get equipmentId;
  @override
  @JsonKey(name: 'warehouse_id')
  int get warehouseId;
  @override
  @JsonKey(name: 'equipment_serial')
  String get equipmentSerial;
  @override
  @JsonKey(name: 'model_name')
  String? get modelName;
  @override
  @JsonKey(name: 'warehouse_name')
  String get warehouseName;
  @override
  @JsonKey(name: 'current_quantity')
  int get currentQuantity;
  @override
  @JsonKey(name: 'last_transaction_date')
  DateTime? get lastTransactionDate;

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

StockStatusListResponse _$StockStatusListResponseFromJson(
    Map<String, dynamic> json) {
  return _StockStatusListResponse.fromJson(json);
}

/// @nodoc
mixin _$StockStatusListResponse {
  List<StockStatusDto> get items => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $StockStatusListResponseCopyWith<$Res> {
  factory $StockStatusListResponseCopyWith(StockStatusListResponse value,
          $Res Function(StockStatusListResponse) then) =
      _$StockStatusListResponseCopyWithImpl<$Res, StockStatusListResponse>;
  @useResult
  $Res call({List<StockStatusDto> items});
}

/// @nodoc
class _$StockStatusListResponseCopyWithImpl<$Res,
        $Val extends StockStatusListResponse>
    implements $StockStatusListResponseCopyWith<$Res> {
  _$StockStatusListResponseCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$StockStatusListResponseImplCopyWith<$Res>
    implements $StockStatusListResponseCopyWith<$Res> {
  factory _$$StockStatusListResponseImplCopyWith(
          _$StockStatusListResponseImpl value,
          $Res Function(_$StockStatusListResponseImpl) then) =
      __$$StockStatusListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({List<StockStatusDto> items});
}

/// @nodoc
class __$$StockStatusListResponseImplCopyWithImpl<$Res>
    extends _$StockStatusListResponseCopyWithImpl<$Res,
        _$StockStatusListResponseImpl>
    implements _$$StockStatusListResponseImplCopyWith<$Res> {
  __$$StockStatusListResponseImplCopyWithImpl(
      _$StockStatusListResponseImpl _value,
      $Res Function(_$StockStatusListResponseImpl) _then)
      : super(_value, _then);

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

/// @nodoc
@JsonSerializable()
class _$StockStatusListResponseImpl implements _StockStatusListResponse {
  const _$StockStatusListResponseImpl(
      {required final List<StockStatusDto> items})
      : _items = items;

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

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

  @override
  String toString() {
    return 'StockStatusListResponse(items: $items)';
  }

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

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

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

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

abstract class _StockStatusListResponse implements StockStatusListResponse {
  const factory _StockStatusListResponse(
          {required final List<StockStatusDto> items}) =
      _$StockStatusListResponseImpl;

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

  @override
  List<StockStatusDto> get items;

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