728x90

- Partial

클래스의 프로퍼티 정의를 모두 optional로 만든다.

export class UpdateUserDto extends PartialType(CreateUserDto) {}

- Pick

특정 프로퍼티만 골라 사용 할 수 있다. (Omit의 반대)

export class LoginUserDto extends PickType(CreateUserDto, ['email', 'password'] as const) {}

- Omit

특정 프로퍼티만 생략 할 수 있다. (Pick의 반대)

export class PublicUserDto extends OmitType(CreateUserDto, ['password'] as const) {}

- Intersection

두 타입의 프로퍼티를 모두 모아서 사용 할 수 있다.

export class UserWithAddressDto extends IntersectionType(UserDetailsDto, AddressDto) {}

두 Dto의 내용 한개로 합쳐짐


- Composition

Mapped Types를 다양하게 조합해서 중첩 적용 가능하다.

export class UpdateCatDto extends PartialType(OmitType(CreateCatDto, ['name'] as const)) {}

위 코드는 CreateCatDto에서 'name' 제외하고 가져오는데 전부 Partial로 만듦

 

 

 

https://fastcampus.co.kr/classroom/239666

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

728x90

'코딩 > Nest.js' 카테고리의 다른 글

passport  (0) 2024.10.22
JWT  (0) 2024.10.22
Pipe  (2) 2024.10.22
환경변수 ConfigModule (+ TypeORM DB 설정)  (0) 2024.10.21
Class Transformer  (0) 2024.10.21

+ Recent posts