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