type a = [1,2,3]
type Invert<T extends any[] & {'0': any}> = ???
type b = Invert<a> // should yield [3,2,1]
Я застрял, чтобы выяснить определение типа Invert
кортежа, а также типов Init
и Last
, хотя они могут быть построены друг из друга
что я пробовал:
- поместите тип в определение параметра функции и выведите часть
Rest
, этот подход получил только частьTail
с параметрами отдыха