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