21 lines
887 B
TypeScript
21 lines
887 B
TypeScript
import { ViewModel } from "../contracts/view-models/ViewModel";
|
|
import type { LeagueDetailViewData } from "../view-data/LeagueDetailViewData";
|
|
import { LeagueDetailDriverViewModel } from "./LeagueDetailDriverViewModel";
|
|
import { LeagueDetailRaceViewModel } from "./LeagueDetailRaceViewModel";
|
|
import { LeagueViewModel } from "./LeagueViewModel";
|
|
|
|
export class LeagueDetailViewModel extends ViewModel {
|
|
private readonly data: LeagueDetailViewData;
|
|
readonly league: LeagueViewModel;
|
|
readonly drivers: LeagueDetailDriverViewModel[];
|
|
readonly races: LeagueDetailRaceViewModel[];
|
|
|
|
constructor(data: LeagueDetailViewData) {
|
|
super();
|
|
this.data = data;
|
|
this.league = new LeagueViewModel(data.league);
|
|
this.drivers = data.drivers.map(driver => new LeagueDetailDriverViewModel(driver));
|
|
this.races = data.races.map(race => new LeagueDetailRaceViewModel(race));
|
|
}
|
|
}
|