validate method

List<KAuthError> validate({
  1. bool throwOnError = false,
  2. TargetPlatform? targetPlatform,
})

설정 유효성 검증

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;
}