UNPKG

react-browser-form

Version:

<div align="center"> <a href="https://deniskabana.github.io/react-browser-form/introduction" title="React Browser Form - Form management in React made simple for browsers."> <img src="https://raw.githubusercontent.com/deniskabana/react-browser-form/

26 lines (20 loc) 743 B
import { useState } from "react"; import { ErrorManager, ErrorsObject } from "../types"; export function useErrorManager<Schema>(): ErrorManager<Schema> { const [stateErrors, stateSetErrors] = useState<ErrorsObject<Schema>>({ count: 0, errors: {} }); const generateErrorsObject = (errors: Partial<Record<keyof Schema, string>>): ErrorsObject<Schema> => { return { count: Object.keys(errors).length, errors: errors, }; }; // RETURNED METHODS // -------------------------------------------------------------------------------- const setErrors: ErrorManager<Schema>["setErrors"] = errors => { stateSetErrors(generateErrorsObject(errors)); }; return { errorData: stateErrors, setErrors, }; }