UNPKG

1.51 kBTypeScriptView Raw
1import { FieldValues, InternalFieldName, Ref } from './fields';
2import { BrowserNativeObject, IsAny, LiteralUnion, Merge } from './utils';
3import { RegisterOptions, ValidateResult } from './validator';
4export type Message = string;
5export type MultipleFieldErrors = {
6 [K in keyof RegisterOptions]?: ValidateResult;
7} & {
8 [key: string]: ValidateResult;
9};
10export type FieldError = {
11 type: LiteralUnion<keyof RegisterOptions, string>;
12 root?: FieldError;
13 ref?: Ref;
14 types?: MultipleFieldErrors;
15 message?: Message;
16};
17export type ErrorOption = {
18 message?: Message;
19 type?: LiteralUnion<keyof RegisterOptions, string>;
20 types?: MultipleFieldErrors;
21};
22export type DeepRequired<T> = T extends BrowserNativeObject | Blob ? T : {
23 [K in keyof T]-?: NonNullable<DeepRequired<T[K]>>;
24};
25export type FieldErrorsImpl<T extends FieldValues = FieldValues> = {
26 [K in keyof T]?: T[K] extends BrowserNativeObject | Blob ? FieldError : K extends 'root' | `root.${string}` ? GlobalError : T[K] extends object ? Merge<FieldError, FieldErrorsImpl<T[K]>> : FieldError;
27};
28export type GlobalError = Partial<{
29 type: string | number;
30 message: Message;
31}>;
32export type FieldErrors<T extends FieldValues = FieldValues> = Partial<FieldValues extends IsAny<FieldValues> ? any : FieldErrorsImpl<DeepRequired<T>>> & {
33 root?: Record<string, GlobalError> & GlobalError;
34};
35export type InternalFieldErrors = Partial<Record<InternalFieldName, FieldError>>;
36//# sourceMappingURL=errors.d.ts.map
\No newline at end of file