/** Returns the last index of an item based on a given criteria. */ export function findLastIndex(array: T[], predicate: (item: T) => boolean) { for (let i = array.length - 1; i >= 0; i--) { if (predicate(array[i])) { return i; } } return -1; } /** Returns a list of items that intersect between two given arrays. */ export function intersecting(a: T[], b: T[]): T[] { const [c, d] = a.length > b.length ? [a, b] : [b, a]; return c.filter((value) => d.includes(value)); }