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

CompanyDto _$CompanyDtoFromJson(Map<String, dynamic> json) {
  return _CompanyDto.fromJson(json);
}

/// @nodoc
mixin _$CompanyDto {
  int? get id => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_phone')
  String get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode => throw _privateConstructorUsedError;
  String get address => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool get isActive => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_deleted')
  bool get isDeleted => throw _privateConstructorUsedError;
  @JsonKey(name: 'registered_at')
  DateTime? get registeredAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt =>
      throw _privateConstructorUsedError; // Nested data (optional, populated in GET requests)
  @JsonKey(name: 'parent_company')
  CompanyNameDto? get parentCompany => throw _privateConstructorUsedError;
  @JsonKey(name: 'zipcode')
  ZipcodeDto? get zipcode => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyDtoCopyWith<$Res> {
  factory $CompanyDtoCopyWith(
          CompanyDto value, $Res Function(CompanyDto) then) =
      _$CompanyDtoCopyWithImpl<$Res, CompanyDto>;
  @useResult
  $Res call(
      {int? id,
      String name,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String address,
      String? remark,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'registered_at') DateTime? registeredAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt,
      @JsonKey(name: 'parent_company') CompanyNameDto? parentCompany,
      @JsonKey(name: 'zipcode') ZipcodeDto? zipcode});

  $CompanyNameDtoCopyWith<$Res>? get parentCompany;
  $ZipcodeDtoCopyWith<$Res>? get zipcode;
}

/// @nodoc
class _$CompanyDtoCopyWithImpl<$Res, $Val extends CompanyDto>
    implements $CompanyDtoCopyWith<$Res> {
  _$CompanyDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CompanyDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = null,
    Object? contactName = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = null,
    Object? remark = freezed,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? isActive = null,
    Object? isDeleted = null,
    Object? registeredAt = freezed,
    Object? updatedAt = freezed,
    Object? parentCompany = freezed,
    Object? zipcode = freezed,
  }) {
    return _then(_value.copyWith(
      id: freezed == 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,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPhone: null == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String,
      contactEmail: null == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: null == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool,
      isCustomer: null == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      registeredAt: freezed == registeredAt
          ? _value.registeredAt
          : registeredAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      parentCompany: freezed == parentCompany
          ? _value.parentCompany
          : parentCompany // ignore: cast_nullable_to_non_nullable
              as CompanyNameDto?,
      zipcode: freezed == zipcode
          ? _value.zipcode
          : zipcode // ignore: cast_nullable_to_non_nullable
              as ZipcodeDto?,
    ) as $Val);
  }

  /// Create a copy of CompanyDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $CompanyNameDtoCopyWith<$Res>? get parentCompany {
    if (_value.parentCompany == null) {
      return null;
    }

    return $CompanyNameDtoCopyWith<$Res>(_value.parentCompany!, (value) {
      return _then(_value.copyWith(parentCompany: value) as $Val);
    });
  }

  /// Create a copy of CompanyDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $ZipcodeDtoCopyWith<$Res>? get zipcode {
    if (_value.zipcode == null) {
      return null;
    }

    return $ZipcodeDtoCopyWith<$Res>(_value.zipcode!, (value) {
      return _then(_value.copyWith(zipcode: value) as $Val);
    });
  }
}

/// @nodoc
abstract class _$$CompanyDtoImplCopyWith<$Res>
    implements $CompanyDtoCopyWith<$Res> {
  factory _$$CompanyDtoImplCopyWith(
          _$CompanyDtoImpl value, $Res Function(_$CompanyDtoImpl) then) =
      __$$CompanyDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int? id,
      String name,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String address,
      String? remark,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'registered_at') DateTime? registeredAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt,
      @JsonKey(name: 'parent_company') CompanyNameDto? parentCompany,
      @JsonKey(name: 'zipcode') ZipcodeDto? zipcode});

  @override
  $CompanyNameDtoCopyWith<$Res>? get parentCompany;
  @override
  $ZipcodeDtoCopyWith<$Res>? get zipcode;
}

