import type { ProtocolStepRecord, TimeCourseCondition, TimePoint, } from './types' import { idFromName } from './builderIdUtils' export function normalizeTimePoint(timepoint: TimePoint): TimePoint { return { ...timepoint, metadata: timepoint.metadata ?? {}, } } export function normalizeCondition(condition: TimeCourseCondition): TimeCourseCondition { return { ...condition, metadata: condition.metadata ?? {}, } } export function normalizeProtocolStep( step: Partial & { name: string }, index: number ): ProtocolStepRecord { return { id: step.id ?? idFromName(step.name, `step-${index + 1}`), type: step.type ?? 'custom', name: step.name, description: step.description, duration: step.duration, status: step.status ?? 'pending', parameters: step.parameters ?? {}, order: step.order ?? index, metadata: step.metadata ?? {}, } }