utility fn

제네릭 유틸리티 함수는 타입 관계를 구현 코드에 붙잡아 둡니다

pluck, merge, 값 없음 필터, 오버로드 대체 패턴은 모두 입력 타입과 결과 타입의 관계를 유지하는 연습입니다.

pluck

키와 값 연결

K extends keyof T로 고른 키에 해당하는 값 타입만 배열로 돌려줍니다.

T[K][]
merge

객체 결합

두 객체 타입을 합친 결과가 양쪽 속성을 모두 갖도록 표현합니다.

T & U
값 없음 필터

남는 값 보존

필터 predicate를 통해 제거 뒤 남는 값의 타입을 더 정확히 만듭니다.

value is T
오버로드 대체

입력별 결과

여러 호출 형태를 제네릭과 조건부 타입으로 간결하게 표현할 수 있습니다.

Result<T>