/** * Removes null and undefined values from an array, narrowing to NonNullable. */ export function filterNils(arr: readonly (T | null | undefined)[]): NonNullable[] { if (!Array.isArray(arr)) { throw new TypeError(`filterNils expects an array, got ${typeof arr}`); } return (arr as readonly (T | null | undefined)[]) .filter((item): item is NonNullable => item != null); }