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)); } }