Generic Utilities

제네릭 유틸 함수는 입력 증명을 반환 타입에 붙인다

같은 제네릭 문법이라도 키 접근, 객체 병합, null 제거, 조건부 반환은 서로 다른 증명 장치를 사용한다.

예제 함수별 타입 연결 방식

proof to return
  1. 입력 T
  2. 제약/검사
  3. 변환
  4. 반환 타입

pluck

K extends keyof T로 존재하는 키만 받고 결과를 T[K][]로 고정한다.

merge

T extends objectU extends object가 스프레드 가능성을 보장한다.

compact

item is NonNullable<T>가 filter 뒤 배열 요소 타입을 좁힌다.

processValue

입력 타입에 따라 반환 타입이 달라질 때 조건부 타입으로 결과를 표현한다.

실무 선택

단순한 관계는 제약 조건으로 표현하고, 분기가 복잡하거나 as any가 늘어나면 명시적 오버로드가 더 읽기 쉽다.