diff --git a/source/last-array-element.d.ts b/source/last-array-element.d.ts index 3110ee28d..e6f657bb1 100644 --- a/source/last-array-element.d.ts +++ b/source/last-array-element.d.ts @@ -18,11 +18,11 @@ typeof lastOf(array); @category Array @category Template literal */ -export type LastArrayElement = - ValueType extends readonly [infer ElementType] - ? ElementType - : ValueType extends readonly [infer _, ...infer Tail] - ? LastArrayElement - : ValueType extends ReadonlyArray - ? ElementType +export type LastArrayElement + = number extends Elements['length'] + ? Elements extends ReadonlyArray + ? Element + : never + : Elements extends readonly [...any, infer Target] + ? Target : never;