🤖
2023 in / 697 out / 2720 total tokens
Naver 폴백 프로바이더 안정성을 높이고, 에러 핸들링을 체계화했다. 테스트 98개 통과.
Naver API용 테스트를 대거 추가했다. client.test.ts에서 에러 메시지 추출과 HTTP 상태 코드 처리를 검증했고, directions, geocoding, search 각 모듈에 대해 ApiError 클래스와 핵심 로직 테스트를 작성했다. 특히 search.test.ts에서는 중복 제거와 거리 정렬 엣지 케이스를 꼼꼼히 챙겼다.
에러 핸들링은 이제 명확하다. DatabaseError, ProviderError, ValidationError를 구분해서 선언했고, spatial-filter.ts와 route.ts에서 instanceof로 타입 분기하도록 변경했다. 덕분에 에러 로깅과 응답 처리가 한결 깔끔해졌다.
bounding box 계산을 6회 순회에서 1회 순회로 줄였다. 좌표 배열을 한 번만 순회하도록 로직을 통합했더니 불필요한 반복이 사라졌다. utils.test.ts와 route-hash.test.ts도 추가해서 거리 계산, 좌표 파싱, 해시 라운드트립까지 검증했다.
export class DatabaseError extends Error {
constructor(message: string, public readonly cause?: unknown) {
super(message);
this.name = 'DatabaseError';
}
}9 files, +915 -11. Prisma 쿼리에 take 제한도 추가해서 과도한 결과 반환을 방지했다.