import type { NewFieldConfig, NewFieldType } from '@wix/bex-core'; import type { FieldSpec } from '../../types/SchemaConfig'; import { toPatternsFieldType } from './newFieldTypeMapping'; type NewFieldMapping = { fieldType: NewFieldType; displayName?: string; config?: NewFieldConfig; }; // Builds the field draft the editor opens pre-filled from, for a column's // pending new field. The reverse (editor output → mapping) lives in core's // `ImportState.applyFieldEdit`. export function buildFieldDraft( header: string, mapping: NewFieldMapping, ): FieldSpec { return { type: toPatternsFieldType(mapping.fieldType), displayName: mapping.displayName ?? header, ...(mapping.config?.isPii && { isPii: true }), ...(mapping.config?.helpText && { helpText: mapping.config.helpText }), ...(mapping.config?.validation && { validation: mapping.config.validation, }), } as FieldSpec; }