コード
type Unwrap<T> = T extends { [K in keyof T]: infer U } ? U : never
使い方
type HogeList = {
id: number
name: string
}[]
type FugaList = {
id: number
label: string
}[]
type Result = Unwrap<HogeList | FugaList> // ココ
↓ Result
はこう解釈される
type Result =
| {
id: number
name: string
}
| {
id: number
label: string
}
自動生成された型に含まれる配列を解体したい時とかに便利。