import 'package:e_receipt_mobile/domain/entities/login_user.dart'; class LoginState { const LoginState({ this.isLoading = false, this.errorMessage, this.successMessage, this.user, }); final bool isLoading; final String? errorMessage; final String? successMessage; final LoginUser? user; static const Object _unset = Object(); LoginState copyWith({ bool? isLoading, String? errorMessage, String? successMessage, Object? user = _unset, bool clearError = false, bool clearSuccess = false, }) { return LoginState( isLoading: isLoading ?? this.isLoading, errorMessage: clearError ? null : errorMessage ?? this.errorMessage, successMessage: clearSuccess ? null : successMessage ?? this.successMessage, user: identical(user, _unset) ? this.user : user as LoginUser?, ); } }