when<T> method
T
when<T>({
- required T success(
- KAuthUser user
- required T cancelled(),
- required T failure(
- KAuthFailure failure
성공/실패/취소에 따라 다른 값 반환
result.when(
success: (user) => navigateToHome(user),
cancelled: () => showToast('로그인을 취소했습니다'),
failure: (failure) => showError(failure.message),
);
Implementation
T when<T>({
required T Function(KAuthUser user) success,
required T Function() cancelled,
required T Function(KAuthFailure failure) failure,
}) {
if (this.success && user != null) {
return success(user!);
}
if (errorCode == 'USER_CANCELLED') {
return cancelled();
}
return failure(this.failure);
}