Takes a value T and a key K.
If value is an Array<A> (K is enforced as number in this case), it returns value[key] as A | undefined.
If value is a Record<any, any> (K is enforced as keyof T in this case), it returns value[key] as T[K] | undefined.
Else it returns undefined.
Takes a value
T
and a keyK
. If value is anArray<A>
(K
is enforced as number in this case), it returnsvalue[key]
asA | undefined
. If value is aRecord<any, any>
(K
is enforced askeyof T
in this case), it returnsvalue[key]
asT[K] | undefined
. Else it returns undefined.