typia 사용법
개요
Typia는 TypeScript를 위한 변환(transformer) 라이브러리로, 다음과 같은 주요 기능을 제공합니다:
- 초고속 런타임 유효성 검사기
- 향상된 JSON 스키마 및 직렬화/역직렬화 기능
- LLM 함수 호출 스키마와 구조화된 출력
- Protocol Buffer 인코더와 디코더
- 랜덤 데이터 생성기
설치 방법
npm install typia
런타임 타입 검증
주요 검증 함수들:
-
is<T>()
: boolean 값을 반환하는 타입 검사 -
assert<T>()
: 타입이 일치하지 않을 경우 TypeGuardError를 발생 -
assertGuard<T>()
: 타입 단언을 위한 검증 -
validate<T>()
: 상세한 유효성 검사 결과 제공
JSON 관련 기능
namespace json {
application<T>() // JSON 스키마
assertParse<T>() // 타입 안전 파서
assertStringify<T>() // 안전하고 빠른 문자열화
}
LLM 기능
namespace llm {
application<App, Model>() // 클래스/인터페이스 타입의 애플리케이션 스키마
parameters<P, Model>() // 구조화된 출력
schema<T, Model>() // 타입 스키마
}
Protocol Buffer 지원
namespace protobuf {
message<T>() // Protocol Buffer 메시지
assertDecode<T>() // 안전한 디코더
assertEncode<T>() // 안전한 인코더
}
특징
- 순수 TypeScript 타입만으로 단 한 줄의 코드로 구현
- 런타임 검증이 class-validator보다 20,000배 빠름
- JSON 직렬화가 class-transformer보다 200배 빠름
참고 자료
참고: 이 라이브러리는 MIT 라이선스로 제공되며, 활발한 커뮤니티 지원을 받고 있습니다.
Top comments (0)