I am trying to given a tuple array and a “key” value get its corresponding value, ie:
given
type Tuple = [“name”, “juan”] | [“email”, “a@a.com”] | [“age”, 30];
I try to get 'juan' from the key 'name' as follows:
type zzz<K extends string> = Tuple extends infer U extends [string, any]
? K extends U[0]
? U[1]
false //U[0] extends K ? U[1] : never
: never;
type T1 = zzz<“name”>; // 30 | “juan” | “a@a.com”
type T2 = zzz<“email”>; // 30 | “juan” | “a@a.com”
type T3 = zzz<“age”>; // 30 | “juan” | “a@a.com”
type T4 = zzz<“unknown”>; // never;
however, I can't get just the exact value I'm looking for.