22 lines
488 B
TypeScript
22 lines
488 B
TypeScript
/**
|
|
* View Model for League Schedule
|
|
*
|
|
* Represents the league's race schedule in a UI-ready format.
|
|
*/
|
|
export class LeagueScheduleViewModel {
|
|
races: Array<unknown>;
|
|
|
|
constructor(dto: { races: Array<unknown> }) {
|
|
this.races = dto.races;
|
|
}
|
|
|
|
/** UI-specific: Number of races in the schedule */
|
|
get raceCount(): number {
|
|
return this.races.length;
|
|
}
|
|
|
|
/** UI-specific: Whether the schedule has races */
|
|
get hasRaces(): boolean {
|
|
return this.raceCount > 0;
|
|
}
|
|
} |