export function findLastMatching( items: readonly T[] | null | undefined, predicate: (item: T, index: number) => boolean, ): T | undefined { if (!items) return undefined; for (let index = items.length - 1; index >= 0; index -= 1) { const item = items[index]; if (predicate(item, index)) return item; } return undefined; }