type-challenges / type-challenges

Collection of TypeScript type challenges with online judge

Home Page:https://tsch.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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;