dental-notation 패키지 npm 배포
치과에서 치아를 표기하는 대표적인 방법이 3개 있다.
- FDI
- Universal
- Palmer
각 국가마다 사용하는 표기법은 다르다.
치과 관련 서비스를 구현하다보니 치아 번호를 편하게 다룰 수 있는 라이브러리가 있으면 좋겠다고 생각했다.
그래서 간단하게 구현하여 npm에 배포해보았다.
기능
기능은 총 2개 구현했다.
- 각 치아 notation 별 변환
- 치아 번호를 문자열로 변환
Notation 변환
국가별로 치아를 나타내는 방법은 모두 다르다.
위 문제를 해결하기 위해 국가별로 DB에 다르게 저장하고 코드에서 분기처리를 한다는 것은 쉽지 않다.
따라서 국가와 상관없이 DB에 1가지 notation 값만 저장을 해둔다.
그리고 나라별로 보여줄 때 해당 notation으로 변환하여 보여주는 방식을 사용한다.
위 방식으로 구현하려면 각 notation별 변환하는 함수가 필요하다.
치아 번호 문자열로 변환
치아 번호도 연속되는 숫자나 문자가 있다.
이걸 하나씩 보여주면 문자열이 굉징히 길어진다.
이걸 짧게 표시하는 방법이 각 notation 마다 다른데 이걸 구현하였다.
숫자로 표현하자면 아래 방식과 동일하다.
- 1, 2, 3, 4, 5 : 1~5
- 1, 2, 4, 5, 7, 8, 9 : 1~2, 4~5, 7~9
배운점
- tsup을 활용하여 빠르게 TypeScript 라이브러리를 번들하는 방법
- TypeScript 오버라이딩 활용 방법
위 중에서 2번째 TypeScript 오버라이딩 활용하는 방법을 배운 것이 많은 도움이 되었다.
결과물
반응형
'회고 > 회고록' 카테고리의 다른 글
[회고록] 2023년 개발 회고 (0) | 2024.01.16 |
---|---|
[회고록] 2022년 회고 (0) | 2023.01.24 |
[회고록] 2022년 6, 7월 회고록 (0) | 2022.08.02 |
[회고록] 2022년 5월 회고록 (0) | 2022.06.04 |
[회고록] 2022년 4월 회고록 (0) | 2022.05.02 |