UNPKG

@modular-forms/react

Version:

The modular and type-safe form library for React

34 lines (33 loc) 1.22 kB
/** * Returns the current input of the element. * * @param element The field element. * @param field The store of the field. * @param type The data type to capture. * * @returns The element input. */ export function getElementInput(element, field, type) { const { checked, files, options, value, valueAsDate, valueAsNumber } = element; return (!type || type === 'string' ? value : type === 'string[]' ? options ? [...options] .filter((e) => e.selected && !e.disabled) .map((e) => e.value) : checked ? [...(field.value.peek() || []), value] : (field.value.peek() || []).filter((v) => v !== value) : type === 'number' ? valueAsNumber : type === 'boolean' ? checked : type === 'File' && files ? files[0] : type === 'File[]' && files ? [...files] : type === 'Date' && valueAsDate ? valueAsDate : field.value.peek()); }