```typescript
/**
 * The quickest completed lap of a session.
 * A lap recorded as zero means the lap was never completed and must not count.
 * It counts those zeros and so calls every session zero. Fix it.
 * A session with no completed lap at all reports zero.
 */
export function lapBest(laps: number[]): number {
  const nonZeroLaps = laps.filter(lap => lap !== 0);
  if (nonZeroLaps.length === 0) {
    return 0;
  }
  return Math.min(...nonZeroLaps);
}
```