UNPKG

@andydowell/use-form-state

Version:

A React hook for managing form state and validation

26 lines (25 loc) 1.47 kB
import { ValidationParams, FormFieldParams, FormState, FormFieldState } from "../types"; declare const appendToFormData: (formData: FormData, key: string, value: unknown) => void; /** * Runs validations using the provided state and field params. * Makes a cloned, frozen snapshot so validators cannot mutate the live state. */ declare const applyValidation: <Data>(currentState: FormState<Data>, formFieldParams: FormFieldParams<Data>, options?: { updateAllFieldsError?: boolean | undefined; } | undefined) => { nextState: FormState<Data>; allValid: boolean; }; declare const checkIfRequiredValueFilled: <T>(value: T) => boolean; declare const createInitialStateSnapshot: <Data>(formFieldParams: FormFieldParams<Data>) => FormState<Data>; declare const getOrderedValidationEntries: <Value, Data>(validationParams: ValidationParams<Value, Data>) => (readonly [string, { validator: (value: Value, formState: FormState<Data>) => boolean; message?: string | undefined; order?: number | undefined; }])[]; declare type FieldValidationResult = { isValid: boolean; error?: FormFieldState["error"]; }; declare const getFieldValidationOutcome: <Data>(key: keyof Data, formFieldParams: FormFieldParams<Data>, state: FormState<Data>) => FieldValidationResult; export { appendToFormData, applyValidation, checkIfRequiredValueFilled, createInitialStateSnapshot, getOrderedValidationEntries, getFieldValidationOutcome, };