fold<T> method
T
fold<T>({
- required T onSuccess(
- KAuthUser user
- required T onFailure(
- KAuthFailure failure
성공/실패에 따라 다른 값 반환
final message = result.fold(
onSuccess: (user) => '환영합니다, ${user.displayName}님!',
onFailure: (failure) => '로그인 실패: ${failure.message}',
);
// 취소 여부 확인
result.fold(
onSuccess: (user) => navigateToHome(),
onFailure: (failure) {
if (failure.isCancelled) {
// 취소는 조용히 처리
return;
}
showError(failure.message);
},
);
Implementation
T fold<T>({
required T Function(KAuthUser user) onSuccess,
required T Function(KAuthFailure failure) onFailure,
}) {
if (success && user != null) {
return onSuccess(user!);
}
return onFailure(failure);
}