Conditional Type

infer 추출 파이프라인

조건부 타입이 입력 구조를 먼저 맞춘 뒤, 구조 안쪽의 타입을 infer 변수로 꺼낸다.

infer가 값을 뽑는 위치

match first

입력 타입

제네릭 T가 어떤 모양인지 아직 확정되지 않은 상태다.

패턴 비교

T extends Promise<infer U>처럼 구조를 먼저 맞춘다.

내부 타입 캡처

맞은 자리의 타입이 U라는 임시 이름으로 묶인다.

분기 결과

성공하면 U를 반환하고 실패하면 별도 타입으로 떨어진다.

T extends 패턴 infer U true branch U 반환
패턴 추출

infer는 아무 타입이나 추측하지 않는다. extends 오른쪽 패턴이 맞을 때만 해당 위치의 타입을 이름 붙인다.