25 lines
830 B
TypeScript
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);
|
|
}
|
|
} |