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

/// @nodoc
mixin _$CoreState {
  OkanePage get activePage => throw _privateConstructorUsedError;
  int? get activeAccountIndex => throw _privateConstructorUsedError;
  TransactionDto? get activeTransaction => throw _privateConstructorUsedError;
  List<Account> get accounts => throw _privateConstructorUsedError;
  List<RecurringTransactionDto> get recurringTransactions =>
      throw _privateConstructorUsedError;
  List<TransactionDto> get transactions => throw _privateConstructorUsedError;
  List<TransactionTemplateDto> get transactionTemplates =>
      throw _privateConstructorUsedError;
  List<Beneficiary> get beneficiaries => throw _privateConstructorUsedError;
  List<ExpenseCategory> get expenseCategories =>
      throw _privateConstructorUsedError;
  List<BudgetsDto> get budgets => throw _privateConstructorUsedError;
  List<BudgetItemDto> get budgetItems => throw _privateConstructorUsedError;
  BudgetsDto? get activeBudget => throw _privateConstructorUsedError;
  List<LoanDto> get loans => throw _privateConstructorUsedError;
  List<LoanChange> get loanChanges => throw _privateConstructorUsedError;
  LoanDto? get activeLoan => throw _privateConstructorUsedError;
  bool get isDeletingAccount => throw _privateConstructorUsedError;

  @JsonKey(ignore: true)
  $CoreStateCopyWith<CoreState> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $CoreStateCopyWith<$Res> {
  factory $CoreStateCopyWith(CoreState value, $Res Function(CoreState) then) =
      _$CoreStateCopyWithImpl<$Res, CoreState>;
  @useResult
  $Res call({
    OkanePage activePage,
    int? activeAccountIndex,
    TransactionDto? activeTransaction,
    List<Account> accounts,
    List<RecurringTransactionDto> recurringTransactions,
    List<TransactionDto> transactions,
    List<TransactionTemplateDto> transactionTemplates,
    List<Beneficiary> beneficiaries,
    List<ExpenseCategory> expenseCategories,
    List<BudgetsDto> budgets,
    List<BudgetItemDto> budgetItems,
    BudgetsDto? activeBudget,
    List<LoanDto> loans,
    List<LoanChange> loanChanges,
    LoanDto? activeLoan,
    bool isDeletingAccount,
  });
}

/// @nodoc
class _$CoreStateCopyWithImpl<$Res, $Val extends CoreState>
    implements $CoreStateCopyWith<$Res> {
  _$CoreStateCopyWithImpl(this._value, this._then);

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

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? activePage = null,
    Object? activeAccountIndex = freezed,
    Object? activeTransaction = freezed,
    Object? accounts = null,
    Object? recurringTransactions = null,
    Object? transactions = null,
    Object? transactionTemplates = null,
    Object? beneficiaries = null,
    Object? expenseCategories = null,
    Object? budgets = null,
    Object? budgetItems = null,
    Object? activeBudget = freezed,
    Object? loans = null,
    Object? loanChanges = null,
    Object? activeLoan = freezed,
    Object? isDeletingAccount = null,
  }) {
    return _then(
      _value.copyWith(
            activePage:
                null == activePage
                    ? _value.activePage
                    : activePage // ignore: cast_nullable_to_non_nullable
                        as OkanePage,
            activeAccountIndex:
                freezed == activeAccountIndex
                    ? _value.activeAccountIndex
                    : activeAccountIndex // ignore: cast_nullable_to_non_nullable
                        as int?,
            activeTransaction:
                freezed == activeTransaction
                    ? _value.activeTransaction
                    : activeTransaction // ignore: cast_nullable_to_non_nullable
                        as TransactionDto?,
            accounts:
                null == accounts
                    ? _value.accounts
                    : accounts // ignore: cast_nullable_to_non_nullable
                        as List<Account>,
            recurringTransactions:
                null == recurringTransactions
                    ? _value.recurringTransactions
                    : recurringTransactions // ignore: cast_nullable_to_non_nullable
                        as List<RecurringTransactionDto>,
            transactions:
                null == transactions
                    ? _value.transactions
                    : transactions // ignore: cast_nullable_to_non_nullable
                        as List<TransactionDto>,
            transactionTemplates:
                null == transactionTemplates
                    ? _value.transactionTemplates
                    : transactionTemplates // ignore: cast_nullable_to_non_nullable
                        as List<TransactionTemplateDto>,
            beneficiaries:
                null == beneficiaries
                    ? _value.beneficiaries
                    : beneficiaries // ignore: cast_nullable_to_non_nullable
                        as List<Beneficiary>,
            expenseCategories:
                null == expenseCategories
                    ? _value.expenseCategories
                    : expenseCategories // ignore: cast_nullable_to_non_nullable
                        as List<ExpenseCategory>,
            budgets:
                null == budgets
                    ? _value.budgets
                    : budgets // ignore: cast_nullable_to_non_nullable
                        as List<BudgetsDto>,
            budgetItems:
                null == budgetItems
                    ? _value.budgetItems
                    : budgetItems // ignore: cast_nullable_to_non_nullable
                        as List<BudgetItemDto>,
            activeBudget:
                freezed == activeBudget
                    ? _value.activeBudget
                    : activeBudget // ignore: cast_nullable_to_non_nullable
                        as BudgetsDto?,
            loans:
                null == loans
                    ? _value.loans
                    : loans // ignore: cast_nullable_to_non_nullable
                        as List<LoanDto>,
            loanChanges:
                null == loanChanges
                    ? _value.loanChanges
                    : loanChanges // ignore: cast_nullable_to_non_nullable
                        as List<LoanChange>,
            activeLoan:
                freezed == activeLoan
                    ? _value.activeLoan
                    : activeLoan // ignore: cast_nullable_to_non_nullable
                        as LoanDto?,
            isDeletingAccount:
                null == isDeletingAccount
                    ? _value.isDeletingAccount
                    : isDeletingAccount // ignore: cast_nullable_to_non_nullable
                        as bool,
          )
          as $Val,
    );
  }
}

