diff --git a/src/array/first.ts b/src/array/first.ts index 11727450..8b9ff2aa 100644 --- a/src/array/first.ts +++ b/src/array/first.ts @@ -11,9 +11,11 @@ * // 0 * ``` */ -export function first(array: readonly T[]): T | undefined +export function first(array: readonly []): undefined +export function first(array: readonly T[]): T -export function first(array: readonly T[], defaultValue: U): T | U +export function first(array: readonly [], defaultValue: U): U +export function first(array: readonly T[], defaultValue: U): T export function first(array: readonly unknown[], defaultValue?: unknown) { return array?.length > 0 ? array[0] : defaultValue diff --git a/src/array/last.ts b/src/array/last.ts index defec34f..a997f320 100644 --- a/src/array/last.ts +++ b/src/array/last.ts @@ -11,9 +11,11 @@ * // 0 * ``` */ -export function last(array: readonly T[]): T | undefined +export function last(array: readonly []): undefined +export function last(array: readonly T[]): T -export function last(array: readonly T[], defaultValue: U): T | U +export function last(array: readonly [], defaultValue: U): U +export function last(array: readonly T[], defaultValue: U): T export function last(array: readonly unknown[], defaultValue?: unknown) { return array?.length > 0 ? array[array.length - 1] : defaultValue