@matthew.ngo/reform
Version:
A flexible and powerful React form management library with advanced validation, state observation, and multi-group support
30 lines (29 loc) • 1 kB
TypeScript
import { FormGroup } from "../../form/form-groups";
import { YupTransformersReturn } from "./types";
/**
* Hook for managing Yup transformers in Reform forms
*
* @template T - The type of form data
* @param groups - The form groups
* @returns Object with Yup transformer utilities
*
* @example
* // Basic usage
* const reform = useReform(config);
* const transformers = useYupTransformers(reform.getGroups());
*
* // Register a transformer for date fields
* useEffect(() => {
* const unregister = transformers.registerTransformer({
* field: 'birthDate',
* transformer: (value) => value instanceof Date ? value : new Date(value),
* transformOn: 'input'
* });
*
* return unregister;
* }, []);
*
* // Create a schema with transformers
* const schema = transformers.createSchemaWithTransformers(baseSchema);
*/
export declare const useYupTransformers: <T extends Record<string, any>>(groups: FormGroup<T>[]) => YupTransformersReturn<T>;