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

CreateWarehouseLocationRequest _$CreateWarehouseLocationRequestFromJson(
    Map<String, dynamic> json) {
  return _CreateWarehouseLocationRequest.fromJson(json);
}

/// @nodoc
mixin _$CreateWarehouseLocationRequest {
  String get name => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_name')
  String? get managerName => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_phone')
  String? get managerPhone => throw _privateConstructorUsedError;
  int? get capacity => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CreateWarehouseLocationRequestCopyWith<$Res> {
  factory $CreateWarehouseLocationRequestCopyWith(
          CreateWarehouseLocationRequest value,
          $Res Function(CreateWarehouseLocationRequest) then) =
      _$CreateWarehouseLocationRequestCopyWithImpl<$Res,
          CreateWarehouseLocationRequest>;
  @useResult
  $Res call(
      {String name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark});
}

/// @nodoc
class _$CreateWarehouseLocationRequestCopyWithImpl<$Res,
        $Val extends CreateWarehouseLocationRequest>
    implements $CreateWarehouseLocationRequestCopyWith<$Res> {
  _$CreateWarehouseLocationRequestCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CreateWarehouseLocationRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CreateWarehouseLocationRequestImplCopyWith<$Res>
    implements $CreateWarehouseLocationRequestCopyWith<$Res> {
  factory _$$CreateWarehouseLocationRequestImplCopyWith(
          _$CreateWarehouseLocationRequestImpl value,
          $Res Function(_$CreateWarehouseLocationRequestImpl) then) =
      __$$CreateWarehouseLocationRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark});
}

