TypeScript 2

타입스크립트 데코레이터를 활용하여 유효성 검사(Validation) 하기

타입스크립트의 데코레이터는 도대체 뭘까? class-validator를 프로젝트에서 사용해보았다면, 아래와 같이 데코레이터를 사용해 간단히 유효성 검사를 위한 Class를 만들 수 있다. import { IsEmail, MinLength, MaxLength, } from 'class-validator'; export class UserDto { @MaxLength(15) name: string; @IsEmail() email:string; @MinLength(8) password: string; } DTO를 위해 class-validator를 사용한 예시 이외에도 Nest.js를 사용해보았다면, Module, Provider, Controller를 만들 때도 데코레이터를 활용한다. 그래서, 데코레이터는 ..

TypeScript: NestedKeysType 만들어 사용하기

아래와 같은 객체에서 "B" | "C" | "D" | "G" | "H" | "A" | "E" 와 같은 Union Type을 추출하려면 어떻게 해야 할까요? 원하는 값을 얻기 위해서 꽤 긴 시간을 삽질을 한 것 같아요. 저는 단순히 TypeScript에서 제공하는 keyof 라는 값과 ValueOf 라는 제네릭 타입을 만들어서 조합하면 원하는 결과가 나올 것이라 생각했습니다. "B" | "C" | "D" | "G" | "H" | "A" | "E" 타입을 추출하는 것은 쉽지 않더군요. 먼저 fisrt와 second 객체를 뽑아내기 위하여 아래와 같은 ValueOf 라는 제네릭 타입을 만들어 주었습니다. type ValueOf = T[keyof T]; 해당 타입을 활용하면 결과는 이렇습니다. 이제 Exampl..