“Диапазон номеров типа типа” Ответ

Диапазон TypeScript

const range = (start, end) => Array.from({length: (end - start)}, (v, k) => k + start);
Condemned Cardinal

Диапазон номеров типа типа

type PrependNextNum<A extends Array<unknown>> = A['length'] extends infer T ? ((t: T, ...a: A) => void) extends ((...x: infer X) => void) ? X : never : never;

type EnumerateInternal<A extends Array<unknown>, N extends number> = { 0: A, 1: EnumerateInternal<PrependNextNum<A>, N> }[N extends A['length'] ? 0 : 1];

export type Enumerate<N extends number> = EnumerateInternal<[], N> extends (infer E)[] ? E : never;

export type Range<FROM extends number, TO extends number> = Exclude<Enumerate<TO>, Enumerate<FROM>>;
Itchy Iguana

Ответы похожие на “Диапазон номеров типа типа”

Вопросы похожие на “Диапазон номеров типа типа”

Больше похожих ответов на “Диапазон номеров типа типа” по TypeScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования