Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 766 Bytes

File metadata and controls

49 lines (35 loc) · 766 Bytes

typelab / utils / ArrayLast

type ArrayLast<T> = T extends ReadonlyArray ? _IfNotAnyOrNever<T, T extends readonly [...Any, infer Last] ? Last : T[number]> : never;

Extracts the type of the last element of an Array type.

Type Parameters

Type Parameter Description

T

The Array type to extract from.

Returns

The type of the last element from type T, or never if empty.

Example

// boolean
type LastElement = ArrayLast<[string, number, boolean]>;

// string | number | boolean
type AllElements = ArrayLast<(string | number | boolean)[]>;

// never
type Never = ArrayLast<any>;