validate method
설정 유효성 검증
throwOnError가 true이면 에러 시 예외를 던지고,
false이면 에러 목록을 반환합니다.
targetPlatform을 지정하면 해당 플랫폼 기준으로 검증합니다.
지정하지 않으면 현재 플랫폼(defaultTargetPlatform)을 사용합니다.
Implementation
List<KAuthError> validate({
bool throwOnError = false,
TargetPlatform? targetPlatform,
}) {
final errors = <KAuthError>[];
final platform = targetPlatform ?? defaultTargetPlatform;
// 최소 하나의 Provider가 설정되어 있어야 함
if (kakao == null && naver == null && google == null && apple == null) {
errors.add(KAuthError.fromCode(ErrorCodes.noProviderConfigured));
}
// 각 Provider 설정 검증
if (kakao != null) {
errors.addAll(kakao!.validate());
}
if (naver != null) {
errors.addAll(naver!.validate());
}
if (google != null) {
errors.addAll(google!.validate(targetPlatform: platform));
}
if (apple != null) {
errors.addAll(apple!.validate());
}
if (throwOnError && errors.isNotEmpty) {
throw errors.first;
}
return errors;
}