import {globalFormError} from './formErrors' export const emptyToNull = ( value: string | null | undefined, ): string | null => { if (typeof value !== 'string') { return null } const result = value.trim() if (!result) { return null } return result } export const requiredString = (value: string | null | undefined): string => { const result = emptyToNull(value) if (!result) { // Should not happen, validators should have caught already throw globalFormError('Required field missing') } return result } export const toNumberOrNull = ( value: number | string | null | undefined, ): number | null => { if (value == null) { return null } const parsed = typeof value === 'number' ? value : Number.parseFloat(value) if (Number.isNaN(parsed)) { return null } return parsed } export const requiredNumber = ( value: number | string | null | undefined, ): number => { const result = toNumberOrNull(value) if (result == null) { // Should not happen, validators should have caught already throw globalFormError('Required number missing') } return result }