타입 챌린지 2759 - RequiredByKeys

소파의 벨로그·2025년 4월 10일

타입챌린지

목록 보기
50/131

문제 링크

유사한 문제 풀이(타입 챌린지 2757 - PartialByKeys)

문제

T와 K를 제네릭으로 받는 RequiredByKeys<T, K>를 구현하라

T의 프로퍼티 모음인 K는 required여야 한다. 만약 K가 주어지지 않으면 일반 Required<T>처럼 모든 프로퍼티가 required여야 한다.

Implement a generic RequiredByKeys<T, K> which takes two type argument T and K.

K specify the set of properties of T that should set to be required. When K is not provided, it should make all properties required just like the normal Required<T>.

내 풀이

type RequiredByKeys<T, K extends keyof T= keyof T> = Omit<Omit<T,K>&Required<Pick<T,K>>,never>

이번에는 한 줄로 풀어보았다.
가장 바깥의 Omit은 Equal의 부조리함을 해결하기 위해 구현했다.

다른 사람의 풀이

대부분의 풀이가 이 틀을 벗어나지 않았다.

0개의 댓글