/// @nodoc
class __$$CompanyDtoImplCopyWithImpl<$Res>
    extends _$CompanyDtoCopyWithImpl<$Res, _$CompanyDtoImpl>
    implements _$$CompanyDtoImplCopyWith<$Res> {
  __$$CompanyDtoImplCopyWithImpl(
      _$CompanyDtoImpl _value, $Res Function(_$CompanyDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of CompanyDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = null,
    Object? contactName = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = null,
    Object? remark = freezed,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? isActive = null,
    Object? isDeleted = null,
    Object? registeredAt = freezed,
    Object? updatedAt = freezed,
    Object? parentCompany = freezed,
    Object? zipcode = freezed,
  }) {
    return _then(_$CompanyDtoImpl(
      id: freezed == 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,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPhone: null == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String,
      contactEmail: null == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: null == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool,
      isCustomer: null == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      registeredAt: freezed == registeredAt
          ? _value.registeredAt
          : registeredAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      parentCompany: freezed == parentCompany
          ? _value.parentCompany
          : parentCompany // ignore: cast_nullable_to_non_nullable
              as CompanyNameDto?,
      zipcode: freezed == zipcode
          ? _value.zipcode
          : zipcode // ignore: cast_nullable_to_non_nullable
              as ZipcodeDto?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CompanyDtoImpl extends _CompanyDto {
  const _$CompanyDtoImpl(
      {this.id,
      required this.name,
      @JsonKey(name: 'contact_name') required this.contactName,
      @JsonKey(name: 'contact_phone') required this.contactPhone,
      @JsonKey(name: 'contact_email') required this.contactEmail,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') this.zipcodesZipcode,
      required this.address,
      this.remark,
      @JsonKey(name: 'is_partner') this.isPartner = false,
      @JsonKey(name: 'is_customer') this.isCustomer = false,
      @JsonKey(name: 'is_active') this.isActive = false,
      @JsonKey(name: 'is_deleted') this.isDeleted = false,
      @JsonKey(name: 'registered_at') this.registeredAt,
      @JsonKey(name: 'updated_at') this.updatedAt,
      @JsonKey(name: 'parent_company') this.parentCompany,
      @JsonKey(name: 'zipcode') this.zipcode})
      : super._();

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

  @override
  final int? id;
  @override
  final String name;
  @override
  @JsonKey(name: 'contact_name')
  final String contactName;
  @override
  @JsonKey(name: 'contact_phone')
  final String contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  final String? zipcodesZipcode;
  @override
  final String address;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_partner')
  final bool isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool isCustomer;
  @override
  @JsonKey(name: 'is_active')
  final bool isActive;
  @override
  @JsonKey(name: 'is_deleted')
  final bool isDeleted;
  @override
  @JsonKey(name: 'registered_at')
  final DateTime? registeredAt;
  @override
  @JsonKey(name: 'updated_at')
  final DateTime? updatedAt;
// Nested data (optional, populated in GET requests)
  @override
  @JsonKey(name: 'parent_company')
  final CompanyNameDto? parentCompany;
  @override
  @JsonKey(name: 'zipcode')
  final ZipcodeDto? zipcode;

  @override
  String toString() {
    return 'CompanyDto(id: $id, name: $name, contactName: $contactName, contactPhone: $contactPhone, contactEmail: $contactEmail, parentCompanyId: $parentCompanyId, zipcodesZipcode: $zipcodesZipcode, address: $address, remark: $remark, isPartner: $isPartner, isCustomer: $isCustomer, isActive: $isActive, isDeleted: $isDeleted, registeredAt: $registeredAt, updatedAt: $updatedAt, parentCompany: $parentCompany, zipcode: $zipcode)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CompanyDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.contactName, contactName) ||
                other.contactName == contactName) &&
            (identical(other.contactPhone, contactPhone) ||
                other.contactPhone == contactPhone) &&
            (identical(other.contactEmail, contactEmail) ||
                other.contactEmail == contactEmail) &&
            (identical(other.parentCompanyId, parentCompanyId) ||
                other.parentCompanyId == parentCompanyId) &&
            (identical(other.zipcodesZipcode, zipcodesZipcode) ||
                other.zipcodesZipcode == zipcodesZipcode) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isPartner, isPartner) ||
                other.isPartner == isPartner) &&
            (identical(other.isCustomer, isCustomer) ||
                other.isCustomer == isCustomer) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.isDeleted, isDeleted) ||
                other.isDeleted == isDeleted) &&
            (identical(other.registeredAt, registeredAt) ||
                other.registeredAt == registeredAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt) &&
            (identical(other.parentCompany, parentCompany) ||
                other.parentCompany == parentCompany) &&
            (identical(other.zipcode, zipcode) || other.zipcode == zipcode));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      name,
      contactName,
      contactPhone,
      contactEmail,
      parentCompanyId,
      zipcodesZipcode,
      address,
      remark,
      isPartner,
      isCustomer,
      isActive,
      isDeleted,
      registeredAt,
      updatedAt,
      parentCompany,
      zipcode);

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

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