/// @nodoc
abstract class _$$CoreStateImplCopyWith<$Res>
    implements $CoreStateCopyWith<$Res> {
  factory _$$CoreStateImplCopyWith(
    _$CoreStateImpl value,
    $Res Function(_$CoreStateImpl) then,
  ) = __$$CoreStateImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({
    OkanePage activePage,
    int? activeAccountIndex,
    TransactionDto? activeTransaction,
    List<Account> accounts,
    List<RecurringTransactionDto> recurringTransactions,
    List<TransactionDto> transactions,
    List<TransactionTemplateDto> transactionTemplates,
    List<Beneficiary> beneficiaries,
    List<ExpenseCategory> expenseCategories,
    List<BudgetsDto> budgets,
    List<BudgetItemDto> budgetItems,
    BudgetsDto? activeBudget,
    List<LoanDto> loans,
    List<LoanChange> loanChanges,
    LoanDto? activeLoan,
    bool isDeletingAccount,
  });
}

/// @nodoc
class __$$CoreStateImplCopyWithImpl<$Res>
    extends _$CoreStateCopyWithImpl<$Res, _$CoreStateImpl>
    implements _$$CoreStateImplCopyWith<$Res> {
  __$$CoreStateImplCopyWithImpl(
    _$CoreStateImpl _value,
    $Res Function(_$CoreStateImpl) _then,
  ) : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? activePage = null,
    Object? activeAccountIndex = freezed,
    Object? activeTransaction = freezed,
    Object? accounts = null,
    Object? recurringTransactions = null,
    Object? transactions = null,
    Object? transactionTemplates = null,
    Object? beneficiaries = null,
    Object? expenseCategories = null,
    Object? budgets = null,
    Object? budgetItems = null,
    Object? activeBudget = freezed,
    Object? loans = null,
    Object? loanChanges = null,
    Object? activeLoan = freezed,
    Object? isDeletingAccount = null,
  }) {
    return _then(
      _$CoreStateImpl(
        activePage:
            null == activePage
                ? _value.activePage
                : activePage // ignore: cast_nullable_to_non_nullable
                    as OkanePage,
        activeAccountIndex:
            freezed == activeAccountIndex
                ? _value.activeAccountIndex
                : activeAccountIndex // ignore: cast_nullable_to_non_nullable
                    as int?,
        activeTransaction:
            freezed == activeTransaction
                ? _value.activeTransaction
                : activeTransaction // ignore: cast_nullable_to_non_nullable
                    as TransactionDto?,
        accounts:
            null == accounts
                ? _value._accounts
                : accounts // ignore: cast_nullable_to_non_nullable
                    as List<Account>,
        recurringTransactions:
            null == recurringTransactions
                ? _value._recurringTransactions
                : recurringTransactions // ignore: cast_nullable_to_non_nullable
                    as List<RecurringTransactionDto>,
        transactions:
            null == transactions
                ? _value._transactions
                : transactions // ignore: cast_nullable_to_non_nullable
                    as List<TransactionDto>,
        transactionTemplates:
            null == transactionTemplates
                ? _value._transactionTemplates
                : transactionTemplates // ignore: cast_nullable_to_non_nullable
                    as List<TransactionTemplateDto>,
        beneficiaries:
            null == beneficiaries
                ? _value._beneficiaries
                : beneficiaries // ignore: cast_nullable_to_non_nullable
                    as List<Beneficiary>,
        expenseCategories:
            null == expenseCategories
                ? _value._expenseCategories
                : expenseCategories // ignore: cast_nullable_to_non_nullable
                    as List<ExpenseCategory>,
        budgets:
            null == budgets
                ? _value._budgets
                : budgets // ignore: cast_nullable_to_non_nullable
                    as List<BudgetsDto>,
        budgetItems:
            null == budgetItems
                ? _value._budgetItems
                : budgetItems // ignore: cast_nullable_to_non_nullable
                    as List<BudgetItemDto>,
        activeBudget:
            freezed == activeBudget
                ? _value.activeBudget
                : activeBudget // ignore: cast_nullable_to_non_nullable
                    as BudgetsDto?,
        loans:
            null == loans
                ? _value._loans
                : loans // ignore: cast_nullable_to_non_nullable
                    as List<LoanDto>,
        loanChanges:
            null == loanChanges
                ? _value._loanChanges
                : loanChanges // ignore: cast_nullable_to_non_nullable
                    as List<LoanChange>,
        activeLoan:
            freezed == activeLoan
                ? _value.activeLoan
                : activeLoan // ignore: cast_nullable_to_non_nullable
                    as LoanDto?,
        isDeletingAccount:
            null == isDeletingAccount
                ? _value.isDeletingAccount
                : isDeletingAccount // ignore: cast_nullable_to_non_nullable
                    as bool,
      ),
    );
  }
}

