what’s wrong with the way I define this type
type Payload<Es> = {
trigger:
Es extends Record<infer K, infer V>
? { key: K, data: V } : never
}
type Evs = {
"item.1": { ok: "Y", code: number }
"item.2": 1 | 0
}
const payload: Payload<Evs> = {
trigger: {
key: "item.1",
data: 1
}
}
payload.trigger.data
doesn’t get inferred as I expect
expected
{ ok: "Y", code: number }
what I get
0 | { ok: "Y", code: number } | 1