import { RacingDomainValidationError } from '../../errors/RacingDomainError'; export class LapTime { private constructor(private readonly value: number) {} static create(value: number): LapTime { if (typeof value !== 'number' || value < 0 || isNaN(value)) { throw new RacingDomainValidationError('Lap time must be a non-negative number'); } return new LapTime(value); } toNumber(): number { return this.value; } equals(other: LapTime): boolean { return this.value === other.value; } }