({
as,
errors,
name,
message,
render,
...rest
}: Props<TFieldErrors, TAs>)
| 3 | import { Props } from './types'; |
| 4 | |
| 5 | const ErrorMessage = < |
| 6 | TFieldErrors extends FieldErrors, |
| 7 | TAs extends |
| 8 | | undefined |
| 9 | | React.ReactElement |
| 10 | | React.ComponentType<any> |
| 11 | | keyof JSX.IntrinsicElements = undefined |
| 12 | >({ |
| 13 | as, |
| 14 | errors, |
| 15 | name, |
| 16 | message, |
| 17 | render, |
| 18 | ...rest |
| 19 | }: Props<TFieldErrors, TAs>) => { |
| 20 | const methods = useFormContext(); |
| 21 | const error = get(errors || methods.formState.errors, name); |
| 22 | |
| 23 | if (!error) { |
| 24 | return null; |
| 25 | } |
| 26 | |
| 27 | const { message: messageFromRegister, types } = error; |
| 28 | const props = Object.assign({}, rest, { |
| 29 | children: messageFromRegister || message, |
| 30 | }); |
| 31 | |
| 32 | return React.isValidElement(as) |
| 33 | ? React.cloneElement(as, props) |
| 34 | : render |
| 35 | ? (render({ |
| 36 | message: messageFromRegister || message, |
| 37 | messages: types, |
| 38 | }) as React.ReactElement) |
| 39 | : React.createElement((as as string) || React.Fragment, props); |
| 40 | }; |
| 41 | |
| 42 | export { ErrorMessage }; |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…