UNPKG

@cuppachino/type-space

Version:

A collection of type utilities for TypeScript.

15 lines (14 loc) 375 B
import type { Length } from './length'; /** * Generates a fixed-length N tuple filled with type T. * * @example * ``` * Fill<5> // [never, never, never, never, never] * ``` * @example * ``` * Fill<3, 'a'> // ['a', 'a', 'a'] * ``` */ export type CreateTuple<L extends number, T = never, A extends T[] = []> = Length<A> extends L ? A : CreateTuple<L, T, [...A, T]>;