type-challenges-solutions icon indicating copy to clipboard operation
type-challenges-solutions copied to clipboard

type-challenges-solutions/en/medium-shift

Open utterances-bot opened this issue 2 years ago • 1 comments

Shift

This project is aimed at helping you better understand how the type system works, writing your own utilities, or just having fun with the challenges.

https://ghaiklor.github.io/type-challenges-solutions/en/medium-shift.html

utterances-bot avatar Mar 12 '23 09:03 utterances-bot

There is a new case

// @ts-expect-error
Shift<unknown>

Constraining the generic as an array seems to do the trick!

type Shift<T extends any[]> = T extends [infer S, ...infer T] ? T : T extends [] ? [] : never

dca123 avatar Mar 12 '23 09:03 dca123