export function minByOrNull(value: Iterable, transform: (it: T) => number): T | null { let minIt!: T; let minVal: number | undefined; for (const it of value) { const val = transform(it); if (minVal === undefined || val < minVal) { minIt = it; minVal = val; } } if (minVal === undefined) return null; return minIt; }