Mapped Types


  • Base Type을 바탕으로 다른 버전들을 만들어 낼 수 있게 해줌

  • Base Type은 InputType이어야 하고, 만들어낸 Mapped Type들도 모두 InputType임


  • 종류

    • Partial Type: 모든 field가 required가 아닌 type을 만들어 줌
    • Pick Type: base type에서 몇 가지 property를 선택해서 새로운 type을 만들어 줌
    • Omit Type: base type에서 몇 가지 property를 제외하고 새로운 type을 만들어 줌
    • Intersection: 두개의 base type을 합쳐줌


  • Base Type이 InputType이 아닐 경우 방법 2가지

    1. InputType임을 명시해준다.
    2. args에 InputType을 써준다.
      Ex)
        @InputType
        class CafeDto extends PickType(Cafe, ["menu"], InputType) {}
profile
Full Stack Developer 📚

0개의 댓글