UNPKG

@modular-forms/qwik

Version:

The modular and type-safe form library for Qwik

21 lines (20 loc) 1.01 kB
import { getFieldArrayStore, getFieldStore, getFilteredNames, getOptions, } from '../utils'; export function getErrors(form, arg2, arg3) { // Get filtered field names to get error from const [fieldNames, fieldArrayNames] = getFilteredNames(form, arg2); // Destructure options and set default values const { shouldActive = true, shouldTouched = false, shouldDirty = false, } = getOptions(arg2, arg3); // Create and return object with form errors return [ ...fieldNames.map((name) => [name, getFieldStore(form, name)]), ...fieldArrayNames.map((name) => [name, getFieldArrayStore(form, name)]), ].reduce((formErrors, [name, fieldOrFieldArray]) => { if (fieldOrFieldArray.error && (!shouldActive || fieldOrFieldArray.active) && (!shouldTouched || fieldOrFieldArray.touched) && (!shouldDirty || fieldOrFieldArray.dirty)) { formErrors[name] = fieldOrFieldArray.error; } return formErrors; }, {}); }