/// @nodoc

class _$CoreStateImpl implements _CoreState {
  const _$CoreStateImpl({
    this.activePage = OkanePage.accounts,
    this.activeAccountIndex,
    this.activeTransaction = null,
    final List<Account> accounts = const [],
    final List<RecurringTransactionDto> recurringTransactions = const [],
    final List<TransactionDto> transactions = const [],
    final List<TransactionTemplateDto> transactionTemplates = const [],
    final List<Beneficiary> beneficiaries = const [],
    final List<ExpenseCategory> expenseCategories = const [],
    final List<BudgetsDto> budgets = const [],
    final List<BudgetItemDto> budgetItems = const [],
    this.activeBudget = null,
    final List<LoanDto> loans = const [],
    final List<LoanChange> loanChanges = const [],
    this.activeLoan = null,
    this.isDeletingAccount = false,
  }) : _accounts = accounts,
       _recurringTransactions = recurringTransactions,
       _transactions = transactions,
       _transactionTemplates = transactionTemplates,
       _beneficiaries = beneficiaries,
       _expenseCategories = expenseCategories,
       _budgets = budgets,
       _budgetItems = budgetItems,
       _loans = loans,
       _loanChanges = loanChanges;

  @override
  @JsonKey()
  final OkanePage activePage;
  @override
  final int? activeAccountIndex;
  @override
  @JsonKey()
  final TransactionDto? activeTransaction;
  final List<Account> _accounts;
  @override
  @JsonKey()
  List<Account> get accounts {
    if (_accounts is EqualUnmodifiableListView) return _accounts;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_accounts);
  }

  final List<RecurringTransactionDto> _recurringTransactions;
  @override
  @JsonKey()
  List<RecurringTransactionDto> get recurringTransactions {
    if (_recurringTransactions is EqualUnmodifiableListView)
      return _recurringTransactions;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_recurringTransactions);
  }

  final List<TransactionDto> _transactions;
  @override
  @JsonKey()
  List<TransactionDto> get transactions {
    if (_transactions is EqualUnmodifiableListView) return _transactions;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_transactions);
  }

  final List<TransactionTemplateDto> _transactionTemplates;
  @override
  @JsonKey()
  List<TransactionTemplateDto> get transactionTemplates {
    if (_transactionTemplates is EqualUnmodifiableListView)
      return _transactionTemplates;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_transactionTemplates);
  }

  final List<Beneficiary> _beneficiaries;
  @override
  @JsonKey()
  List<Beneficiary> get beneficiaries {
    if (_beneficiaries is EqualUnmodifiableListView) return _beneficiaries;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_beneficiaries);
  }

  final List<ExpenseCategory> _expenseCategories;
  @override
  @JsonKey()
  List<ExpenseCategory> get expenseCategories {
    if (_expenseCategories is EqualUnmodifiableListView)
      return _expenseCategories;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_expenseCategories);
  }

  final List<BudgetsDto> _budgets;
  @override
  @JsonKey()
  List<BudgetsDto> get budgets {
    if (_budgets is EqualUnmodifiableListView) return _budgets;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_budgets);
  }

  final List<BudgetItemDto> _budgetItems;
  @override
  @JsonKey()
  List<BudgetItemDto> get budgetItems {
    if (_budgetItems is EqualUnmodifiableListView) return _budgetItems;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_budgetItems);
  }

  @override
  @JsonKey()
  final BudgetsDto? activeBudget;
  final List<LoanDto> _loans;
  @override
  @JsonKey()
  List<LoanDto> get loans {
    if (_loans is EqualUnmodifiableListView) return _loans;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_loans);
  }

  final List<LoanChange> _loanChanges;
  @override
  @JsonKey()
  List<LoanChange> get loanChanges {
    if (_loanChanges is EqualUnmodifiableListView) return _loanChanges;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_loanChanges);
  }

  @override
  @JsonKey()
  final LoanDto? activeLoan;
  @override
  @JsonKey()
  final bool isDeletingAccount;

  @override
  String toString() {
    return 'CoreState(activePage: $activePage, activeAccountIndex: $activeAccountIndex, activeTransaction: $activeTransaction, accounts: $accounts, recurringTransactions: $recurringTransactions, transactions: $transactions, transactionTemplates: $transactionTemplates, beneficiaries: $beneficiaries, expenseCategories: $expenseCategories, budgets: $budgets, budgetItems: $budgetItems, activeBudget: $activeBudget, loans: $loans, loanChanges: $loanChanges, activeLoan: $activeLoan, isDeletingAccount: $isDeletingAccount)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CoreStateImpl &&
            (identical(other.activePage, activePage) ||
                other.activePage == activePage) &&
            (identical(other.activeAccountIndex, activeAccountIndex) ||
                other.activeAccountIndex == activeAccountIndex) &&
            (identical(other.activeTransaction, activeTransaction) ||
                other.activeTransaction == activeTransaction) &&
            const DeepCollectionEquality().equals(other._accounts, _accounts) &&
            const DeepCollectionEquality().equals(
              other._recurringTransactions,
              _recurringTransactions,
            ) &&
            const DeepCollectionEquality().equals(
              other._transactions,
              _transactions,
            ) &&
            const DeepCollectionEquality().equals(
              other._transactionTemplates,
              _transactionTemplates,
            ) &&
            const DeepCollectionEquality().equals(
              other._beneficiaries,
              _beneficiaries,
            ) &&
            const DeepCollectionEquality().equals(
              other._expenseCategories,
              _expenseCategories,
            ) &&
            const DeepCollectionEquality().equals(other._budgets, _budgets) &&
            const DeepCollectionEquality().equals(
              other._budgetItems,
              _budgetItems,
            ) &&
            (identical(other.activeBudget, activeBudget) ||
                other.activeBudget == activeBudget) &&
            const DeepCollectionEquality().equals(other._loans, _loans) &&
            const DeepCollectionEquality().equals(
              other._loanChanges,
              _loanChanges,
            ) &&
            (identical(other.activeLoan, activeLoan) ||
                other.activeLoan == activeLoan) &&
            (identical(other.isDeletingAccount, isDeletingAccount) ||
                other.isDeletingAccount == isDeletingAccount));
  }

  @override
  int get hashCode => Object.hash(
    runtimeType,
    activePage,
    activeAccountIndex,
    activeTransaction,
    const DeepCollectionEquality().hash(_accounts),
    const DeepCollectionEquality().hash(_recurringTransactions),
    const DeepCollectionEquality().hash(_transactions),
    const DeepCollectionEquality().hash(_transactionTemplates),
    const DeepCollectionEquality().hash(_beneficiaries),
    const DeepCollectionEquality().hash(_expenseCategories),
    const DeepCollectionEquality().hash(_budgets),
    const DeepCollectionEquality().hash(_budgetItems),
    activeBudget,
    const DeepCollectionEquality().hash(_loans),
    const DeepCollectionEquality().hash(_loanChanges),
    activeLoan,
    isDeletingAccount,
  );

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$CoreStateImplCopyWith<_$CoreStateImpl> get copyWith =>
      __$$CoreStateImplCopyWithImpl<_$CoreStateImpl>(this, _$identity);
}

