20 lines
751 B
TypeScript
20 lines
751 B
TypeScript
import { LeagueTimezone } from './LeagueTimezone';
|
|
|
|
export class ScheduledRaceSlot {
|
|
readonly roundNumber: number;
|
|
readonly scheduledAt: Date;
|
|
readonly timezone: LeagueTimezone;
|
|
|
|
constructor(params: { roundNumber: number; scheduledAt: Date; timezone: LeagueTimezone }) {
|
|
if (!Number.isInteger(params.roundNumber) || params.roundNumber <= 0) {
|
|
throw new Error('ScheduledRaceSlot.roundNumber must be a positive integer');
|
|
}
|
|
if (!(params.scheduledAt instanceof Date) || Number.isNaN(params.scheduledAt.getTime())) {
|
|
throw new Error('ScheduledRaceSlot.scheduledAt must be a valid Date');
|
|
}
|
|
|
|
this.roundNumber = params.roundNumber;
|
|
this.scheduledAt = params.scheduledAt;
|
|
this.timezone = params.timezone;
|
|
}
|
|
} |