import { FieldNameType, FieldStateType, NamespaceType, DirtyCheckFunction, TransformEventToValueFunction, TransformValueToInputFunction, } from './common' import { FIELD_KEY_ERROR, FIELD_KEY_VALID, FIELD_KEY_VALUE } from './constants/field-keys' import { FIELD_DEFAULT_ERROR } from './constants/field-defaults' export const checkedEventToValue: TransformEventToValueFunction = (event) => event?.target?.checked export const defaultEventToValue: TransformEventToValueFunction = (event) => event?.target?.value export const defaultDirtyCheck: DirtyCheckFunction = (newValue: any, valueOnFocus: any): boolean => newValue !== valueOnFocus export const defaultValueToInput: TransformValueToInputFunction = (value?: any): any => value !== undefined ? value : '' /** * @deprecated Will be removed in v3.0.0. This is an internal implementation detail. */ export const mapFieldValueAndError = (value: any, error?: any): Pick => ({ [FIELD_KEY_ERROR]: error || FIELD_DEFAULT_ERROR, [FIELD_KEY_VALID]: !error, [FIELD_KEY_VALUE]: value, }) export const validateFieldName = (fieldName: FieldNameType) => fieldName?.length > 0 export const validateNamespace = (namespace: NamespaceType) => namespace?.length > 0