20 lines
700 B
TypeScript
20 lines
700 B
TypeScript
import { DriverLeaderboardViewModel } from '@/lib/view-models/DriverLeaderboardViewModel';
|
|
import { LeaderboardsViewData } from '@/lib/view-data/LeaderboardsViewData';
|
|
|
|
/**
|
|
* DriversViewModelBuilder
|
|
*
|
|
* Transforms DriversLeaderboardDTO into DriverLeaderboardViewModel.
|
|
* Deterministic, side-effect free, no HTTP calls.
|
|
*/
|
|
import { ViewModelBuilder } from "../../contracts/builders/ViewModelBuilder";
|
|
|
|
export class DriversViewModelBuilder implements ViewModelBuilder<any, any> {
|
|
build(input: any): any {
|
|
return DriversViewModelBuilder.build(input);
|
|
}
|
|
|
|
static build(viewData: LeaderboardsViewData): DriverLeaderboardViewModel {
|
|
return new DriverLeaderboardViewModel(viewData);
|
|
}
|
|
} |