-
Notifications
You must be signed in to change notification settings - Fork 0
/
playground.ts
62 lines (54 loc) · 1.39 KB
/
playground.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import {
DeepRequired,
FieldErrorsImpl,
FieldValues,
GlobalError,
IsAny,
ResolverOptions,
useForm,
} from "react-hook-form";
const useSomeForm = () => {
const { ...methods } = useForm();
};
export type FieldErrors<T extends FieldValues = FieldValues> = Partial<
FieldValues extends IsAny<FieldValues>
? any
: FieldErrorsImpl<DeepRequired<T>>
> & {
root?: Record<string, GlobalError> & GlobalError;
};
export type ResolverSuccess<TFieldValues extends FieldValues = FieldValues> = {
values: TFieldValues;
errors: {};
};
export type ResolverError<TFieldValues extends FieldValues = FieldValues> = {
values: {};
errors: FieldErrors<TFieldValues>;
};
type r = FieldErrorsImpl<{
email: string;
password: string;
parent: { child: 1 };
}>;
export type ResolverResult<TFieldValues extends FieldValues = FieldValues> =
| ResolverSuccess<TFieldValues>
| ResolverError<TFieldValues>;
export type Resolver<
TFieldValues extends FieldValues = FieldValues,
TContext = any
> = (
values: TFieldValues,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>
) => Promise<ResolverResult<TFieldValues>> | ResolverResult<TFieldValues>;
const yupResolver: Resolver = (values, context, options) => {
return {
values: {},
errors: {},
};
};
const res = yupResolver(
{ email: "", password: "" },
{},
{ fields: {}, shouldUseNativeValidation: true }
);