Say I have the type
type MyTypeArray = ['', 2, boolean]
How could I extract the type
2 | boolean when the array could be of an unknown length?
You can infer all elements but first. Use
spread tuple operator:
type ExtractTail<T extends any> = T extends [infer _, ...infer Tail] ? Tail : never // [2, boolean] type MyTypeArray = ExtractTail<['', 2, boolean]> // 2 | boolean type Union = MyTypeArray[number]