/** * Onboarding ViewData Builder * * Transforms API DTOs into ViewData for onboarding page. * Deterministic, side-effect free. */ import { Result } from '@/lib/contracts/Result'; import { PresentationError } from '@/lib/contracts/page-queries/PresentationError'; import { OnboardingPageViewData } from '@/lib/view-data/OnboardingPageViewData'; export class OnboardingViewDataBuilder { static build(apiDto: Result<{ isAlreadyOnboarded: boolean }, PresentationError>): Result { if (apiDto.isErr()) { return Result.err(apiDto.getError()); } const data = apiDto.unwrap(); return Result.ok({ isAlreadyOnboarded: data.isAlreadyOnboarded || false, }); } }