import { RacingDomainValidationError } from '../errors/RacingDomainError'; export class SubmittedAt { private constructor(private readonly value: Date) {} static create(value: Date): SubmittedAt { if (!(value instanceof Date) || isNaN(value.getTime())) { throw new RacingDomainValidationError('SubmittedAt must be a valid Date'); } return new SubmittedAt(new Date(value)); } toDate(): Date { return new Date(this.value); } equals(other: SubmittedAt): boolean { return this.value.getTime() === other.value.getTime(); } }