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

CreateCompanyRequest _$CreateCompanyRequestFromJson(Map<String, dynamic> json) {
  return _CreateCompanyRequest.fromJson(json);
}

/// @nodoc
mixin _$CreateCompanyRequest {
  String get name => throw _privateConstructorUsedError;
  String get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_position')
  String get contactPosition => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_phone')
  String get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_types')
  List<String> get companyTypes => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CreateCompanyRequestCopyWith<$Res> {
  factory $CreateCompanyRequestCopyWith(CreateCompanyRequest value,
          $Res Function(CreateCompanyRequest) then) =
      _$CreateCompanyRequestCopyWithImpl<$Res, CreateCompanyRequest>;
  @useResult
  $Res call(
      {String name,
      String address,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_position') String contactPosition,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'company_types') List<String> companyTypes,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      String? remark});
}

/// @nodoc
class _$CreateCompanyRequestCopyWithImpl<$Res,
        $Val extends CreateCompanyRequest>
    implements $CreateCompanyRequestCopyWith<$Res> {
  _$CreateCompanyRequestCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CreateCompanyRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? address = null,
    Object? contactName = null,
    Object? contactPosition = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? companyTypes = null,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? parentCompanyId = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPosition: null == contactPosition
          ? _value.contactPosition
          : contactPosition // 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,
      companyTypes: null == companyTypes
          ? _value.companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<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,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // 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 _$$CreateCompanyRequestImplCopyWith<$Res>
    implements $CreateCompanyRequestCopyWith<$Res> {
  factory _$$CreateCompanyRequestImplCopyWith(_$CreateCompanyRequestImpl value,
          $Res Function(_$CreateCompanyRequestImpl) then) =
      __$$CreateCompanyRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String name,
      String address,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_position') String contactPosition,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'company_types') List<String> companyTypes,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      String? remark});
}

/// @nodoc
class __$$CreateCompanyRequestImplCopyWithImpl<$Res>
    extends _$CreateCompanyRequestCopyWithImpl<$Res, _$CreateCompanyRequestImpl>
    implements _$$CreateCompanyRequestImplCopyWith<$Res> {
  __$$CreateCompanyRequestImplCopyWithImpl(_$CreateCompanyRequestImpl _value,
      $Res Function(_$CreateCompanyRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of CreateCompanyRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? address = null,
    Object? contactName = null,
    Object? contactPosition = null,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? companyTypes = null,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? parentCompanyId = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$CreateCompanyRequestImpl(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      address: null == address
          ? _value.address
          : address // ignore: cast_nullable_to_non_nullable
              as String,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPosition: null == contactPosition
          ? _value.contactPosition
          : contactPosition // 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,
      companyTypes: null == companyTypes
          ? _value._companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<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,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // 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 _$CreateCompanyRequestImpl implements _CreateCompanyRequest {
  const _$CreateCompanyRequestImpl(
      {required this.name,
      required this.address,
      @JsonKey(name: 'contact_name') required this.contactName,
      @JsonKey(name: 'contact_position') required this.contactPosition,
      @JsonKey(name: 'contact_phone') required this.contactPhone,
      @JsonKey(name: 'contact_email') required this.contactEmail,
      @JsonKey(name: 'company_types')
      final List<String> companyTypes = const [],
      @JsonKey(name: 'is_partner') this.isPartner = false,
      @JsonKey(name: 'is_customer') this.isCustomer = true,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      this.remark})
      : _companyTypes = companyTypes;

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

  @override
  final String name;
  @override
  final String address;
  @override
  @JsonKey(name: 'contact_name')
  final String contactName;
  @override
  @JsonKey(name: 'contact_position')
  final String contactPosition;
  @override
  @JsonKey(name: 'contact_phone')
  final String contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String contactEmail;
  final List<String> _companyTypes;
  @override
  @JsonKey(name: 'company_types')
  List<String> get companyTypes {
    if (_companyTypes is EqualUnmodifiableListView) return _companyTypes;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_companyTypes);
  }

  @override
  @JsonKey(name: 'is_partner')
  final bool isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  final String? remark;

  @override
  String toString() {
    return 'CreateCompanyRequest(name: $name, address: $address, contactName: $contactName, contactPosition: $contactPosition, contactPhone: $contactPhone, contactEmail: $contactEmail, companyTypes: $companyTypes, isPartner: $isPartner, isCustomer: $isCustomer, parentCompanyId: $parentCompanyId, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CreateCompanyRequestImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.contactName, contactName) ||
                other.contactName == contactName) &&
            (identical(other.contactPosition, contactPosition) ||
                other.contactPosition == contactPosition) &&
            (identical(other.contactPhone, contactPhone) ||
                other.contactPhone == contactPhone) &&
            (identical(other.contactEmail, contactEmail) ||
                other.contactEmail == contactEmail) &&
            const DeepCollectionEquality()
                .equals(other._companyTypes, _companyTypes) &&
            (identical(other.isPartner, isPartner) ||
                other.isPartner == isPartner) &&
            (identical(other.isCustomer, isCustomer) ||
                other.isCustomer == isCustomer) &&
            (identical(other.parentCompanyId, parentCompanyId) ||
                other.parentCompanyId == parentCompanyId) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

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

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

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

abstract class _CreateCompanyRequest implements CreateCompanyRequest {
  const factory _CreateCompanyRequest(
      {required final String name,
      required final String address,
      @JsonKey(name: 'contact_name') required final String contactName,
      @JsonKey(name: 'contact_position') required final String contactPosition,
      @JsonKey(name: 'contact_phone') required final String contactPhone,
      @JsonKey(name: 'contact_email') required final String contactEmail,
      @JsonKey(name: 'company_types') final List<String> companyTypes,
      @JsonKey(name: 'is_partner') final bool isPartner,
      @JsonKey(name: 'is_customer') final bool isCustomer,
      @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
      final String? remark}) = _$CreateCompanyRequestImpl;

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

  @override
  String get name;
  @override
  String get address;
  @override
  @JsonKey(name: 'contact_name')
  String get contactName;
  @override
  @JsonKey(name: 'contact_position')
  String get contactPosition;
  @override
  @JsonKey(name: 'contact_phone')
  String get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String get contactEmail;
  @override
  @JsonKey(name: 'company_types')
  List<String> get companyTypes;
  @override
  @JsonKey(name: 'is_partner')
  bool get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool get isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  String? get remark;

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

UpdateCompanyRequest _$UpdateCompanyRequestFromJson(Map<String, dynamic> json) {
  return _UpdateCompanyRequest.fromJson(json);
}

/// @nodoc
mixin _$UpdateCompanyRequest {
  String? get name => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String? get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_position')
  String? get contactPosition => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_phone')
  String? get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String? get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_types')
  List<String>? get companyTypes => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool? get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool? get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool? get isActive => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $UpdateCompanyRequestCopyWith<$Res> {
  factory $UpdateCompanyRequestCopyWith(UpdateCompanyRequest value,
          $Res Function(UpdateCompanyRequest) then) =
      _$UpdateCompanyRequestCopyWithImpl<$Res, UpdateCompanyRequest>;
  @useResult
  $Res call(
      {String? name,
      String? address,
      @JsonKey(name: 'contact_name') String? contactName,
      @JsonKey(name: 'contact_position') String? contactPosition,
      @JsonKey(name: 'contact_phone') String? contactPhone,
      @JsonKey(name: 'contact_email') String? contactEmail,
      @JsonKey(name: 'company_types') List<String>? companyTypes,
      @JsonKey(name: 'is_partner') bool? isPartner,
      @JsonKey(name: 'is_customer') bool? isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      String? remark,
      @JsonKey(name: 'is_active') bool? isActive});
}

/// @nodoc
class _$UpdateCompanyRequestCopyWithImpl<$Res,
        $Val extends UpdateCompanyRequest>
    implements $UpdateCompanyRequestCopyWith<$Res> {
  _$UpdateCompanyRequestCopyWithImpl(this._value, this._then);

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

  /// Create a copy of UpdateCompanyRequest
  /// 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? contactName = freezed,
    Object? contactPosition = freezed,
    Object? contactPhone = freezed,
    Object? contactEmail = freezed,
    Object? companyTypes = freezed,
    Object? isPartner = freezed,
    Object? isCustomer = freezed,
    Object? parentCompanyId = freezed,
    Object? remark = freezed,
    Object? isActive = 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?,
      contactName: freezed == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String?,
      contactPosition: freezed == contactPosition
          ? _value.contactPosition
          : contactPosition // 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?,
      companyTypes: freezed == companyTypes
          ? _value.companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<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?,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$UpdateCompanyRequestImplCopyWith<$Res>
    implements $UpdateCompanyRequestCopyWith<$Res> {
  factory _$$UpdateCompanyRequestImplCopyWith(_$UpdateCompanyRequestImpl value,
          $Res Function(_$UpdateCompanyRequestImpl) then) =
      __$$UpdateCompanyRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String? name,
      String? address,
      @JsonKey(name: 'contact_name') String? contactName,
      @JsonKey(name: 'contact_position') String? contactPosition,
      @JsonKey(name: 'contact_phone') String? contactPhone,
      @JsonKey(name: 'contact_email') String? contactEmail,
      @JsonKey(name: 'company_types') List<String>? companyTypes,
      @JsonKey(name: 'is_partner') bool? isPartner,
      @JsonKey(name: 'is_customer') bool? isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      String? remark,
      @JsonKey(name: 'is_active') bool? isActive});
}

/// @nodoc
class __$$UpdateCompanyRequestImplCopyWithImpl<$Res>
    extends _$UpdateCompanyRequestCopyWithImpl<$Res, _$UpdateCompanyRequestImpl>
    implements _$$UpdateCompanyRequestImplCopyWith<$Res> {
  __$$UpdateCompanyRequestImplCopyWithImpl(_$UpdateCompanyRequestImpl _value,
      $Res Function(_$UpdateCompanyRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of UpdateCompanyRequest
  /// 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? contactName = freezed,
    Object? contactPosition = freezed,
    Object? contactPhone = freezed,
    Object? contactEmail = freezed,
    Object? companyTypes = freezed,
    Object? isPartner = freezed,
    Object? isCustomer = freezed,
    Object? parentCompanyId = freezed,
    Object? remark = freezed,
    Object? isActive = freezed,
  }) {
    return _then(_$UpdateCompanyRequestImpl(
      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?,
      contactName: freezed == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String?,
      contactPosition: freezed == contactPosition
          ? _value.contactPosition
          : contactPosition // 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?,
      companyTypes: freezed == companyTypes
          ? _value._companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<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?,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UpdateCompanyRequestImpl implements _UpdateCompanyRequest {
  const _$UpdateCompanyRequestImpl(
      {this.name,
      this.address,
      @JsonKey(name: 'contact_name') this.contactName,
      @JsonKey(name: 'contact_position') this.contactPosition,
      @JsonKey(name: 'contact_phone') this.contactPhone,
      @JsonKey(name: 'contact_email') this.contactEmail,
      @JsonKey(name: 'company_types') final List<String>? companyTypes,
      @JsonKey(name: 'is_partner') this.isPartner,
      @JsonKey(name: 'is_customer') this.isCustomer,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      this.remark,
      @JsonKey(name: 'is_active') this.isActive})
      : _companyTypes = companyTypes;

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

  @override
  final String? name;
  @override
  final String? address;
  @override
  @JsonKey(name: 'contact_name')
  final String? contactName;
  @override
  @JsonKey(name: 'contact_position')
  final String? contactPosition;
  @override
  @JsonKey(name: 'contact_phone')
  final String? contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String? contactEmail;
  final List<String>? _companyTypes;
  @override
  @JsonKey(name: 'company_types')
  List<String>? get companyTypes {
    final value = _companyTypes;
    if (value == null) return null;
    if (_companyTypes is EqualUnmodifiableListView) return _companyTypes;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(value);
  }

  @override
  @JsonKey(name: 'is_partner')
  final bool? isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool? isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_active')
  final bool? isActive;

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

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

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

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

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

abstract class _UpdateCompanyRequest implements UpdateCompanyRequest {
  const factory _UpdateCompanyRequest(
          {final String? name,
          final String? address,
          @JsonKey(name: 'contact_name') final String? contactName,
          @JsonKey(name: 'contact_position') final String? contactPosition,
          @JsonKey(name: 'contact_phone') final String? contactPhone,
          @JsonKey(name: 'contact_email') final String? contactEmail,
          @JsonKey(name: 'company_types') final List<String>? companyTypes,
          @JsonKey(name: 'is_partner') final bool? isPartner,
          @JsonKey(name: 'is_customer') final bool? isCustomer,
          @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
          final String? remark,
          @JsonKey(name: 'is_active') final bool? isActive}) =
      _$UpdateCompanyRequestImpl;

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

  @override
  String? get name;
  @override
  String? get address;
  @override
  @JsonKey(name: 'contact_name')
  String? get contactName;
  @override
  @JsonKey(name: 'contact_position')
  String? get contactPosition;
  @override
  @JsonKey(name: 'contact_phone')
  String? get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String? get contactEmail;
  @override
  @JsonKey(name: 'company_types')
  List<String>? get companyTypes;
  @override
  @JsonKey(name: 'is_partner')
  bool? get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool? get isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_active')
  bool? get isActive;

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

CompanyResponse _$CompanyResponseFromJson(Map<String, dynamic> json) {
  return _CompanyResponse.fromJson(json);
}

/// @nodoc
mixin _$CompanyResponse {
  int get id => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;
  String? get address => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_name')
  String get contactName => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_position')
  String? get contactPosition =>
      throw _privateConstructorUsedError; // nullable로 변경
  @JsonKey(name: 'contact_phone')
  String get contactPhone => throw _privateConstructorUsedError;
  @JsonKey(name: 'contact_email')
  String get contactEmail => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_types')
  List<String> get companyTypes => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool get isActive => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_partner')
  bool get isPartner => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_customer')
  bool get isCustomer => throw _privateConstructorUsedError;
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'created_at')
  DateTime get createdAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt => throw _privateConstructorUsedError; // nullable로 변경
  @JsonKey(name: 'address_id')
  int? get addressId => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CompanyResponseCopyWith<$Res> {
  factory $CompanyResponseCopyWith(
          CompanyResponse value, $Res Function(CompanyResponse) then) =
      _$CompanyResponseCopyWithImpl<$Res, CompanyResponse>;
  @useResult
  $Res call(
      {int id,
      String name,
      String? address,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_position') String? contactPosition,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'company_types') List<String> companyTypes,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt,
      @JsonKey(name: 'address_id') int? addressId});
}

/// @nodoc
class _$CompanyResponseCopyWithImpl<$Res, $Val extends CompanyResponse>
    implements $CompanyResponseCopyWith<$Res> {
  _$CompanyResponseCopyWithImpl(this._value, this._then);

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

  /// Create a copy of CompanyResponse
  /// 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? contactName = null,
    Object? contactPosition = freezed,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? companyTypes = null,
    Object? remark = freezed,
    Object? isActive = null,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? parentCompanyId = freezed,
    Object? createdAt = null,
    Object? updatedAt = freezed,
    Object? addressId = freezed,
  }) {
    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?,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPosition: freezed == contactPosition
          ? _value.contactPosition
          : contactPosition // 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,
      companyTypes: null == companyTypes
          ? _value.companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<String>,
      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,
      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,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      addressId: freezed == addressId
          ? _value.addressId
          : addressId // ignore: cast_nullable_to_non_nullable
              as int?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CompanyResponseImplCopyWith<$Res>
    implements $CompanyResponseCopyWith<$Res> {
  factory _$$CompanyResponseImplCopyWith(_$CompanyResponseImpl value,
          $Res Function(_$CompanyResponseImpl) then) =
      __$$CompanyResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      String name,
      String? address,
      @JsonKey(name: 'contact_name') String contactName,
      @JsonKey(name: 'contact_position') String? contactPosition,
      @JsonKey(name: 'contact_phone') String contactPhone,
      @JsonKey(name: 'contact_email') String contactEmail,
      @JsonKey(name: 'company_types') List<String> companyTypes,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'is_partner') bool isPartner,
      @JsonKey(name: 'is_customer') bool isCustomer,
      @JsonKey(name: 'parent_company_id') int? parentCompanyId,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt,
      @JsonKey(name: 'address_id') int? addressId});
}

/// @nodoc
class __$$CompanyResponseImplCopyWithImpl<$Res>
    extends _$CompanyResponseCopyWithImpl<$Res, _$CompanyResponseImpl>
    implements _$$CompanyResponseImplCopyWith<$Res> {
  __$$CompanyResponseImplCopyWithImpl(
      _$CompanyResponseImpl _value, $Res Function(_$CompanyResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of CompanyResponse
  /// 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? contactName = null,
    Object? contactPosition = freezed,
    Object? contactPhone = null,
    Object? contactEmail = null,
    Object? companyTypes = null,
    Object? remark = freezed,
    Object? isActive = null,
    Object? isPartner = null,
    Object? isCustomer = null,
    Object? parentCompanyId = freezed,
    Object? createdAt = null,
    Object? updatedAt = freezed,
    Object? addressId = freezed,
  }) {
    return _then(_$CompanyResponseImpl(
      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?,
      contactName: null == contactName
          ? _value.contactName
          : contactName // ignore: cast_nullable_to_non_nullable
              as String,
      contactPosition: freezed == contactPosition
          ? _value.contactPosition
          : contactPosition // 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,
      companyTypes: null == companyTypes
          ? _value._companyTypes
          : companyTypes // ignore: cast_nullable_to_non_nullable
              as List<String>,
      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,
      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,
      parentCompanyId: freezed == parentCompanyId
          ? _value.parentCompanyId
          : parentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      addressId: freezed == addressId
          ? _value.addressId
          : addressId // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CompanyResponseImpl implements _CompanyResponse {
  const _$CompanyResponseImpl(
      {required this.id,
      required this.name,
      this.address,
      @JsonKey(name: 'contact_name') required this.contactName,
      @JsonKey(name: 'contact_position') this.contactPosition,
      @JsonKey(name: 'contact_phone') required this.contactPhone,
      @JsonKey(name: 'contact_email') required this.contactEmail,
      @JsonKey(name: 'company_types')
      final List<String> companyTypes = const [],
      this.remark,
      @JsonKey(name: 'is_active') required this.isActive,
      @JsonKey(name: 'is_partner') this.isPartner = false,
      @JsonKey(name: 'is_customer') this.isCustomer = false,
      @JsonKey(name: 'parent_company_id') this.parentCompanyId,
      @JsonKey(name: 'created_at') required this.createdAt,
      @JsonKey(name: 'updated_at') this.updatedAt,
      @JsonKey(name: 'address_id') this.addressId})
      : _companyTypes = companyTypes;

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

  @override
  final int id;
  @override
  final String name;
  @override
  final String? address;
  @override
  @JsonKey(name: 'contact_name')
  final String contactName;
  @override
  @JsonKey(name: 'contact_position')
  final String? contactPosition;
// nullable로 변경
  @override
  @JsonKey(name: 'contact_phone')
  final String contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  final String contactEmail;
  final List<String> _companyTypes;
  @override
  @JsonKey(name: 'company_types')
  List<String> get companyTypes {
    if (_companyTypes is EqualUnmodifiableListView) return _companyTypes;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_companyTypes);
  }

  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_active')
  final bool isActive;
  @override
  @JsonKey(name: 'is_partner')
  final bool isPartner;
  @override
  @JsonKey(name: 'is_customer')
  final bool isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  final int? parentCompanyId;
  @override
  @JsonKey(name: 'created_at')
  final DateTime createdAt;
  @override
  @JsonKey(name: 'updated_at')
  final DateTime? updatedAt;
// nullable로 변경
  @override
  @JsonKey(name: 'address_id')
  final int? addressId;

  @override
  String toString() {
    return 'CompanyResponse(id: $id, name: $name, address: $address, contactName: $contactName, contactPosition: $contactPosition, contactPhone: $contactPhone, contactEmail: $contactEmail, companyTypes: $companyTypes, remark: $remark, isActive: $isActive, isPartner: $isPartner, isCustomer: $isCustomer, parentCompanyId: $parentCompanyId, createdAt: $createdAt, updatedAt: $updatedAt, addressId: $addressId)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CompanyResponseImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.address, address) || other.address == address) &&
            (identical(other.contactName, contactName) ||
                other.contactName == contactName) &&
            (identical(other.contactPosition, contactPosition) ||
                other.contactPosition == contactPosition) &&
            (identical(other.contactPhone, contactPhone) ||
                other.contactPhone == contactPhone) &&
            (identical(other.contactEmail, contactEmail) ||
                other.contactEmail == contactEmail) &&
            const DeepCollectionEquality()
                .equals(other._companyTypes, _companyTypes) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.isPartner, isPartner) ||
                other.isPartner == isPartner) &&
            (identical(other.isCustomer, isCustomer) ||
                other.isCustomer == isCustomer) &&
            (identical(other.parentCompanyId, parentCompanyId) ||
                other.parentCompanyId == parentCompanyId) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt) &&
            (identical(other.addressId, addressId) ||
                other.addressId == addressId));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      name,
      address,
      contactName,
      contactPosition,
      contactPhone,
      contactEmail,
      const DeepCollectionEquality().hash(_companyTypes),
      remark,
      isActive,
      isPartner,
      isCustomer,
      parentCompanyId,
      createdAt,
      updatedAt,
      addressId);

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

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

abstract class _CompanyResponse implements CompanyResponse {
  const factory _CompanyResponse(
          {required final int id,
          required final String name,
          final String? address,
          @JsonKey(name: 'contact_name') required final String contactName,
          @JsonKey(name: 'contact_position') final String? contactPosition,
          @JsonKey(name: 'contact_phone') required final String contactPhone,
          @JsonKey(name: 'contact_email') required final String contactEmail,
          @JsonKey(name: 'company_types') final List<String> companyTypes,
          final String? remark,
          @JsonKey(name: 'is_active') required final bool isActive,
          @JsonKey(name: 'is_partner') final bool isPartner,
          @JsonKey(name: 'is_customer') final bool isCustomer,
          @JsonKey(name: 'parent_company_id') final int? parentCompanyId,
          @JsonKey(name: 'created_at') required final DateTime createdAt,
          @JsonKey(name: 'updated_at') final DateTime? updatedAt,
          @JsonKey(name: 'address_id') final int? addressId}) =
      _$CompanyResponseImpl;

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

  @override
  int get id;
  @override
  String get name;
  @override
  String? get address;
  @override
  @JsonKey(name: 'contact_name')
  String get contactName;
  @override
  @JsonKey(name: 'contact_position')
  String? get contactPosition; // nullable로 변경
  @override
  @JsonKey(name: 'contact_phone')
  String get contactPhone;
  @override
  @JsonKey(name: 'contact_email')
  String get contactEmail;
  @override
  @JsonKey(name: 'company_types')
  List<String> get companyTypes;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_active')
  bool get isActive;
  @override
  @JsonKey(name: 'is_partner')
  bool get isPartner;
  @override
  @JsonKey(name: 'is_customer')
  bool get isCustomer;
  @override
  @JsonKey(name: 'parent_company_id')
  int? get parentCompanyId;
  @override
  @JsonKey(name: 'created_at')
  DateTime get createdAt;
  @override
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt; // nullable로 변경
  @override
  @JsonKey(name: 'address_id')
  int? get addressId;

  /// Create a copy of CompanyResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$CompanyResponseImplCopyWith<_$CompanyResponseImpl> 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;
}
