react-use-simple-form
Version:
A React hook which manages and validates form state.
22 lines (21 loc) • 858 B
TypeScript
type BaseFormState = Record<string | number | symbol, any>;
type SimpleFormFieldValidator = (value: any) => boolean;
export type SimpleFormValidator<Form extends BaseFormState> = (value: any, fullForm: Form) => boolean;
export type SimpleFormValidators<Form extends BaseFormState> = Partial<{
[K in keyof Form]: RegExp | SimpleFormValidator<Form> | undefined;
}>;
export type SimpleFormManager<Form extends BaseFormState> = {
[K in keyof Form]: {
value: Form[K];
set: (newValue: Form[K]) => void;
isValid: boolean;
validate: SimpleFormFieldValidator;
};
};
export declare const useSimpleForm: <Form extends BaseFormState>(defaultState: Form, validators?: SimpleFormValidators<Form>) => {
state: Form;
manager: SimpleFormManager<Form>;
isValid: boolean;
set: (newState: Form) => void;
};
export {};