import { ViewModel } from "../contracts/view-models/ViewModel"; import type { ProfileOverviewViewData } from "../view-data/ProfileOverviewViewData"; import type { ProfileOverviewDriverSummaryViewModel, ProfileOverviewExtendedProfileViewModel, ProfileOverviewFinishDistributionViewModel, ProfileOverviewSocialSummaryViewModel, ProfileOverviewStatsViewModel, ProfileOverviewTeamMembershipViewModel } from "./ProfileOverviewSubViewModels"; export class ProfileOverviewViewModel extends ViewModel { private readonly data: ProfileOverviewViewData; constructor(data: ProfileOverviewViewData) { super(); this.data = data; } get currentDriver(): ProfileOverviewDriverSummaryViewModel | null { return this.data.currentDriver; } get stats(): ProfileOverviewStatsViewModel | null { return this.data.stats; } get finishDistribution(): ProfileOverviewFinishDistributionViewModel | null { return this.data.finishDistribution; } get teamMemberships(): ProfileOverviewTeamMembershipViewModel[] { return this.data.teamMemberships; } get socialSummary(): ProfileOverviewSocialSummaryViewModel { return this.data.socialSummary; } get extendedProfile(): ProfileOverviewExtendedProfileViewModel | null { return this.data.extendedProfile; } }