/** Meta values as the editor holds them, read as the type a field wants. */ export const asString = (value: unknown): string => typeof value === 'string' ? value : value == null ? '' : String(value); export const asNumber = (value: unknown): number => { const number = Number(value); return Number.isFinite(number) ? number : 0; }; export const asList = (value: unknown): string[] => Array.isArray(value) ? value.map(String) : []; export const asRecord = (value: unknown): Record => value && typeof value === 'object' && !Array.isArray(value) ? Object.fromEntries( Object.entries(value as Record).map(([key, entry]) => [ key, asString(entry), ]) ) : {};