import type { PrismaScalarType } from './types'; export function extractFormData( formData: FormData, formFields: string[], fieldTypes: Record ): Record { const data: Record = {}; for (const field of formFields) { const type = fieldTypes[field] ?? 'String'; const raw = formData.get(field); switch (type) { case 'Int': { const val = raw?.toString() ?? ''; data[field] = val === '' ? null : parseInt(val, 10); break; } case 'Float': { const val = raw?.toString() ?? ''; data[field] = val === '' ? null : parseFloat(val); break; } case 'Boolean': { data[field] = raw === 'on' || raw === 'true'; break; } case 'DateTime': { const val = raw?.toString() ?? ''; data[field] = val === '' ? null : new Date(val); break; } case 'Tiptap': { data[field] = raw?.toString() ?? ''; break; } default: { data[field] = raw?.toString() ?? ''; break; } } } return data; }