import type { FieldValidator } from 'final-form' import { Field as FinalField, FieldProps as FinalFieldProps, FieldRenderProps, } from 'react-final-form' // eslint-disable @typescript-eslint/interface-name-prefix export interface FieldProps extends FinalFieldProps, T> { required?: boolean } export const composeValidators = ( validators: Array>, ): FieldValidator | undefined => { if (validators.length === 0) { return undefined } if (validators.length === 1) { return validators[0] } return (...args) => validators.reduce( (error, validator) => error || validator(...args), undefined, ) } export const Field = FinalField