/// @nodoc
class __$$CreateWarehouseLocationRequestImplCopyWithImpl<$Res>
    extends _$CreateWarehouseLocationRequestCopyWithImpl<$Res,
        _$CreateWarehouseLocationRequestImpl>
    implements _$$CreateWarehouseLocationRequestImplCopyWith<$Res> {
  __$$CreateWarehouseLocationRequestImplCopyWithImpl(
      _$CreateWarehouseLocationRequestImpl _value,
      $Res Function(_$CreateWarehouseLocationRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of CreateWarehouseLocationRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$CreateWarehouseLocationRequestImpl(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CreateWarehouseLocationRequestImpl
    implements _CreateWarehouseLocationRequest {
  const _$CreateWarehouseLocationRequestImpl(
      {required this.name,
      this.address,
      @JsonKey(name: 'manager_name') this.managerName,
      @JsonKey(name: 'manager_phone') this.managerPhone,
      this.capacity,
      this.remark});

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

  @override
  final String name;
  @override
  final String? address;
  @override
  @JsonKey(name: 'manager_name')
  final String? managerName;
  @override
  @JsonKey(name: 'manager_phone')
  final String? managerPhone;
  @override
  final int? capacity;
  @override
  final String? remark;

  @override
  String toString() {
    return 'CreateWarehouseLocationRequest(name: $name, address: $address, managerName: $managerName, managerPhone: $managerPhone, capacity: $capacity, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CreateWarehouseLocationRequestImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.managerName, managerName) ||
                other.managerName == managerName) &&
            (identical(other.managerPhone, managerPhone) ||
                other.managerPhone == managerPhone) &&
            (identical(other.capacity, capacity) ||
                other.capacity == capacity) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType, name, address, managerName, managerPhone, capacity, remark);

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

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

abstract class _CreateWarehouseLocationRequest
    implements CreateWarehouseLocationRequest {
  const factory _CreateWarehouseLocationRequest(
      {required final String name,
      final String? address,
      @JsonKey(name: 'manager_name') final String? managerName,
      @JsonKey(name: 'manager_phone') final String? managerPhone,
      final int? capacity,
      final String? remark}) = _$CreateWarehouseLocationRequestImpl;

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

  @override
  String get name;
  @override
  String? get address;
  @override
  @JsonKey(name: 'manager_name')
  String? get managerName;
  @override
  @JsonKey(name: 'manager_phone')
  String? get managerPhone;
  @override
  int? get capacity;
  @override
  String? get remark;

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

UpdateWarehouseLocationRequest _$UpdateWarehouseLocationRequestFromJson(
    Map<String, dynamic> json) {
  return _UpdateWarehouseLocationRequest.fromJson(json);
}

/// @nodoc
mixin _$UpdateWarehouseLocationRequest {
  String? get name => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_name')
  String? get managerName => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_phone')
  String? get managerPhone => throw _privateConstructorUsedError;
  int? get capacity => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $UpdateWarehouseLocationRequestCopyWith<$Res> {
  factory $UpdateWarehouseLocationRequestCopyWith(
          UpdateWarehouseLocationRequest value,
          $Res Function(UpdateWarehouseLocationRequest) then) =
      _$UpdateWarehouseLocationRequestCopyWithImpl<$Res,
          UpdateWarehouseLocationRequest>;
  @useResult
  $Res call(
      {String? name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark});
}

/// @nodoc
class _$UpdateWarehouseLocationRequestCopyWithImpl<$Res,
        $Val extends UpdateWarehouseLocationRequest>
    implements $UpdateWarehouseLocationRequestCopyWith<$Res> {
  _$UpdateWarehouseLocationRequestCopyWithImpl(this._value, this._then);

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

  /// Create a copy of UpdateWarehouseLocationRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = freezed,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      name: freezed == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String?,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$UpdateWarehouseLocationRequestImplCopyWith<$Res>
    implements $UpdateWarehouseLocationRequestCopyWith<$Res> {
  factory _$$UpdateWarehouseLocationRequestImplCopyWith(
          _$UpdateWarehouseLocationRequestImpl value,
          $Res Function(_$UpdateWarehouseLocationRequestImpl) then) =
      __$$UpdateWarehouseLocationRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String? name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark});
}

/// @nodoc
class __$$UpdateWarehouseLocationRequestImplCopyWithImpl<$Res>
    extends _$UpdateWarehouseLocationRequestCopyWithImpl<$Res,
        _$UpdateWarehouseLocationRequestImpl>
    implements _$$UpdateWarehouseLocationRequestImplCopyWith<$Res> {
  __$$UpdateWarehouseLocationRequestImplCopyWithImpl(
      _$UpdateWarehouseLocationRequestImpl _value,
      $Res Function(_$UpdateWarehouseLocationRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of UpdateWarehouseLocationRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = freezed,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$UpdateWarehouseLocationRequestImpl(
      name: freezed == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String?,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UpdateWarehouseLocationRequestImpl
    implements _UpdateWarehouseLocationRequest {
  const _$UpdateWarehouseLocationRequestImpl(
      {this.name,
      this.address,
      @JsonKey(name: 'manager_name') this.managerName,
      @JsonKey(name: 'manager_phone') this.managerPhone,
      this.capacity,
      this.remark});

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

  @override
  final String? name;
  @override
  final String? address;
  @override
  @JsonKey(name: 'manager_name')
  final String? managerName;
  @override
  @JsonKey(name: 'manager_phone')
  final String? managerPhone;
  @override
  final int? capacity;
  @override
  final String? remark;

  @override
  String toString() {
    return 'UpdateWarehouseLocationRequest(name: $name, address: $address, managerName: $managerName, managerPhone: $managerPhone, capacity: $capacity, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UpdateWarehouseLocationRequestImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.managerName, managerName) ||
                other.managerName == managerName) &&
            (identical(other.managerPhone, managerPhone) ||
                other.managerPhone == managerPhone) &&
            (identical(other.capacity, capacity) ||
                other.capacity == capacity) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType, name, address, managerName, managerPhone, capacity, remark);

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

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

abstract class _UpdateWarehouseLocationRequest
    implements UpdateWarehouseLocationRequest {
  const factory _UpdateWarehouseLocationRequest(
      {final String? name,
      final String? address,
      @JsonKey(name: 'manager_name') final String? managerName,
      @JsonKey(name: 'manager_phone') final String? managerPhone,
      final int? capacity,
      final String? remark}) = _$UpdateWarehouseLocationRequestImpl;

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

  @override
  String? get name;
  @override
  String? get address;
  @override
  @JsonKey(name: 'manager_name')
  String? get managerName;
  @override
  @JsonKey(name: 'manager_phone')
  String? get managerPhone;
  @override
  int? get capacity;
  @override
  String? get remark;

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

WarehouseLocationDto _$WarehouseLocationDtoFromJson(Map<String, dynamic> json) {
  return _WarehouseLocationDto.fromJson(json);
}

/// @nodoc
mixin _$WarehouseLocationDto {
  int get id => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_name')
  String? get managerName => throw _privateConstructorUsedError;
  @JsonKey(name: 'manager_phone')
  String? get managerPhone => throw _privateConstructorUsedError;
  int? get capacity => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool get isActive => throw _privateConstructorUsedError;
  @JsonKey(name: 'created_at')
  DateTime get createdAt => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $WarehouseLocationDtoCopyWith<$Res> {
  factory $WarehouseLocationDtoCopyWith(WarehouseLocationDto value,
          $Res Function(WarehouseLocationDto) then) =
      _$WarehouseLocationDtoCopyWithImpl<$Res, WarehouseLocationDto>;
  @useResult
  $Res call(
      {int id,
      String name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'created_at') DateTime createdAt});
}

/// @nodoc
class _$WarehouseLocationDtoCopyWithImpl<$Res,
        $Val extends WarehouseLocationDto>
    implements $WarehouseLocationDtoCopyWith<$Res> {
  _$WarehouseLocationDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of WarehouseLocationDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? name = null,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
    Object? isActive = null,
    Object? createdAt = null,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$WarehouseLocationDtoImplCopyWith<$Res>
    implements $WarehouseLocationDtoCopyWith<$Res> {
  factory _$$WarehouseLocationDtoImplCopyWith(_$WarehouseLocationDtoImpl value,
          $Res Function(_$WarehouseLocationDtoImpl) then) =
      __$$WarehouseLocationDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      String name,
      String? address,
      @JsonKey(name: 'manager_name') String? managerName,
      @JsonKey(name: 'manager_phone') String? managerPhone,
      int? capacity,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'created_at') DateTime createdAt});
}

/// @nodoc
class __$$WarehouseLocationDtoImplCopyWithImpl<$Res>
    extends _$WarehouseLocationDtoCopyWithImpl<$Res, _$WarehouseLocationDtoImpl>
    implements _$$WarehouseLocationDtoImplCopyWith<$Res> {
  __$$WarehouseLocationDtoImplCopyWithImpl(_$WarehouseLocationDtoImpl _value,
      $Res Function(_$WarehouseLocationDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of WarehouseLocationDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? name = null,
    Object? address = freezed,
    Object? managerName = freezed,
    Object? managerPhone = freezed,
    Object? capacity = freezed,
    Object? remark = freezed,
    Object? isActive = null,
    Object? createdAt = null,
  }) {
    return _then(_$WarehouseLocationDtoImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      managerName: freezed == managerName
          ? _value.managerName
          : managerName // ignore: cast_nullable_to_non_nullable
              as String?,
      managerPhone: freezed == managerPhone
          ? _value.managerPhone
          : managerPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      capacity: freezed == capacity
          ? _value.capacity
          : capacity // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$WarehouseLocationDtoImpl implements _WarehouseLocationDto {
  const _$WarehouseLocationDtoImpl(
      {required this.id,
      required this.name,
      this.address,
      @JsonKey(name: 'manager_name') this.managerName,
      @JsonKey(name: 'manager_phone') this.managerPhone,
      this.capacity,
      this.remark,
      @JsonKey(name: 'is_active') required this.isActive,
      @JsonKey(name: 'created_at') required this.createdAt});

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

  @override
  final int id;
  @override
  final String name;
  @override
  final String? address;
  @override
  @JsonKey(name: 'manager_name')
  final String? managerName;
  @override
  @JsonKey(name: 'manager_phone')
  final String? managerPhone;
  @override
  final int? capacity;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_active')
  final bool isActive;
  @override
  @JsonKey(name: 'created_at')
  final DateTime createdAt;

  @override
  String toString() {
    return 'WarehouseLocationDto(id: $id, name: $name, address: $address, managerName: $managerName, managerPhone: $managerPhone, capacity: $capacity, remark: $remark, isActive: $isActive, createdAt: $createdAt)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$WarehouseLocationDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.managerName, managerName) ||
                other.managerName == managerName) &&
            (identical(other.managerPhone, managerPhone) ||
                other.managerPhone == managerPhone) &&
            (identical(other.capacity, capacity) ||
                other.capacity == capacity) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, id, name, address, managerName,
      managerPhone, capacity, remark, isActive, createdAt);

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

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

abstract class _WarehouseLocationDto implements WarehouseLocationDto {
  const factory _WarehouseLocationDto(
          {required final int id,
          required final String name,
          final String? address,
          @JsonKey(name: 'manager_name') final String? managerName,
          @JsonKey(name: 'manager_phone') final String? managerPhone,
          final int? capacity,
          final String? remark,
          @JsonKey(name: 'is_active') required final bool isActive,
          @JsonKey(name: 'created_at') required final DateTime createdAt}) =
      _$WarehouseLocationDtoImpl;

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

  @override
  int get id;
  @override
  String get name;
  @override
  String? get address;
  @override
  @JsonKey(name: 'manager_name')
  String? get managerName;
  @override
  @JsonKey(name: 'manager_phone')
  String? get managerPhone;
  @override
  int? get capacity;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_active')
  bool get isActive;
  @override
  @JsonKey(name: 'created_at')
  DateTime get createdAt;

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

WarehouseLocationListDto _$WarehouseLocationListDtoFromJson(
    Map<String, dynamic> json) {
  return _WarehouseLocationListDto.fromJson(json);
}

/// @nodoc
mixin _$WarehouseLocationListDto {
  List<WarehouseLocationDto> 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 WarehouseLocationListDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

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

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

/// @nodoc
class _$WarehouseLocationListDtoCopyWithImpl<$Res,
        $Val extends WarehouseLocationListDto>
    implements $WarehouseLocationListDtoCopyWith<$Res> {
  _$WarehouseLocationListDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of WarehouseLocationListDto
  /// 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<WarehouseLocationDto>,
      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 _$$WarehouseLocationListDtoImplCopyWith<$Res>
    implements $WarehouseLocationListDtoCopyWith<$Res> {
  factory _$$WarehouseLocationListDtoImplCopyWith(
          _$WarehouseLocationListDtoImpl value,
          $Res Function(_$WarehouseLocationListDtoImpl) then) =
      __$$WarehouseLocationListDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {List<WarehouseLocationDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$WarehouseLocationListDtoImplCopyWithImpl<$Res>
    extends _$WarehouseLocationListDtoCopyWithImpl<$Res,
        _$WarehouseLocationListDtoImpl>
    implements _$$WarehouseLocationListDtoImplCopyWith<$Res> {
  __$$WarehouseLocationListDtoImplCopyWithImpl(
      _$WarehouseLocationListDtoImpl _value,
      $Res Function(_$WarehouseLocationListDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of WarehouseLocationListDto
  /// 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(_$WarehouseLocationListDtoImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<WarehouseLocationDto>,
      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 _$WarehouseLocationListDtoImpl implements _WarehouseLocationListDto {
  const _$WarehouseLocationListDtoImpl(
      {required final List<WarehouseLocationDto> items,
      required this.total,
      required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _items = items;

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

  final List<WarehouseLocationDto> _items;
  @override
  List<WarehouseLocationDto> 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 'WarehouseLocationListDto(items: $items, total: $total, page: $page, perPage: $perPage, totalPages: $totalPages)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$WarehouseLocationListDtoImpl &&
            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 WarehouseLocationListDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$WarehouseLocationListDtoImplCopyWith<_$WarehouseLocationListDtoImpl>
      get copyWith => __$$WarehouseLocationListDtoImplCopyWithImpl<
          _$WarehouseLocationListDtoImpl>(this, _$identity);

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

abstract class _WarehouseLocationListDto implements WarehouseLocationListDto {
  const factory _WarehouseLocationListDto(
          {required final List<WarehouseLocationDto> 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}) =
      _$WarehouseLocationListDtoImpl;

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

  @override
  List<WarehouseLocationDto> 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 WarehouseLocationListDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$WarehouseLocationListDtoImplCopyWith<_$WarehouseLocationListDtoImpl>
      get copyWith => throw _privateConstructorUsedError;
}

WarehouseCapacityInfo _$WarehouseCapacityInfoFromJson(
    Map<String, dynamic> json) {
  return _WarehouseCapacityInfo.fromJson(json);
}

/// @nodoc
mixin _$WarehouseCapacityInfo {
  @JsonKey(name: 'warehouse_id')
  int get warehouseId => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_capacity')
  int get totalCapacity => throw _privateConstructorUsedError;
  @JsonKey(name: 'used_capacity')
  int get usedCapacity => throw _privateConstructorUsedError;
  @JsonKey(name: 'available_capacity')
  int get availableCapacity => throw _privateConstructorUsedError;
  @JsonKey(name: 'usage_percentage')
  double get usagePercentage => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_count')
  int get equipmentCount => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $WarehouseCapacityInfoCopyWith<$Res> {
  factory $WarehouseCapacityInfoCopyWith(WarehouseCapacityInfo value,
          $Res Function(WarehouseCapacityInfo) then) =
      _$WarehouseCapacityInfoCopyWithImpl<$Res, WarehouseCapacityInfo>;
  @useResult
  $Res call(
      {@JsonKey(name: 'warehouse_id') int warehouseId,
      @JsonKey(name: 'total_capacity') int totalCapacity,
      @JsonKey(name: 'used_capacity') int usedCapacity,
      @JsonKey(name: 'available_capacity') int availableCapacity,
      @JsonKey(name: 'usage_percentage') double usagePercentage,
      @JsonKey(name: 'equipment_count') int equipmentCount});
}

/// @nodoc
class _$WarehouseCapacityInfoCopyWithImpl<$Res,
        $Val extends WarehouseCapacityInfo>
    implements $WarehouseCapacityInfoCopyWith<$Res> {
  _$WarehouseCapacityInfoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of WarehouseCapacityInfo
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? warehouseId = null,
    Object? totalCapacity = null,
    Object? usedCapacity = null,
    Object? availableCapacity = null,
    Object? usagePercentage = null,
    Object? equipmentCount = null,
  }) {
    return _then(_value.copyWith(
      warehouseId: null == warehouseId
          ? _value.warehouseId
          : warehouseId // ignore: cast_nullable_to_non_nullable
              as int,
      totalCapacity: null == totalCapacity
          ? _value.totalCapacity
          : totalCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      usedCapacity: null == usedCapacity
          ? _value.usedCapacity
          : usedCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      availableCapacity: null == availableCapacity
          ? _value.availableCapacity
          : availableCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      usagePercentage: null == usagePercentage
          ? _value.usagePercentage
          : usagePercentage // ignore: cast_nullable_to_non_nullable
              as double,
      equipmentCount: null == equipmentCount
          ? _value.equipmentCount
          : equipmentCount // ignore: cast_nullable_to_non_nullable
              as int,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$WarehouseCapacityInfoImplCopyWith<$Res>
    implements $WarehouseCapacityInfoCopyWith<$Res> {
  factory _$$WarehouseCapacityInfoImplCopyWith(
          _$WarehouseCapacityInfoImpl value,
          $Res Function(_$WarehouseCapacityInfoImpl) then) =
      __$$WarehouseCapacityInfoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'warehouse_id') int warehouseId,
      @JsonKey(name: 'total_capacity') int totalCapacity,
      @JsonKey(name: 'used_capacity') int usedCapacity,
      @JsonKey(name: 'available_capacity') int availableCapacity,
      @JsonKey(name: 'usage_percentage') double usagePercentage,
      @JsonKey(name: 'equipment_count') int equipmentCount});
}

/// @nodoc
class __$$WarehouseCapacityInfoImplCopyWithImpl<$Res>
    extends _$WarehouseCapacityInfoCopyWithImpl<$Res,
        _$WarehouseCapacityInfoImpl>
    implements _$$WarehouseCapacityInfoImplCopyWith<$Res> {
  __$$WarehouseCapacityInfoImplCopyWithImpl(_$WarehouseCapacityInfoImpl _value,
      $Res Function(_$WarehouseCapacityInfoImpl) _then)
      : super(_value, _then);

  /// Create a copy of WarehouseCapacityInfo
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? warehouseId = null,
    Object? totalCapacity = null,
    Object? usedCapacity = null,
    Object? availableCapacity = null,
    Object? usagePercentage = null,
    Object? equipmentCount = null,
  }) {
    return _then(_$WarehouseCapacityInfoImpl(
      warehouseId: null == warehouseId
          ? _value.warehouseId
          : warehouseId // ignore: cast_nullable_to_non_nullable
              as int,
      totalCapacity: null == totalCapacity
          ? _value.totalCapacity
          : totalCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      usedCapacity: null == usedCapacity
          ? _value.usedCapacity
          : usedCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      availableCapacity: null == availableCapacity
          ? _value.availableCapacity
          : availableCapacity // ignore: cast_nullable_to_non_nullable
              as int,
      usagePercentage: null == usagePercentage
          ? _value.usagePercentage
          : usagePercentage // ignore: cast_nullable_to_non_nullable
              as double,
      equipmentCount: null == equipmentCount
          ? _value.equipmentCount
          : equipmentCount // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$WarehouseCapacityInfoImpl implements _WarehouseCapacityInfo {
  const _$WarehouseCapacityInfoImpl(
      {@JsonKey(name: 'warehouse_id') required this.warehouseId,
      @JsonKey(name: 'total_capacity') required this.totalCapacity,
      @JsonKey(name: 'used_capacity') required this.usedCapacity,
      @JsonKey(name: 'available_capacity') required this.availableCapacity,
      @JsonKey(name: 'usage_percentage') required this.usagePercentage,
      @JsonKey(name: 'equipment_count') required this.equipmentCount});

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

  @override
  @JsonKey(name: 'warehouse_id')
  final int warehouseId;
  @override
  @JsonKey(name: 'total_capacity')
  final int totalCapacity;
  @override
  @JsonKey(name: 'used_capacity')
  final int usedCapacity;
  @override
  @JsonKey(name: 'available_capacity')
  final int availableCapacity;
  @override
  @JsonKey(name: 'usage_percentage')
  final double usagePercentage;
  @override
  @JsonKey(name: 'equipment_count')
  final int equipmentCount;

  @override
  String toString() {
    return 'WarehouseCapacityInfo(warehouseId: $warehouseId, totalCapacity: $totalCapacity, usedCapacity: $usedCapacity, availableCapacity: $availableCapacity, usagePercentage: $usagePercentage, equipmentCount: $equipmentCount)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$WarehouseCapacityInfoImpl &&
            (identical(other.warehouseId, warehouseId) ||
                other.warehouseId == warehouseId) &&
            (identical(other.totalCapacity, totalCapacity) ||
                other.totalCapacity == totalCapacity) &&
            (identical(other.usedCapacity, usedCapacity) ||
                other.usedCapacity == usedCapacity) &&
            (identical(other.availableCapacity, availableCapacity) ||
                other.availableCapacity == availableCapacity) &&
            (identical(other.usagePercentage, usagePercentage) ||
                other.usagePercentage == usagePercentage) &&
            (identical(other.equipmentCount, equipmentCount) ||
                other.equipmentCount == equipmentCount));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, warehouseId, totalCapacity,
      usedCapacity, availableCapacity, usagePercentage, equipmentCount);

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

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

abstract class _WarehouseCapacityInfo implements WarehouseCapacityInfo {
  const factory _WarehouseCapacityInfo(
      {@JsonKey(name: 'warehouse_id') required final int warehouseId,
      @JsonKey(name: 'total_capacity') required final int totalCapacity,
      @JsonKey(name: 'used_capacity') required final int usedCapacity,
      @JsonKey(name: 'available_capacity') required final int availableCapacity,
      @JsonKey(name: 'usage_percentage') required final double usagePercentage,
      @JsonKey(name: 'equipment_count')
      required final int equipmentCount}) = _$WarehouseCapacityInfoImpl;

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

  @override
  @JsonKey(name: 'warehouse_id')
  int get warehouseId;
  @override
  @JsonKey(name: 'total_capacity')
  int get totalCapacity;
  @override
  @JsonKey(name: 'used_capacity')
  int get usedCapacity;
  @override
  @JsonKey(name: 'available_capacity')
  int get availableCapacity;
  @override
  @JsonKey(name: 'usage_percentage')
  double get usagePercentage;
  @override
  @JsonKey(name: 'equipment_count')
  int get equipmentCount;

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

WarehouseEquipmentDto _$WarehouseEquipmentDtoFromJson(
    Map<String, dynamic> json) {
  return _WarehouseEquipmentDto.fromJson(json);
}

/// @nodoc
mixin _$WarehouseEquipmentDto {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_number')
  String get equipmentNumber => throw _privateConstructorUsedError;
  String? get manufacturer => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_name')
  String? get equipmentName => throw _privateConstructorUsedError;
  @JsonKey(name: 'serial_number')
  String? get serialNumber => throw _privateConstructorUsedError;
  int get quantity => throw _privateConstructorUsedError;
  String? get status => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouse_location_id')
  int get warehouseLocationId => throw _privateConstructorUsedError;
  @JsonKey(name: 'stored_at')
  DateTime get storedAt => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $WarehouseEquipmentDtoCopyWith<$Res> {
  factory $WarehouseEquipmentDtoCopyWith(WarehouseEquipmentDto value,
          $Res Function(WarehouseEquipmentDto) then) =
      _$WarehouseEquipmentDtoCopyWithImpl<$Res, WarehouseEquipmentDto>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'equipment_number') String equipmentNumber,
      String? manufacturer,
      @JsonKey(name: 'equipment_name') String? equipmentName,
      @JsonKey(name: 'serial_number') String? serialNumber,
      int quantity,
      String? status,
      @JsonKey(name: 'warehouse_location_id') int warehouseLocationId,
      @JsonKey(name: 'stored_at') DateTime storedAt});
}

/// @nodoc
class _$WarehouseEquipmentDtoCopyWithImpl<$Res,
        $Val extends WarehouseEquipmentDto>
    implements $WarehouseEquipmentDtoCopyWith<$Res> {
  _$WarehouseEquipmentDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of WarehouseEquipmentDto
  /// 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 = freezed,
    Object? equipmentName = freezed,
    Object? serialNumber = freezed,
    Object? quantity = null,
    Object? status = freezed,
    Object? warehouseLocationId = null,
    Object? storedAt = null,
  }) {
    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: freezed == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String?,
      equipmentName: freezed == equipmentName
          ? _value.equipmentName
          : equipmentName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      quantity: null == quantity
          ? _value.quantity
          : quantity // ignore: cast_nullable_to_non_nullable
              as int,
      status: freezed == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseLocationId: null == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int,
      storedAt: null == storedAt
          ? _value.storedAt
          : storedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$WarehouseEquipmentDtoImplCopyWith<$Res>
    implements $WarehouseEquipmentDtoCopyWith<$Res> {
  factory _$$WarehouseEquipmentDtoImplCopyWith(
          _$WarehouseEquipmentDtoImpl value,
          $Res Function(_$WarehouseEquipmentDtoImpl) then) =
      __$$WarehouseEquipmentDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'equipment_number') String equipmentNumber,
      String? manufacturer,
      @JsonKey(name: 'equipment_name') String? equipmentName,
      @JsonKey(name: 'serial_number') String? serialNumber,
      int quantity,
      String? status,
      @JsonKey(name: 'warehouse_location_id') int warehouseLocationId,
      @JsonKey(name: 'stored_at') DateTime storedAt});
}

/// @nodoc
class __$$WarehouseEquipmentDtoImplCopyWithImpl<$Res>
    extends _$WarehouseEquipmentDtoCopyWithImpl<$Res,
        _$WarehouseEquipmentDtoImpl>
    implements _$$WarehouseEquipmentDtoImplCopyWith<$Res> {
  __$$WarehouseEquipmentDtoImplCopyWithImpl(_$WarehouseEquipmentDtoImpl _value,
      $Res Function(_$WarehouseEquipmentDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of WarehouseEquipmentDto
  /// 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 = freezed,
    Object? equipmentName = freezed,
    Object? serialNumber = freezed,
    Object? quantity = null,
    Object? status = freezed,
    Object? warehouseLocationId = null,
    Object? storedAt = null,
  }) {
    return _then(_$WarehouseEquipmentDtoImpl(
      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: freezed == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String?,
      equipmentName: freezed == equipmentName
          ? _value.equipmentName
          : equipmentName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      quantity: null == quantity
          ? _value.quantity
          : quantity // ignore: cast_nullable_to_non_nullable
              as int,
      status: freezed == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String?,
      warehouseLocationId: null == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int,
      storedAt: null == storedAt
          ? _value.storedAt
          : storedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$WarehouseEquipmentDtoImpl implements _WarehouseEquipmentDto {
  const _$WarehouseEquipmentDtoImpl(
      {required this.id,
      @JsonKey(name: 'equipment_number') required this.equipmentNumber,
      this.manufacturer,
      @JsonKey(name: 'equipment_name') this.equipmentName,
      @JsonKey(name: 'serial_number') this.serialNumber,
      required this.quantity,
      this.status,
      @JsonKey(name: 'warehouse_location_id') required this.warehouseLocationId,
      @JsonKey(name: 'stored_at') required this.storedAt});

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

  @override
  final int id;
  @override
  @JsonKey(name: 'equipment_number')
  final String equipmentNumber;
  @override
  final String? manufacturer;
  @override
  @JsonKey(name: 'equipment_name')
  final String? equipmentName;
  @override
  @JsonKey(name: 'serial_number')
  final String? serialNumber;
  @override
  final int quantity;
  @override
  final String? status;
  @override
  @JsonKey(name: 'warehouse_location_id')
  final int warehouseLocationId;
  @override
  @JsonKey(name: 'stored_at')
  final DateTime storedAt;

  @override
  String toString() {
    return 'WarehouseEquipmentDto(id: $id, equipmentNumber: $equipmentNumber, manufacturer: $manufacturer, equipmentName: $equipmentName, serialNumber: $serialNumber, quantity: $quantity, status: $status, warehouseLocationId: $warehouseLocationId, storedAt: $storedAt)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$WarehouseEquipmentDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.equipmentNumber, equipmentNumber) ||
                other.equipmentNumber == equipmentNumber) &&
            (identical(other.manufacturer, manufacturer) ||
                other.manufacturer == manufacturer) &&
            (identical(other.equipmentName, equipmentName) ||
                other.equipmentName == equipmentName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.quantity, quantity) ||
                other.quantity == quantity) &&
            (identical(other.status, status) || other.status == status) &&
            (identical(other.warehouseLocationId, warehouseLocationId) ||
                other.warehouseLocationId == warehouseLocationId) &&
            (identical(other.storedAt, storedAt) ||
                other.storedAt == storedAt));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      equipmentNumber,
      manufacturer,
      equipmentName,
      serialNumber,
      quantity,
      status,
      warehouseLocationId,
      storedAt);

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

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

abstract class _WarehouseEquipmentDto implements WarehouseEquipmentDto {
  const factory _WarehouseEquipmentDto(
      {required final int id,
      @JsonKey(name: 'equipment_number') required final String equipmentNumber,
      final String? manufacturer,
      @JsonKey(name: 'equipment_name') final String? equipmentName,
      @JsonKey(name: 'serial_number') final String? serialNumber,
      required final int quantity,
      final String? status,
      @JsonKey(name: 'warehouse_location_id')
      required final int warehouseLocationId,
      @JsonKey(name: 'stored_at')
      required final DateTime storedAt}) = _$WarehouseEquipmentDtoImpl;

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

  @override
  int get id;
  @override
  @JsonKey(name: 'equipment_number')
  String get equipmentNumber;
  @override
  String? get manufacturer;
  @override
  @JsonKey(name: 'equipment_name')
  String? get equipmentName;
  @override
  @JsonKey(name: 'serial_number')
  String? get serialNumber;
  @override
  int get quantity;
  @override
  String? get status;
  @override
  @JsonKey(name: 'warehouse_location_id')
  int get warehouseLocationId;
  @override
  @JsonKey(name: 'stored_at')
  DateTime get storedAt;

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

WarehouseEquipmentListDto _$WarehouseEquipmentListDtoFromJson(
    Map<String, dynamic> json) {
  return _WarehouseEquipmentListDto.fromJson(json);
}

/// @nodoc
mixin _$WarehouseEquipmentListDto {
  List<WarehouseEquipmentDto> 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 WarehouseEquipmentListDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

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

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

/// @nodoc
class _$WarehouseEquipmentListDtoCopyWithImpl<$Res,
        $Val extends WarehouseEquipmentListDto>
    implements $WarehouseEquipmentListDtoCopyWith<$Res> {
  _$WarehouseEquipmentListDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of WarehouseEquipmentListDto
  /// 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<WarehouseEquipmentDto>,
      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 _$$WarehouseEquipmentListDtoImplCopyWith<$Res>
    implements $WarehouseEquipmentListDtoCopyWith<$Res> {
  factory _$$WarehouseEquipmentListDtoImplCopyWith(
          _$WarehouseEquipmentListDtoImpl value,
          $Res Function(_$WarehouseEquipmentListDtoImpl) then) =
      __$$WarehouseEquipmentListDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {List<WarehouseEquipmentDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$WarehouseEquipmentListDtoImplCopyWithImpl<$Res>
    extends _$WarehouseEquipmentListDtoCopyWithImpl<$Res,
        _$WarehouseEquipmentListDtoImpl>
    implements _$$WarehouseEquipmentListDtoImplCopyWith<$Res> {
  __$$WarehouseEquipmentListDtoImplCopyWithImpl(
      _$WarehouseEquipmentListDtoImpl _value,
      $Res Function(_$WarehouseEquipmentListDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of WarehouseEquipmentListDto
  /// 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(_$WarehouseEquipmentListDtoImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<WarehouseEquipmentDto>,
      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 _$WarehouseEquipmentListDtoImpl implements _WarehouseEquipmentListDto {
  const _$WarehouseEquipmentListDtoImpl(
      {required final List<WarehouseEquipmentDto> items,
      required this.total,
      required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _items = items;

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

  final List<WarehouseEquipmentDto> _items;
  @override
  List<WarehouseEquipmentDto> 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 'WarehouseEquipmentListDto(items: $items, total: $total, page: $page, perPage: $perPage, totalPages: $totalPages)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$WarehouseEquipmentListDtoImpl &&
            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 WarehouseEquipmentListDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$WarehouseEquipmentListDtoImplCopyWith<_$WarehouseEquipmentListDtoImpl>
      get copyWith => __$$WarehouseEquipmentListDtoImplCopyWithImpl<
          _$WarehouseEquipmentListDtoImpl>(this, _$identity);

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

abstract class _WarehouseEquipmentListDto implements WarehouseEquipmentListDto {
  const factory _WarehouseEquipmentListDto(
          {required final List<WarehouseEquipmentDto> 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}) =
      _$WarehouseEquipmentListDtoImpl;

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

  @override
  List<WarehouseEquipmentDto> 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 WarehouseEquipmentListDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$WarehouseEquipmentListDtoImplCopyWith<_$WarehouseEquipmentListDtoImpl>
      get copyWith => throw _privateConstructorUsedError;
}
