Files
gridpilot.gg/apps/website/lib/builders/view-models/DriverProfileViewModelBuilder.ts
2026-01-24 00:52:27 +01:00

25 lines
830 B
TypeScript

import { DriverProfileViewModel } from '@/lib/view-models/DriverProfileViewModel';
import { ProfileViewData } from '@/lib/view-data/ProfileViewData';
import { ViewModelBuilder } from "../../contracts/builders/ViewModelBuilder";
/**
* DriverProfileViewModelBuilder
*
* Transforms ProfileViewData into DriverProfileViewModel.
* Deterministic, side-effect free, no HTTP calls.
*/
export class DriverProfileViewModelBuilder implements ViewModelBuilder<any, any> {
build(input: any): any {
return DriverProfileViewModelBuilder.build(input);
}
/**
* Build ViewModel from ViewData
*
* @param viewData - The template-ready ViewData
* @returns ViewModel ready for client-side state
*/
static build(viewData: ProfileViewData): DriverProfileViewModel {
return new DriverProfileViewModel(viewData);
}
}