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 |