DEV Community

정한수
정한수

Posted on

typia 사용법

typia 사용법

개요

Typia는 TypeScript를 위한 변환(transformer) 라이브러리로, 다음과 같은 주요 기능을 제공합니다:

  • 초고속 런타임 유효성 검사기
  • 향상된 JSON 스키마 및 직렬화/역직렬화 기능
  • LLM 함수 호출 스키마와 구조화된 출력
  • Protocol Buffer 인코더와 디코더
  • 랜덤 데이터 생성기

설치 방법

npm install typia
Enter fullscreen mode Exit fullscreen mode

런타임 타입 검증

주요 검증 함수들:

  • is<T>(): boolean 값을 반환하는 타입 검사
  • assert<T>(): 타입이 일치하지 않을 경우 TypeGuardError를 발생
  • assertGuard<T>(): 타입 단언을 위한 검증
  • validate<T>(): 상세한 유효성 검사 결과 제공

JSON 관련 기능

namespace json {
  application<T>()      // JSON 스키마
  assertParse<T>()      // 타입 안전 파서
  assertStringify<T>()  // 안전하고 빠른 문자열화
}
Enter fullscreen mode Exit fullscreen mode

LLM 기능

namespace llm {
  application<App, Model>()  // 클래스/인터페이스 타입의 애플리케이션 스키마
  parameters<P, Model>()     // 구조화된 출력
  schema<T, Model>()        // 타입 스키마
}
Enter fullscreen mode Exit fullscreen mode

Protocol Buffer 지원

namespace protobuf {
  message<T>()        // Protocol Buffer 메시지
  assertDecode<T>()   // 안전한 디코더
  assertEncode<T>()   // 안전한 인코더
}
Enter fullscreen mode Exit fullscreen mode

특징

  • 순수 TypeScript 타입만으로 단 한 줄의 코드로 구현
  • 런타임 검증이 class-validator보다 20,000배 빠름
  • JSON 직렬화가 class-transformer보다 200배 빠름

참고 자료


참고: 이 라이브러리는 MIT 라이선스로 제공되며, 활발한 커뮤니티 지원을 받고 있습니다.

Top comments (0)