8640 - Number Range
sunupupup opened this issue · comments
use Exclude
type NumberToUnion<
N extends number,
Arr extends any[] = [],
Ret = 0
> = Arr["length"] extends N
? Ret
: NumberToUnion<N, [...Arr, any], Ret | [...Arr, any]["length"]>;
type NumberRange<Start extends number, End extends number> =
| Exclude<NumberToUnion<End>, NumberToUnion<Start>>
| Start;