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/
15 lines (11 loc) • 583 B
text/typescript
import { BrowserFormOptions, FieldsData } from "../types";
export function getFieldsData<Schema extends {}>(options: BrowserFormOptions<Schema>): FieldsData<Schema> {
return {
// Names of fields, enum-like
names: Object.keys(options.defaultValues).reduce((names, key) => ({ ...names, [key]: key }), {}) as any,
// Array of fields that are tagged required
required: options.validationSchema?.required?.fields ?? [],
// Array of fields that are being validated
validated: Object.keys(options.validationSchema?.validators ?? {}) as (keyof Schema)[],
};
}