abstract class _CompanyDto extends CompanyDto {
  const factory _CompanyDto(
      {final int? id,
      required final String name,
      @JsonKey(name: 'contact_name') required final String contactName,
      @JsonKey(name: 'contact_phone') required final String contactPhone,
      @JsonKey(name: 'contact_email') required final String contactEmail,
      @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') final String? zipcodesZipcode,
      required final String address,
      final String? remark,
      @JsonKey(name: 'is_partner') final bool isPartner,
      @JsonKey(name: 'is_customer') final bool isCustomer,
      @JsonKey(name: 'is_active') final bool isActive,
      @JsonKey(name: 'is_deleted') final bool isDeleted,
      @JsonKey(name: 'registered_at') final DateTime? registeredAt,
      @JsonKey(name: 'updated_at') final DateTime? updatedAt,
      @JsonKey(name: 'parent_company') final CompanyNameDto? parentCompany,
      @JsonKey(name: 'zipcode') final ZipcodeDto? zipcode}) = _$CompanyDtoImpl;
  const _CompanyDto._() : super._();

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

  @override
  int? get id;
  @override
  String get name;
  @override
  @JsonKey(name: 'contact_name')
  String get contactName;
  @override
  @JsonKey(name: 'contact_phone')
  String get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String get contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode;
  @override
  String get address;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_partner')
  bool get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool get isCustomer;
  @override
  @JsonKey(name: 'is_active')
  bool get isActive;
  @override
  @JsonKey(name: 'is_deleted')
  bool get isDeleted;
  @override
  @JsonKey(name: 'registered_at')
  DateTime? get registeredAt;
  @override
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt; // Nested data (optional, populated in GET requests)
  @override
  @JsonKey(name: 'parent_company')
  CompanyNameDto? get parentCompany;
  @override
  @JsonKey(name: 'zipcode')
  ZipcodeDto? get zipcode;

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

CompanyNameDto _$CompanyNameDtoFromJson(Map<String, dynamic> json) {
  return _CompanyNameDto.fromJson(json);
}

/// @nodoc
mixin _$CompanyNameDto {
  int get id => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyNameDtoCopyWith<$Res> {
  factory $CompanyNameDtoCopyWith(
          CompanyNameDto value, $Res Function(CompanyNameDto) then) =
      _$CompanyNameDtoCopyWithImpl<$Res, CompanyNameDto>;
  @useResult
  $Res call({int id, String name});
}

/// @nodoc
class _$CompanyNameDtoCopyWithImpl<$Res, $Val extends CompanyNameDto>
    implements $CompanyNameDtoCopyWith<$Res> {
  _$CompanyNameDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CompanyNameDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? name = 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,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CompanyNameDtoImplCopyWith<$Res>
    implements $CompanyNameDtoCopyWith<$Res> {
  factory _$$CompanyNameDtoImplCopyWith(_$CompanyNameDtoImpl value,
          $Res Function(_$CompanyNameDtoImpl) then) =
      __$$CompanyNameDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({int id, String name});
}

/// @nodoc
class __$$CompanyNameDtoImplCopyWithImpl<$Res>
    extends _$CompanyNameDtoCopyWithImpl<$Res, _$CompanyNameDtoImpl>
    implements _$$CompanyNameDtoImplCopyWith<$Res> {
  __$$CompanyNameDtoImplCopyWithImpl(
      _$CompanyNameDtoImpl _value, $Res Function(_$CompanyNameDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of CompanyNameDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? name = null,
  }) {
    return _then(_$CompanyNameDtoImpl(
      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,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CompanyNameDtoImpl implements _CompanyNameDto {
  const _$CompanyNameDtoImpl({required this.id, required this.name});

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

  @override
  final int id;
  @override
  final String name;

  @override
  String toString() {
    return 'CompanyNameDto(id: $id, name: $name)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CompanyNameDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name));
  }

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

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

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

abstract class _CompanyNameDto implements CompanyNameDto {
  const factory _CompanyNameDto(
      {required final int id,
      required final String name}) = _$CompanyNameDtoImpl;

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

  @override
  int get id;
  @override
  String get name;

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

CompanyRequestDto _$CompanyRequestDtoFromJson(Map<String, dynamic> json) {
  return _CompanyRequestDto.fromJson(json);
}

/// @nodoc
mixin _$CompanyRequestDto {
  String get name => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_phone')
  String get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode => throw _privateConstructorUsedError;
  String get address => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool get isActive => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyRequestDtoCopyWith<$Res> {
  factory $CompanyRequestDtoCopyWith(
          CompanyRequestDto value, $Res Function(CompanyRequestDto) then) =
      _$CompanyRequestDtoCopyWithImpl<$Res, CompanyRequestDto>;
  @useResult
  $Res call(
      {String name,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String address,
      String? remark,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'is_active') bool isActive});
}

/// @nodoc
class _$CompanyRequestDtoCopyWithImpl<$Res, $Val extends CompanyRequestDto>
    implements $CompanyRequestDtoCopyWith<$Res> {
  _$CompanyRequestDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CompanyRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? contactName = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = null,
    Object? remark = freezed,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? isActive = null,
  }) {
    return _then(_value.copyWith(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPhone: null == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String,
      contactEmail: null == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: null == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool,
      isCustomer: null == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CompanyRequestDtoImplCopyWith<$Res>
    implements $CompanyRequestDtoCopyWith<$Res> {
  factory _$$CompanyRequestDtoImplCopyWith(_$CompanyRequestDtoImpl value,
          $Res Function(_$CompanyRequestDtoImpl) then) =
      __$$CompanyRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String name,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String address,
      String? remark,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'is_active') bool isActive});
}

/// @nodoc
class __$$CompanyRequestDtoImplCopyWithImpl<$Res>
    extends _$CompanyRequestDtoCopyWithImpl<$Res, _$CompanyRequestDtoImpl>
    implements _$$CompanyRequestDtoImplCopyWith<$Res> {
  __$$CompanyRequestDtoImplCopyWithImpl(_$CompanyRequestDtoImpl _value,
      $Res Function(_$CompanyRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of CompanyRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? contactName = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = null,
    Object? remark = freezed,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? isActive = null,
  }) {
    return _then(_$CompanyRequestDtoImpl(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPhone: null == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String,
      contactEmail: null == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: null == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool,
      isCustomer: null == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CompanyRequestDtoImpl implements _CompanyRequestDto {
  const _$CompanyRequestDtoImpl(
      {required this.name,
      @JsonKey(name: 'contact_name') required this.contactName,
      @JsonKey(name: 'contact_phone') required this.contactPhone,
      @JsonKey(name: 'contact_email') required this.contactEmail,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') this.zipcodesZipcode,
      required this.address,
      this.remark,
      @JsonKey(name: 'is_partner') this.isPartner = false,
      @JsonKey(name: 'is_customer') this.isCustomer = false,
      @JsonKey(name: 'is_active') this.isActive = false});

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

  @override
  final String name;
  @override
  @JsonKey(name: 'contact_name')
  final String contactName;
  @override
  @JsonKey(name: 'contact_phone')
  final String contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  final String? zipcodesZipcode;
  @override
  final String address;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_partner')
  final bool isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool isCustomer;
  @override
  @JsonKey(name: 'is_active')
  final bool isActive;

  @override
  String toString() {
    return 'CompanyRequestDto(name: $name, contactName: $contactName, contactPhone: $contactPhone, contactEmail: $contactEmail, parentCompanyId: $parentCompanyId, zipcodesZipcode: $zipcodesZipcode, address: $address, remark: $remark, isPartner: $isPartner, isCustomer: $isCustomer, isActive: $isActive)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CompanyRequestDtoImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.contactName, contactName) ||
                other.contactName == contactName) &&
            (identical(other.contactPhone, contactPhone) ||
                other.contactPhone == contactPhone) &&
            (identical(other.contactEmail, contactEmail) ||
                other.contactEmail == contactEmail) &&
            (identical(other.parentCompanyId, parentCompanyId) ||
                other.parentCompanyId == parentCompanyId) &&
            (identical(other.zipcodesZipcode, zipcodesZipcode) ||
                other.zipcodesZipcode == zipcodesZipcode) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isPartner, isPartner) ||
                other.isPartner == isPartner) &&
            (identical(other.isCustomer, isCustomer) ||
                other.isCustomer == isCustomer) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      name,
      contactName,
      contactPhone,
      contactEmail,
      parentCompanyId,
      zipcodesZipcode,
      address,
      remark,
      isPartner,
      isCustomer,
      isActive);

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

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

abstract class _CompanyRequestDto implements CompanyRequestDto {
  const factory _CompanyRequestDto(
          {required final String name,
          @JsonKey(name: 'contact_name') required final String contactName,
          @JsonKey(name: 'contact_phone') required final String contactPhone,
          @JsonKey(name: 'contact_email') required final String contactEmail,
          @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
          @JsonKey(name: 'zipcodes_zipcode') final String? zipcodesZipcode,
          required final String address,
          final String? remark,
          @JsonKey(name: 'is_partner') final bool isPartner,
          @JsonKey(name: 'is_customer') final bool isCustomer,
          @JsonKey(name: 'is_active') final bool isActive}) =
      _$CompanyRequestDtoImpl;

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

  @override
  String get name;
  @override
  @JsonKey(name: 'contact_name')
  String get contactName;
  @override
  @JsonKey(name: 'contact_phone')
  String get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String get contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode;
  @override
  String get address;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_partner')
  bool get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool get isCustomer;
  @override
  @JsonKey(name: 'is_active')
  bool get isActive;

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

CompanyUpdateRequestDto _$CompanyUpdateRequestDtoFromJson(
    Map<String, dynamic> json) {
  return _CompanyUpdateRequestDto.fromJson(json);
}

/// @nodoc
mixin _$CompanyUpdateRequestDto {
  String? get name => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String? get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_phone')
  String? get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String? get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool? get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool? get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool? get isActive => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyUpdateRequestDtoCopyWith<$Res> {
  factory $CompanyUpdateRequestDtoCopyWith(CompanyUpdateRequestDto value,
          $Res Function(CompanyUpdateRequestDto) then) =
      _$CompanyUpdateRequestDtoCopyWithImpl<$Res, CompanyUpdateRequestDto>;
  @useResult
  $Res call(
      {String? name,
      @JsonKey(name: 'contact_name') String? contactName,
      @JsonKey(name: 'contact_phone') String? contactPhone,
      @JsonKey(name: 'contact_email') String? contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String? address,
      String? remark,
      @JsonKey(name: 'is_partner') bool? isPartner,
      @JsonKey(name: 'is_customer') bool? isCustomer,
      @JsonKey(name: 'is_active') bool? isActive});
}

/// @nodoc
class _$CompanyUpdateRequestDtoCopyWithImpl<$Res,
        $Val extends CompanyUpdateRequestDto>
    implements $CompanyUpdateRequestDtoCopyWith<$Res> {
  _$CompanyUpdateRequestDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CompanyUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = freezed,
    Object? contactName = freezed,
    Object? contactPhone = freezed,
    Object? contactEmail = freezed,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = freezed,
    Object? remark = freezed,
    Object? isPartner = freezed,
    Object? isCustomer = freezed,
    Object? isActive = freezed,
  }) {
    return _then(_value.copyWith(
      name: freezed == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String?,
      contactName: freezed == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String?,
      contactPhone: freezed == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      contactEmail: freezed == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String?,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: freezed == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool?,
      isCustomer: freezed == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CompanyUpdateRequestDtoImplCopyWith<$Res>
    implements $CompanyUpdateRequestDtoCopyWith<$Res> {
  factory _$$CompanyUpdateRequestDtoImplCopyWith(
          _$CompanyUpdateRequestDtoImpl value,
          $Res Function(_$CompanyUpdateRequestDtoImpl) then) =
      __$$CompanyUpdateRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String? name,
      @JsonKey(name: 'contact_name') String? contactName,
      @JsonKey(name: 'contact_phone') String? contactPhone,
      @JsonKey(name: 'contact_email') String? contactEmail,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') String? zipcodesZipcode,
      String? address,
      String? remark,
      @JsonKey(name: 'is_partner') bool? isPartner,
      @JsonKey(name: 'is_customer') bool? isCustomer,
      @JsonKey(name: 'is_active') bool? isActive});
}

/// @nodoc
class __$$CompanyUpdateRequestDtoImplCopyWithImpl<$Res>
    extends _$CompanyUpdateRequestDtoCopyWithImpl<$Res,
        _$CompanyUpdateRequestDtoImpl>
    implements _$$CompanyUpdateRequestDtoImplCopyWith<$Res> {
  __$$CompanyUpdateRequestDtoImplCopyWithImpl(
      _$CompanyUpdateRequestDtoImpl _value,
      $Res Function(_$CompanyUpdateRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of CompanyUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = freezed,
    Object? contactName = freezed,
    Object? contactPhone = freezed,
    Object? contactEmail = freezed,
    Object? parentCompanyId = freezed,
    Object? zipcodesZipcode = freezed,
    Object? address = freezed,
    Object? remark = freezed,
    Object? isPartner = freezed,
    Object? isCustomer = freezed,
    Object? isActive = freezed,
  }) {
    return _then(_$CompanyUpdateRequestDtoImpl(
      name: freezed == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String?,
      contactName: freezed == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String?,
      contactPhone: freezed == contactPhone
          ? _value.contactPhone
          : contactPhone // ignore: cast_nullable_to_non_nullable
              as String?,
      contactEmail: freezed == contactEmail
          ? _value.contactEmail
          : contactEmail // ignore: cast_nullable_to_non_nullable
              as String?,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      zipcodesZipcode: freezed == zipcodesZipcode
          ? _value.zipcodesZipcode
          : zipcodesZipcode // ignore: cast_nullable_to_non_nullable
              as String?,
      address: freezed == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isPartner: freezed == isPartner
          ? _value.isPartner
          : isPartner // ignore: cast_nullable_to_non_nullable
              as bool?,
      isCustomer: freezed == isCustomer
          ? _value.isCustomer
          : isCustomer // ignore: cast_nullable_to_non_nullable
              as bool?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CompanyUpdateRequestDtoImpl implements _CompanyUpdateRequestDto {
  const _$CompanyUpdateRequestDtoImpl(
      {this.name,
      @JsonKey(name: 'contact_name') this.contactName,
      @JsonKey(name: 'contact_phone') this.contactPhone,
      @JsonKey(name: 'contact_email') this.contactEmail,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      @JsonKey(name: 'zipcodes_zipcode') this.zipcodesZipcode,
      this.address,
      this.remark,
      @JsonKey(name: 'is_partner') this.isPartner,
      @JsonKey(name: 'is_customer') this.isCustomer,
      @JsonKey(name: 'is_active') this.isActive});

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

  @override
  final String? name;
  @override
  @JsonKey(name: 'contact_name')
  final String? contactName;
  @override
  @JsonKey(name: 'contact_phone')
  final String? contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String? contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  final String? zipcodesZipcode;
  @override
  final String? address;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_partner')
  final bool? isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool? isCustomer;
  @override
  @JsonKey(name: 'is_active')
  final bool? isActive;

  @override
  String toString() {
    return 'CompanyUpdateRequestDto(name: $name, contactName: $contactName, contactPhone: $contactPhone, contactEmail: $contactEmail, parentCompanyId: $parentCompanyId, zipcodesZipcode: $zipcodesZipcode, address: $address, remark: $remark, isPartner: $isPartner, isCustomer: $isCustomer, isActive: $isActive)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CompanyUpdateRequestDtoImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.contactName, contactName) ||
                other.contactName == contactName) &&
            (identical(other.contactPhone, contactPhone) ||
                other.contactPhone == contactPhone) &&
            (identical(other.contactEmail, contactEmail) ||
                other.contactEmail == contactEmail) &&
            (identical(other.parentCompanyId, parentCompanyId) ||
                other.parentCompanyId == parentCompanyId) &&
            (identical(other.zipcodesZipcode, zipcodesZipcode) ||
                other.zipcodesZipcode == zipcodesZipcode) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isPartner, isPartner) ||
                other.isPartner == isPartner) &&
            (identical(other.isCustomer, isCustomer) ||
                other.isCustomer == isCustomer) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      name,
      contactName,
      contactPhone,
      contactEmail,
      parentCompanyId,
      zipcodesZipcode,
      address,
      remark,
      isPartner,
      isCustomer,
      isActive);

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

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

abstract class _CompanyUpdateRequestDto implements CompanyUpdateRequestDto {
  const factory _CompanyUpdateRequestDto(
          {final String? name,
          @JsonKey(name: 'contact_name') final String? contactName,
          @JsonKey(name: 'contact_phone') final String? contactPhone,
          @JsonKey(name: 'contact_email') final String? contactEmail,
          @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
          @JsonKey(name: 'zipcodes_zipcode') final String? zipcodesZipcode,
          final String? address,
          final String? remark,
          @JsonKey(name: 'is_partner') final bool? isPartner,
          @JsonKey(name: 'is_customer') final bool? isCustomer,
          @JsonKey(name: 'is_active') final bool? isActive}) =
      _$CompanyUpdateRequestDtoImpl;

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

  @override
  String? get name;
  @override
  @JsonKey(name: 'contact_name')
  String? get contactName;
  @override
  @JsonKey(name: 'contact_phone')
  String? get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String? get contactEmail;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  @JsonKey(name: 'zipcodes_zipcode')
  String? get zipcodesZipcode;
  @override
  String? get address;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_partner')
  bool? get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool? get isCustomer;
  @override
  @JsonKey(name: 'is_active')
  bool? get isActive;

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

CompanyListResponse _$CompanyListResponseFromJson(Map<String, dynamic> json) {
  return _CompanyListResponse.fromJson(json);
}

/// @nodoc
mixin _$CompanyListResponse {
  @JsonKey(name: 'data')
  List<CompanyDto> get items => throw _privateConstructorUsedError;
  @JsonKey(name: 'total')
  int get totalCount => throw _privateConstructorUsedError;
  @JsonKey(name: 'page')
  int get currentPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;
  @JsonKey(name: 'page_size')
  int? get pageSize => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyListResponseCopyWith<$Res> {
  factory $CompanyListResponseCopyWith(
          CompanyListResponse value, $Res Function(CompanyListResponse) then) =
      _$CompanyListResponseCopyWithImpl<$Res, CompanyListResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<CompanyDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class _$CompanyListResponseCopyWithImpl<$Res, $Val extends CompanyListResponse>
    implements $CompanyListResponseCopyWith<$Res> {
  _$CompanyListResponseCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$CompanyListResponseImplCopyWith<$Res>
    implements $CompanyListResponseCopyWith<$Res> {
  factory _$$CompanyListResponseImplCopyWith(_$CompanyListResponseImpl value,
          $Res Function(_$CompanyListResponseImpl) then) =
      __$$CompanyListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<CompanyDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class __$$CompanyListResponseImplCopyWithImpl<$Res>
    extends _$CompanyListResponseCopyWithImpl<$Res, _$CompanyListResponseImpl>
    implements _$$CompanyListResponseImplCopyWith<$Res> {
  __$$CompanyListResponseImplCopyWithImpl(_$CompanyListResponseImpl _value,
      $Res Function(_$CompanyListResponseImpl) _then)
      : super(_value, _then);

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

/// @nodoc
@JsonSerializable()
class _$CompanyListResponseImpl implements _CompanyListResponse {
  const _$CompanyListResponseImpl(
      {@JsonKey(name: 'data') required final List<CompanyDto> items,
      @JsonKey(name: 'total') required this.totalCount,
      @JsonKey(name: 'page') required this.currentPage,
      @JsonKey(name: 'total_pages') required this.totalPages,
      @JsonKey(name: 'page_size') this.pageSize})
      : _items = items;

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

  final List<CompanyDto> _items;
  @override
  @JsonKey(name: 'data')
  List<CompanyDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  @JsonKey(name: 'total')
  final int totalCount;
  @override
  @JsonKey(name: 'page')
  final int currentPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;
  @override
  @JsonKey(name: 'page_size')
  final int? pageSize;

  @override
  String toString() {
    return 'CompanyListResponse(items: $items, totalCount: $totalCount, currentPage: $currentPage, totalPages: $totalPages, pageSize: $pageSize)';
  }

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

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

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

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

abstract class _CompanyListResponse implements CompanyListResponse {
  const factory _CompanyListResponse(
          {@JsonKey(name: 'data') required final List<CompanyDto> items,
          @JsonKey(name: 'total') required final int totalCount,
          @JsonKey(name: 'page') required final int currentPage,
          @JsonKey(name: 'total_pages') required final int totalPages,
          @JsonKey(name: 'page_size') final int? pageSize}) =
      _$CompanyListResponseImpl;

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

  @override
  @JsonKey(name: 'data')
  List<CompanyDto> get items;
  @override
  @JsonKey(name: 'total')
  int get totalCount;
  @override
  @JsonKey(name: 'page')
  int get currentPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;
  @override
  @JsonKey(name: 'page_size')
  int? get pageSize;

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