abstract class _CoreState implements CoreState {
  const factory _CoreState({
    final OkanePage activePage,
    final int? activeAccountIndex,
    final TransactionDto? activeTransaction,
    final List<Account> accounts,
    final List<RecurringTransactionDto> recurringTransactions,
    final List<TransactionDto> transactions,
    final List<TransactionTemplateDto> transactionTemplates,
    final List<Beneficiary> beneficiaries,
    final List<ExpenseCategory> expenseCategories,
    final List<BudgetsDto> budgets,
    final List<BudgetItemDto> budgetItems,
    final BudgetsDto? activeBudget,
    final List<LoanDto> loans,
    final List<LoanChange> loanChanges,
    final LoanDto? activeLoan,
    final bool isDeletingAccount,
  }) = _$CoreStateImpl;

  @override
  OkanePage get activePage;
  @override
  int? get activeAccountIndex;
  @override
  TransactionDto? get activeTransaction;
  @override
  List<Account> get accounts;
  @override
  List<RecurringTransactionDto> get recurringTransactions;
  @override
  List<TransactionDto> get transactions;
  @override
  List<TransactionTemplateDto> get transactionTemplates;
  @override
  List<Beneficiary> get beneficiaries;
  @override
  List<ExpenseCategory> get expenseCategories;
  @override
  List<BudgetsDto> get budgets;
  @override
  List<BudgetItemDto> get budgetItems;
  @override
  BudgetsDto? get activeBudget;
  @override
  List<LoanDto> get loans;
  @override
  List<LoanChange> get loanChanges;
  @override
  LoanDto? get activeLoan;
  @override
  bool get isDeletingAccount;
  @override
  @JsonKey(ignore: true)
  _$$CoreStateImplCopyWith<_$CoreStateImpl> get copyWith =>
      throw _privateConstructorUsedError;
}