react-hook-form 7.25.3 → 8.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +6 -0
  2. package/dist/__typetests__/__fixtures__/index.d.ts +2 -0
  3. package/dist/__typetests__/__fixtures__/index.d.ts.map +1 -0
  4. package/dist/__typetests__/__fixtures__/type.d.ts +12 -0
  5. package/dist/__typetests__/__fixtures__/type.d.ts.map +1 -0
  6. package/dist/__typetests__/types/__fixtures__/index.d.ts +4 -0
  7. package/dist/__typetests__/types/__fixtures__/index.d.ts.map +1 -0
  8. package/dist/__typetests__/types/__fixtures__/pathString.d.ts +4 -0
  9. package/dist/__typetests__/types/__fixtures__/pathString.d.ts.map +1 -0
  10. package/dist/__typetests__/types/__fixtures__/traversable.d.ts +14 -0
  11. package/dist/__typetests__/types/__fixtures__/traversable.d.ts.map +1 -0
  12. package/dist/__typetests__/types/__fixtures__/tuple.d.ts +15 -0
  13. package/dist/__typetests__/types/__fixtures__/tuple.d.ts.map +1 -0
  14. package/dist/__typetests__/types/form.test-d.d.ts +2 -0
  15. package/dist/__typetests__/types/form.test-d.d.ts.map +1 -0
  16. package/dist/__typetests__/types/path/auto.test-d.d.ts +2 -0
  17. package/dist/__typetests__/types/path/auto.test-d.d.ts.map +1 -0
  18. package/dist/__typetests__/types/path/internal/autoCompletePath.test-d.d.ts +2 -0
  19. package/dist/__typetests__/types/path/internal/autoCompletePath.test-d.d.ts.map +1 -0
  20. package/dist/__typetests__/types/path/internal/hasPath.test-d.d.ts +2 -0
  21. package/dist/__typetests__/types/path/internal/hasPath.test-d.d.ts.map +1 -0
  22. package/dist/__typetests__/types/path/internal/keys.test-d.d.ts +2 -0
  23. package/dist/__typetests__/types/path/internal/keys.test-d.d.ts.map +1 -0
  24. package/dist/__typetests__/types/path/internal/pathGetValue.test-d.d.ts +2 -0
  25. package/dist/__typetests__/types/path/internal/pathGetValue.test-d.d.ts.map +1 -0
  26. package/dist/__typetests__/types/path/internal/pathSetValue.test-d.d.ts +2 -0
  27. package/dist/__typetests__/types/path/internal/pathSetValue.test-d.d.ts.map +1 -0
  28. package/dist/__typetests__/types/path/internal/pathTuple.test-d.d.ts +2 -0
  29. package/dist/__typetests__/types/path/internal/pathTuple.test-d.d.ts.map +1 -0
  30. package/dist/__typetests__/types/path/internal/utils.test-d.d.ts +2 -0
  31. package/dist/__typetests__/types/path/internal/utils.test-d.d.ts.map +1 -0
  32. package/dist/__typetests__/types/path/lazy.test-d.d.ts +2 -0
  33. package/dist/__typetests__/types/path/lazy.test-d.d.ts.map +1 -0
  34. package/dist/__typetests__/types/path/value.test-d.d.ts +2 -0
  35. package/dist/__typetests__/types/path/value.test-d.d.ts.map +1 -0
  36. package/dist/__typetests__/types/util.test-d.d.ts +2 -0
  37. package/dist/__typetests__/types/util.test-d.d.ts.map +1 -0
  38. package/dist/__typetests__/utils/join.test-d.d.ts +2 -0
  39. package/dist/__typetests__/utils/join.test-d.d.ts.map +1 -0
  40. package/dist/__typetests__/utils/of.test-d.d.ts +2 -0
  41. package/dist/__typetests__/utils/of.test-d.d.ts.map +1 -0
  42. package/dist/controller.d.ts +1 -1
  43. package/dist/controller.d.ts.map +1 -1
  44. package/dist/index.cjs.js +1 -1
  45. package/dist/index.cjs.js.map +1 -1
  46. package/dist/index.esm.mjs +40 -11
  47. package/dist/index.esm.mjs.map +1 -1
  48. package/dist/index.umd.js +1 -1
  49. package/dist/index.umd.js.map +1 -1
  50. package/dist/logic/createFormControl.d.ts.map +1 -1
  51. package/dist/logic/getResolverOptions.d.ts +2 -2
  52. package/dist/logic/hasValidation.d.ts +1 -1
  53. package/dist/logic/validateField.d.ts.map +1 -1
  54. package/dist/types/controller.d.ts +6 -6
  55. package/dist/types/controller.d.ts.map +1 -1
  56. package/dist/types/fieldArray.d.ts +7 -9
  57. package/dist/types/fieldArray.d.ts.map +1 -1
  58. package/dist/types/form.d.ts +22 -23
  59. package/dist/types/form.d.ts.map +1 -1
  60. package/dist/types/path/auto.d.ts +76 -0
  61. package/dist/types/path/auto.d.ts.map +1 -0
  62. package/dist/types/path/branded.d.ts +61 -0
  63. package/dist/types/path/branded.d.ts.map +1 -0
  64. package/dist/types/path/index.d.ts +7 -3
  65. package/dist/types/path/index.d.ts.map +1 -1
  66. package/dist/types/path/internal/autoCompletePath.d.ts +173 -0
  67. package/dist/types/path/internal/autoCompletePath.d.ts.map +1 -0
  68. package/dist/types/path/internal/hasPath.d.ts +56 -0
  69. package/dist/types/path/internal/hasPath.d.ts.map +1 -0
  70. package/dist/types/path/internal/keys.d.ts +103 -0
  71. package/dist/types/path/internal/keys.d.ts.map +1 -0
  72. package/dist/types/path/internal/pathGetValue.d.ts +76 -0
  73. package/dist/types/path/internal/pathGetValue.d.ts.map +1 -0
  74. package/dist/types/path/internal/pathSetValue.d.ts +96 -0
  75. package/dist/types/path/internal/pathSetValue.d.ts.map +1 -0
  76. package/dist/types/path/internal/pathTuple.d.ts +73 -0
  77. package/dist/types/path/internal/pathTuple.d.ts.map +1 -0
  78. package/dist/types/path/internal/utils.d.ts +84 -0
  79. package/dist/types/path/internal/utils.d.ts.map +1 -0
  80. package/dist/types/path/lazy.d.ts +62 -0
  81. package/dist/types/path/lazy.d.ts.map +1 -0
  82. package/dist/types/path/pathString.d.ts +6 -0
  83. package/dist/types/path/pathString.d.ts.map +1 -0
  84. package/dist/types/path/value.d.ts +49 -0
  85. package/dist/types/path/value.d.ts.map +1 -0
  86. package/dist/types/utils.d.ts +11 -2
  87. package/dist/types/utils.d.ts.map +1 -1
  88. package/dist/types/validator.d.ts +2 -2
  89. package/dist/types/validator.d.ts.map +1 -1
  90. package/dist/useController.d.ts +2 -2
  91. package/dist/useController.d.ts.map +1 -1
  92. package/dist/useFieldArray.d.ts +1 -1
  93. package/dist/useFieldArray.d.ts.map +1 -1
  94. package/dist/useFormState.d.ts +2 -2
  95. package/dist/useFormState.d.ts.map +1 -1
  96. package/dist/useWatch.d.ts +6 -7
  97. package/dist/useWatch.d.ts.map +1 -1
  98. package/dist/utils/index.d.ts +3 -1
  99. package/dist/utils/index.d.ts.map +1 -1
  100. package/dist/utils/join.d.ts +16 -0
  101. package/dist/utils/join.d.ts.map +1 -0
  102. package/dist/utils/of.d.ts +13 -0
  103. package/dist/utils/of.d.ts.map +1 -0
  104. package/package.json +9 -9
  105. package/dist/types/path/common.d.ts +0 -316
  106. package/dist/types/path/common.d.ts.map +0 -1
  107. package/dist/types/path/eager.d.ts +0 -82
  108. package/dist/types/path/eager.d.ts.map +0 -1
  109. package/dist/utils/omitKeys.d.ts +0 -3
  110. package/dist/utils/omitKeys.d.ts.map +0 -1
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Type which can be traversed through with a path string.
3
+ * I.e. objects, arrays, and tuples
4
+ * @internal
5
+ */
6
+ export declare type Traversable = object;
7
+ /**
8
+ * Type which can be used to index an array or tuple type.
9
+ * @internal
10
+ */
11
+ export declare type ArrayKey = number;
12
+ /**
13
+ * Type which can be used to index an object.
14
+ * @internal
15
+ */
16
+ export declare type Key = string;
17
+ /**
18
+ * Type to assert that a type is a key.
19
+ * @typeParam T - type which may be a key
20
+ * @internal
21
+ */
22
+ export declare type AsKey<T> = Extract<T, Key>;
23
+ /**
24
+ * Type to convert a type to a key.
25
+ * @typeParam T - type which may be converted to a key
26
+ * @internal
27
+ */
28
+ export declare type ToKey<T> = T extends ArrayKey ? `${T}` : AsKey<T>;
29
+ /**
30
+ * Type which converts all keys of an object to keys.
31
+ * @typeParam T - object type
32
+ * @example
33
+ * ```
34
+ * MapKeys<{0: string}> = {'0': string}
35
+ * ```
36
+ * @internal
37
+ */
38
+ export declare type MapKeys<T> = {
39
+ [K in keyof T as ToKey<K>]: T[K];
40
+ };
41
+ /**
42
+ * Type to query whether an array type T is a tuple type.
43
+ * @typeParam T - type which may be an array or tuple
44
+ * @example
45
+ * ```
46
+ * IsTuple<[number]> = true
47
+ * IsTuple<number[]> = false
48
+ * ```
49
+ * @internal
50
+ */
51
+ export declare type IsTuple<T extends ReadonlyArray<any>> = number extends T['length'] ? false : true;
52
+ /**
53
+ * Type to intersect a union type.
54
+ * See https://fettblog.eu/typescript-union-to-intersection/
55
+ * @typeParam U - union
56
+ * @example
57
+ * ```
58
+ * UnionToIntersection<{ foo: string } | { bar: number }>
59
+ * = { foo: string; bar: number }
60
+ * ```
61
+ * @internal
62
+ */
63
+ export declare type UnionToIntersection<U> = (U extends any ? (_: U) => any : never) extends (_: infer I) => any ? I : never;
64
+ /**
65
+ * Type which represents a property access.
66
+ * @typeParam Get - the type when getting the property (covariant)
67
+ * @typeParam Set - the type required for setting the property (contravariant)
68
+ * @remarks
69
+ * See {@link https://dmitripavlutin.com/typescript-covariance-contravariance/}
70
+ * for an explanation of covariance and contravariance.
71
+ *
72
+ * Using it as a constraint:
73
+ * - `'abcd'` is a subtype of `string`
74
+ * - `string` is a supertype of `'abcd'`
75
+ *
76
+ * Therefore,
77
+ * - `AccessPattern<'abcd', 'abcd'>` extends `AccessPattern<string, 'abcd'>`
78
+ * - `AccessPattern<'abcd', string>` extends `AccessPattern<'abcd', 'abcd'>`
79
+ * - `AccessPattern<string, 'abcd'>` doesn't extend `AccessPattern<'abcd', 'abcd'>`
80
+ * - `AccessPattern<'abcd', 'abcd'>` doesn't extend `AccessPattern<'abcd', string>`
81
+ * @internal
82
+ */
83
+ export declare type AccessPattern<Get = unknown, Set = never> = (_: Set) => Get;
84
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/types/path/internal/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,WAAW,GAAG,MAAM,CAAC;AAEjC;;;GAGG;AACH,oBAAY,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;GAGG;AACH,oBAAY,GAAG,GAAG,MAAM,CAAC;AAEzB;;;;GAIG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvC;;;;GAIG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE9D;;;;;;;;;GASG;AACH,oBAAY,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC1E,KAAK,GACL,IAAI,CAAC;AAET;;;;;;;;;;GAUG;AACH,oBAAY,mBAAmB,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,KAAK,CACtC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GACzB,CAAC,GACD,KAAK,CAAC;AAEV;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,aAAa,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { FieldValues } from '../fields';
2
+ import { AutoCompletePath } from './internal/autoCompletePath';
3
+ import { AccessPattern } from './internal/utils';
4
+ import * as Branded from './branded';
5
+ import { PathString } from './pathString';
6
+ /**
7
+ * Type which offers autocompletion of paths through a form.
8
+ * @typeParam TFieldValues - the field values for which this path is valid
9
+ * @typeParam TPathString - the string representation of the path
10
+ * @typeParam TValue - the value which may be read from the path
11
+ * @typeParam TValueSet - the value which can be written to the path
12
+ * @example
13
+ * ```
14
+ * declare function getNumber<T extends FieldValues, P extends PathString>(
15
+ * obj: T,
16
+ * path: TypedFieldPath<T, P, number>,
17
+ * ): number
18
+ * ```
19
+ */
20
+ export declare type TypedFieldPath<TFieldValues, TPathString extends PathString, TValue, TValueSet = TValue> = TPathString extends Branded.FieldPath<any> ? never : AutoCompletePath<TFieldValues, TPathString, AccessPattern<TValue, TValueSet>>;
21
+ /**
22
+ * Type which offers autocompletion of paths through a form.
23
+ * @typeParam TFieldValues - the field values for which this path is valid
24
+ * @typeParam TPathString - the string representation of the path
25
+ * @example
26
+ * ```
27
+ * declare function get<T extends FieldValues, P extends PathString>(
28
+ * obj: T,
29
+ * path: FieldPath<T, P>,
30
+ * ): FieldPathValue<T, P>
31
+ * ```
32
+ */
33
+ export declare type FieldPath<TFieldValues, TPathString extends PathString> = TypedFieldPath<TFieldValues, TPathString, unknown, never>;
34
+ /**
35
+ * Type which offers autocompletion of paths through a form which point to an array.
36
+ * @typeParam TFieldValues - the field values for which this path is valid
37
+ * @typeParam TPathString - the string representation of the path
38
+ * @typeParam TArrayValues - the value which may be read from array at the path
39
+ * @typeParam TArrayValuesSet - the value which can be written to the array at the path
40
+ * @example
41
+ * ```
42
+ * declare function popNumber<T extends FieldValues, P extends PathString>(
43
+ * obj: T,
44
+ * path: TypedFieldArrayPath<T, P, number>,
45
+ * ): number
46
+ * ```
47
+ */
48
+ export declare type TypedFieldArrayPath<TFieldValues, TPathString extends PathString, TArrayValues extends FieldValues, TArrayValuesSet extends FieldValues = TArrayValues> = TypedFieldPath<TFieldValues, TPathString, ReadonlyArray<TArrayValues> | null | undefined, TArrayValuesSet[]>;
49
+ /**
50
+ * Type which offers autocompletion of paths through a form which point to an array.
51
+ * @typeParam TFieldValues - the field values for which this path is valid
52
+ * @typeParam TPathString - the string representation of the path
53
+ * @example
54
+ * ```
55
+ * declare function pop<T extends FieldValues, P extends PathString>(
56
+ * obj: T,
57
+ * path: FieldArrayPath<T, P>,
58
+ * ): FieldPathValue<T, P>[never]
59
+ * ```
60
+ */
61
+ export declare type FieldArrayPath<TFieldValues, TPathString extends PathString> = TypedFieldArrayPath<TFieldValues, TPathString, FieldValues, never>;
62
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../src/types/path/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,oBAAY,cAAc,CACxB,YAAY,EACZ,WAAW,SAAS,UAAU,EAC9B,MAAM,EACN,SAAS,GAAG,MAAM,IAChB,WAAW,SAAS,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAC1C,KAAK,GACL,gBAAgB,CACd,YAAY,EACZ,WAAW,EACX,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CACjC,CAAC;AAEN;;;;;;;;;;;GAWG;AACH,oBAAY,SAAS,CACnB,YAAY,EACZ,WAAW,SAAS,UAAU,IAC5B,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,oBAAY,mBAAmB,CAC7B,YAAY,EACZ,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,WAAW,EAChC,eAAe,SAAS,WAAW,GAAG,YAAY,IAChD,cAAc,CAChB,YAAY,EACZ,WAAW,EACX,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9C,eAAe,EAAE,CAClB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,oBAAY,cAAc,CACxB,YAAY,EACZ,WAAW,SAAS,UAAU,IAC5B,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type alias to `string` which describes a lodash-like path through an object.
3
+ * E.g. `'foo.bar.0.baz'`
4
+ */
5
+ export declare type PathString = string;
6
+ //# sourceMappingURL=pathString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathString.d.ts","sourceRoot":"","sources":["../../../src/types/path/pathString.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU,GAAG,MAAM,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { IsNever } from '../utils';
2
+ import { PathGetValue } from './internal/pathGetValue';
3
+ import { PathSetValue } from './internal/pathSetValue';
4
+ import { SplitPathString } from './internal/pathTuple';
5
+ import * as Branded from './branded';
6
+ import { PathString } from './pathString';
7
+ /**
8
+ * Type for getting the value of a path.
9
+ * @typeParam TFieldValues - the field values for which this path is valid
10
+ * @typeParam TPathString - the string representation of the path
11
+ * @example
12
+ * ```
13
+ * declare function get<T extends FieldValues, P extends PathString>(
14
+ * obj: T,
15
+ * path: Auto.FieldPath<T, P>,
16
+ * ): FieldPathValue<T, P>
17
+ * ```
18
+ */
19
+ export declare type FieldPathValue<TFieldValues, TPathString extends PathString> = IsNever<TPathString> extends true ? unknown : TPathString extends Branded.FieldPath<any> ? TPathString extends Branded.TypedFieldPath<TFieldValues, infer Value, never> ? Value : unknown : PathGetValue<TFieldValues, SplitPathString<TPathString>>;
20
+ /**
21
+ * Type for getting the value which required for setting a path.
22
+ * @typeParam TFieldValues - the field values for which this path is valid
23
+ * @typeParam TPathString - the string representation of the path
24
+ * @example
25
+ * ```
26
+ * declare function set<T extends FieldValues, P extends PathString>(
27
+ * obj: T,
28
+ * path: Auto.FieldPath<T, P>,
29
+ * value: FieldPathSetValue<T, P>
30
+ * ): void
31
+ * ```
32
+ */
33
+ export declare type FieldPathSetValue<TFieldValues, TPathString extends PathString> = TPathString extends Branded.FieldPath<any> ? TPathString extends Branded.TypedFieldPath<TFieldValues, unknown, infer Value> ? Value : never : PathSetValue<TFieldValues, SplitPathString<TPathString>>;
34
+ /**
35
+ * Type for getting the values of a tuple of paths.
36
+ * @typeParam TFieldValues - the field values for which the paths are valid
37
+ * @typeParam TPathStrings - the string representations of the paths
38
+ * @example
39
+ * ```
40
+ * declare function get<
41
+ * T extends FieldValues,
42
+ * P extends ReadonlyArray<PathString>,
43
+ * >(obj: T, paths: Auto.FieldPaths<T, P>): FieldPathValues<T, P>
44
+ * ```
45
+ */
46
+ export declare type FieldPathValues<TFieldValues, TPathStrings extends ReadonlyArray<PathString>> = IsNever<TPathStrings> extends true ? unknown[] : {
47
+ [Idx in keyof TPathStrings]: FieldPathValue<TFieldValues, Extract<TPathStrings[Idx], PathString>>;
48
+ };
49
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/types/path/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,oBAAY,cAAc,CACxB,YAAY,EACZ,WAAW,SAAS,UAAU,IAC5B,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,GACjC,OAAO,GACP,WAAW,SAAS,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAC1C,WAAW,SAAS,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,GAC1E,KAAK,GACL,OAAO,GACT,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,oBAAY,iBAAiB,CAC3B,YAAY,EACZ,WAAW,SAAS,UAAU,IAC5B,WAAW,SAAS,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAC1C,WAAW,SAAS,OAAO,CAAC,cAAc,CACxC,YAAY,EACZ,OAAO,EACP,MAAM,KAAK,CACZ,GACC,KAAK,GACL,KAAK,GACP,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,oBAAY,eAAe,CACzB,YAAY,EACZ,YAAY,SAAS,aAAa,CAAC,UAAU,CAAC,IAC5C,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,GAClC,OAAO,EAAE,GACT;KACG,GAAG,IAAI,MAAM,YAAY,GAAG,cAAc,CACzC,YAAY,EACZ,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CACvC;CACF,CAAC"}
@@ -39,11 +39,20 @@ export declare type IsAny<T> = 0 extends 1 & T ? true : false;
39
39
  * Checks whether the type is never
40
40
  * @typeParam T - type which may be never
41
41
  * ```
42
- * IsAny<never> = true
43
- * IsAny<string> = false
42
+ * IsNever<never> = true
43
+ * IsNever<string> = false
44
44
  * ```
45
45
  */
46
46
  export declare type IsNever<T> = [T] extends [never] ? true : false;
47
+ /**
48
+ * Checks whether the type is unknown
49
+ * @typeParam T - type which may be unknown
50
+ * ```
51
+ * IsUnknown<unknown> = true
52
+ * IsUnknown<string> = false
53
+ * ```
54
+ */
55
+ export declare type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
47
56
  export declare type DeepMap<T, TValue> = IsAny<T> extends true ? any : T extends Date | FileList | File | NestedValue ? TValue : T extends object ? {
48
57
  [K in keyof T]: DeepMap<NonUndefined<T[K]>, TValue>;
49
58
  } : TValue;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAWrC,oBAAY,IAAI,GAAG,MAAM,IAAI,CAAC;AAE9B,UAAU,IAAK,SAAQ,IAAI;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,oBAAY,SAAS,GACjB,IAAI,GACJ,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,oBAAY,WAAW,GAAG;KAAG,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,KAAK;CAAE,CAAC;AAE5D,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAE9D,oBAAY,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,SAAS,IACrD,CAAC,GACD,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAExB,oBAAY,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GACvE,CAAC,GACD;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE3C,oBAAY,uBAAuB,CAAC,CAAC,IAAI,CAAC,SACtC,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,WAAW,GACX,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,GAC5B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACjD;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEvD;;;;;;;;GAQG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEtD;;;;;;;GAOG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE5D,oBAAY,OAAO,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAClD,GAAG,GACH,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GAC9C,MAAM,GACN,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CAAE,GACvD,MAAM,CAAC;AAEX,oBAAY,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAClD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,EAClD,GAAG,EAAE,GAAG,MAAM,CACf,SAAS,KAAK,GACX,IAAI,GACJ,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAWrC,oBAAY,IAAI,GAAG,MAAM,IAAI,CAAC;AAE9B,UAAU,IAAK,SAAQ,IAAI;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,oBAAY,SAAS,GACjB,IAAI,GACJ,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,oBAAY,WAAW,GAAG;KAAG,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,KAAK;CAAE,CAAC;AAE5D,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAE9D,oBAAY,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,SAAS,IACrD,CAAC,GACD,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAExB,oBAAY,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GACvE,CAAC,GACD;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE3C,oBAAY,uBAAuB,CAAC,CAAC,IAAI,CAAC,SACtC,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,WAAW,GACX,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,GAC5B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACjD;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEvD;;;;;;;;GAQG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEtD;;;;;;;GAOG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE5D;;;;;;;GAOG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAC5C,KAAK,GACL,OAAO,SAAS,CAAC,GACjB,IAAI,GACJ,KAAK,CAAC;AAEV,oBAAY,OAAO,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAClD,GAAG,GACH,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GAC9C,MAAM,GACN,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CAAE,GACvD,MAAM,CAAC;AAEX,oBAAY,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAClD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,EAClD,GAAG,EAAE,GAAG,MAAM,CACf,SAAS,KAAK,GACX,IAAI,GACJ,KAAK,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Message } from './errors';
2
2
  import { FieldValues, InternalFieldName } from './fields';
3
- import { FieldPath, FieldPathValue } from './path';
3
+ import { FieldPathValue, PathString } from './path';
4
4
  export declare type ValidationValue = boolean | number | string | RegExp;
5
5
  export declare type ValidationRule<TValidationValue extends ValidationValue = ValidationValue> = TValidationValue | ValidationValueMessage<TValidationValue>;
6
6
  export declare type ValidationValueMessage<TValidationValue extends ValidationValue = ValidationValue> = {
@@ -9,7 +9,7 @@ export declare type ValidationValueMessage<TValidationValue extends ValidationVa
9
9
  };
10
10
  export declare type ValidateResult = Message | Message[] | boolean | undefined;
11
11
  export declare type Validate<TFieldValue> = (value: TFieldValue) => ValidateResult | Promise<ValidateResult>;
12
- export declare type RegisterOptions<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Partial<{
12
+ export declare type RegisterOptions<TFieldValues extends FieldValues = FieldValues, TFieldName extends PathString = never> = Partial<{
13
13
  required: Message | ValidationRule<boolean>;
14
14
  min: ValidationRule<number | string>;
15
15
  max: ValidationRule<number | string>;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/types/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEnD,oBAAY,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,oBAAY,cAAc,CACxB,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD,gBAAgB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEhE,oBAAY,sBAAsB,CAChC,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,oBAAY,QAAQ,CAAC,WAAW,IAAI,CAClC,KAAK,EAAE,WAAW,KACf,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,oBAAY,eAAe,CACzB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,IAClE,OAAO,CAAC;IACV,QAAQ,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EACJ,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACvE,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAChD,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/types/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpD,oBAAY,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,oBAAY,cAAc,CACxB,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD,gBAAgB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEhE,oBAAY,sBAAsB,CAChC,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,oBAAY,QAAQ,CAAC,WAAW,IAAI,CAClC,KAAK,EAAE,WAAW,KACf,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,oBAAY,eAAe,CACzB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,UAAU,GAAG,KAAK,IACnC,OAAO,CAAC;IACV,QAAQ,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EACJ,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACvE,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAChD,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { FieldPath, FieldValues, UseControllerProps, UseControllerReturn } from './types';
2
- export declare function useController<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: UseControllerProps<TFieldValues, TName>): UseControllerReturn<TFieldValues, TName>;
1
+ import { FieldValues, PathString, UseControllerProps, UseControllerReturn } from './types';
2
+ export declare function useController<TFieldValues extends FieldValues, TName extends PathString>(props: UseControllerProps<TFieldValues, TName>): UseControllerReturn<TFieldValues, TName>;
3
3
  //# sourceMappingURL=useController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useController.d.ts","sourceRoot":"","sources":["../src/useController.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,SAAS,EAET,WAAW,EAGX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAKjB,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAE/D,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC7C,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CA+F1C"}
1
+ {"version":3,"file":"useController.d.ts","sourceRoot":"","sources":["../src/useController.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,WAAW,EAEX,UAAU,EAEV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAKjB,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,EAExB,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC7C,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CA+F1C"}
@@ -1,3 +1,3 @@
1
1
  import { FieldValues, UseFieldArrayProps, UseFieldArrayReturn } from './types';
2
- export declare const useFieldArray: <TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends import("./types").ArrayPath<TFieldValues> = import("./types").ArrayPath<TFieldValues>, TKeyName extends string = "id">(props: UseFieldArrayProps<TFieldValues, TFieldArrayName, TKeyName>) => UseFieldArrayReturn<TFieldValues, TFieldArrayName, TKeyName>;
2
+ export declare const useFieldArray: <TFieldValues extends FieldValues, TFieldArrayName extends string>(props: UseFieldArrayProps<TFieldValues, TFieldArrayName>) => UseFieldArrayReturn<TFieldValues, TFieldArrayName>;
3
3
  //# sourceMappingURL=useFieldArray.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFieldArray.d.ts","sourceRoot":"","sources":["../src/useFieldArray.ts"],"names":[],"mappings":"AAkBA,OAAO,EAOL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,aAAa,qUAoRzB,CAAC"}
1
+ {"version":3,"file":"useFieldArray.d.ts","sourceRoot":"","sources":["../src/useFieldArray.ts"],"names":[],"mappings":"AAkBA,OAAO,EAML,WAAW,EAEX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,aAAa,oLA0QzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FieldValues, UseFormStateProps, UseFormStateReturn } from './types';
2
- declare function useFormState<TFieldValues extends FieldValues = FieldValues>(props?: UseFormStateProps<TFieldValues>): UseFormStateReturn<TFieldValues>;
1
+ import { FieldValues, PathString, UseFormStateProps, UseFormStateReturn } from './types';
2
+ declare function useFormState<TFieldValues extends FieldValues, TFieldName extends PathString>(props?: UseFormStateProps<TFieldValues, TFieldName>): UseFormStateReturn<TFieldValues>;
3
3
  export { useFormState };
4
4
  //# sourceMappingURL=useFormState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormState.d.ts","sourceRoot":"","sources":["../src/useFormState.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAEX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAIjB,iBAAS,YAAY,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,GACtC,kBAAkB,CAAC,YAAY,CAAC,CAoDlC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"useFormState.d.ts","sourceRoot":"","sources":["../src/useFormState.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAEX,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAIjB,iBAAS,YAAY,CACnB,YAAY,SAAS,WAAW,EAChC,UAAU,SAAS,UAAU,EAE7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,GAClD,kBAAkB,CAAC,YAAY,CAAC,CAoDlC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,23 +1,22 @@
1
- import { Control, DeepPartialSkipArrayKey, FieldPath, FieldPathValue, FieldPathValues, FieldValues, UnpackNestedValue } from './types';
2
- export declare function useWatch<TFieldValues extends FieldValues = FieldValues>(props: {
1
+ import { Auto, Control, DeepPartialSkipArrayKey, FieldPathValue, FieldPathValues, FieldValues, PathString, UnpackNestedValue } from './types';
2
+ export declare function useWatch<TFieldValues extends FieldValues>(props: {
3
3
  defaultValue?: UnpackNestedValue<DeepPartialSkipArrayKey<TFieldValues>>;
4
4
  control?: Control<TFieldValues>;
5
5
  disabled?: boolean;
6
6
  exact?: boolean;
7
7
  }): UnpackNestedValue<DeepPartialSkipArrayKey<TFieldValues>>;
8
- export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: {
9
- name: TFieldName;
8
+ export declare function useWatch<TFieldValues extends FieldValues, TFieldName extends PathString>(props: {
9
+ name: Auto.FieldPath<TFieldValues, TFieldName>;
10
10
  defaultValue?: FieldPathValue<TFieldValues, TFieldName>;
11
11
  control?: Control<TFieldValues>;
12
12
  disabled?: boolean;
13
13
  exact?: boolean;
14
14
  }): FieldPathValue<TFieldValues, TFieldName>;
15
- export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldNames extends readonly FieldPath<TFieldValues>[] = readonly FieldPath<TFieldValues>[]>(props: {
16
- name: readonly [...TFieldNames];
15
+ export declare function useWatch<TFieldValues extends FieldValues, TFieldNames extends readonly PathString[]>(props: {
16
+ name: readonly [...Auto.FieldPaths<TFieldValues, TFieldNames>];
17
17
  defaultValue?: UnpackNestedValue<DeepPartialSkipArrayKey<TFieldValues>>;
18
18
  control?: Control<TFieldValues>;
19
19
  disabled?: boolean;
20
20
  exact?: boolean;
21
21
  }): FieldPathValues<TFieldValues, TFieldNames>;
22
- export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldNames extends FieldPath<TFieldValues>[] = FieldPath<TFieldValues>[]>(): FieldPathValues<TFieldValues, TFieldNames>;
23
22
  //# sourceMappingURL=useWatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWatch.d.ts","sourceRoot":"","sources":["../src/useWatch.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EACP,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,EAEX,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAIjB,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,EAAE;IACP,YAAY,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EACpE,KAAK,EAAE;IACP,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,WAAW,SAAS,SAAS,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,YAAY,CAAC,EAAE,EAC3F,KAAK,EAAE;IACP,IAAI,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC/C,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,WAAW,SAAS,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,KACtE,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"useWatch.d.ts","sourceRoot":"","sources":["../src/useWatch.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,WAAW,EAEX,UAAU,EACV,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAIjB,wBAAgB,QAAQ,CAAC,YAAY,SAAS,WAAW,EAAE,KAAK,EAAE;IAChE,YAAY,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,EAChC,UAAU,SAAS,UAAU,EAC7B,KAAK,EAAE;IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,wBAAgB,QAAQ,CACtB,YAAY,SAAS,WAAW,EAChC,WAAW,SAAS,SAAS,UAAU,EAAE,EACzC,KAAK,EAAE;IACP,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import get from './get';
2
+ import join from './join';
3
+ import of from './of';
2
4
  import set from './set';
3
- export { get, set };
5
+ export { get, join, of, set };
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Auto, Branded, FieldPathSetValue, FieldPathValue, IsNever, IsUnknown, PathString } from '../types';
2
+ /**
3
+ * Function for joining two paths / path strings to a {@link TypedFieldPath}.
4
+ * @param path - base path
5
+ * @param childPath - the path which should be appended to the base path
6
+ * @example
7
+ * ```
8
+ * type Baz = { baz: string }
9
+ * type FooBarBaz = { foo: { bar: Baz }}
10
+ *
11
+ * const path: TypedFieldPath<FooBarBaz, Baz> = of('foo.bar')
12
+ * const joinedPath: TypedFieldPath<FooBar, string> = join(path, 'baz')
13
+ * ```
14
+ */
15
+ export default function join<TFieldValues, TPathString extends PathString, TChildFieldValues, TChildPathString extends PathString, TValue = unknown, TValueSet = never>(path: Auto.TypedFieldPath<TFieldValues, TPathString, TChildFieldValues, NonNullable<TChildFieldValues>>, childPath: Auto.TypedFieldPath<TChildFieldValues, TChildPathString, TValue, TValueSet>): Branded.TypedFieldPath<TFieldValues, IsUnknown<TValue> extends true ? FieldPathValue<TChildFieldValues, TChildPathString> : TValue, IsNever<TValueSet> extends true ? FieldPathSetValue<TChildFieldValues, TChildPathString> : TValueSet>;
16
+ //# sourceMappingURL=join.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/utils/join.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,YAAY,EACZ,WAAW,SAAS,UAAU,EAC9B,iBAAiB,EACjB,gBAAgB,SAAS,UAAU,EACnC,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,KAAK,EAEjB,IAAI,EAAE,IAAI,CAAC,cAAc,CACvB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,WAAW,CAAC,iBAAiB,CAAC,CAC/B,EACD,SAAS,EAAE,IAAI,CAAC,cAAc,CAC5B,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,SAAS,CACV,GACA,OAAO,CAAC,cAAc,CACvB,YAAY,EACZ,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,GAC1B,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GACnD,MAAM,EACV,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,GAC3B,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GACtD,SAAS,CACd,CAEA"}
@@ -0,0 +1,13 @@
1
+ import { Auto, Branded, FieldPathSetValue, FieldPathValue, IsNever, IsUnknown, PathString } from '../types';
2
+ /**
3
+ * Function for creating a {@link TypedFieldPath} from a path string.
4
+ * @param path - path string
5
+ * @example
6
+ * ```
7
+ * type FooBar = { foo: { bar: string }}
8
+ *
9
+ * const path: TypedFieldPath<FooBar, string> = of('foo.bar')
10
+ * ```
11
+ */
12
+ export default function of<TFieldValues, TPathString extends PathString, TValue = unknown, TValueSet = never>(path: Auto.TypedFieldPath<TFieldValues, TPathString, TValue, TValueSet>): Branded.TypedFieldPath<TFieldValues, IsUnknown<TValue> extends true ? FieldPathValue<TFieldValues, TPathString> : TValue, IsNever<TValueSet> extends true ? FieldPathSetValue<TFieldValues, TPathString> : TValueSet>;
13
+ //# sourceMappingURL=of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"of.d.ts","sourceRoot":"","sources":["../../src/utils/of.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAC;AAElB;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,EAAE,CACxB,YAAY,EACZ,WAAW,SAAS,UAAU,EAC9B,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,KAAK,EAEjB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,GACtE,OAAO,CAAC,cAAc,CACvB,YAAY,EACZ,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,GAC1B,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,GACzC,MAAM,EACV,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,GAC3B,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,GAC5C,SAAS,CACd,CAEA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-hook-form",
3
3
  "description": "Performant, flexible and extensible forms library for React Hooks",
4
- "version": "7.25.3",
4
+ "version": "8.0.0-alpha.0",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.mjs",
7
7
  "umd:main": "dist/index.umd.js",
@@ -40,7 +40,7 @@
40
40
  "test:web": "TEST_ENV=web yarn test",
41
41
  "test:server": "TEST_ENV=server yarn test",
42
42
  "test:native": "TEST_ENV=native yarn test",
43
- "tsd": "tsd src/__tests__/types",
43
+ "tsd": "tsd src/__typetests__",
44
44
  "cypress": "cypress run",
45
45
  "cypress:open": "cypress open",
46
46
  "api-extractor": "api-extractor run --local",
@@ -49,7 +49,7 @@
49
49
  "postversion": "git push && git push origin v$npm_package_version",
50
50
  "prepublishOnly": "yarn && yarn lint:fix && yarn type && yarn test && yarn build",
51
51
  "bundlesize": "yarn build:modern && bundlesize",
52
- "start:app": "yarn build:esm && yarn link && yarn --cwd node_modules/react link && yarn --cwd ./app link react react-hook-form && yarn --cwd ./app && yarn --cwd ./app run dev"
52
+ "start:app": "yarn build:esm && yarn link && yarn --cwd ./app link react-hook-form && yarn --cwd ./app && yarn --cwd ./app run dev"
53
53
  },
54
54
  "keywords": [
55
55
  "react",
@@ -73,8 +73,8 @@
73
73
  "@rollup/plugin-commonjs": "^21.0.1",
74
74
  "@rollup/plugin-node-resolve": "^13.1.3",
75
75
  "@testing-library/jest-dom": "^5.16.1",
76
- "@testing-library/react": "^12.1.2",
77
- "@testing-library/react-hooks": "^7.0.2",
76
+ "@testing-library/react": "13.0.0-alpha.5",
77
+ "@testing-library/react-hooks": "8.0.0-alpha.1",
78
78
  "@testing-library/react-native": "^9.0.0",
79
79
  "@types/jest": "^27.4.0",
80
80
  "@types/react": "^17.0.38",
@@ -96,10 +96,10 @@
96
96
  "jest": "^27.4.7",
97
97
  "lint-staged": "^12.2.2",
98
98
  "prettier": "^2.5.1",
99
- "react": "^17.0.1",
100
- "react-dom": "^17.0.1",
99
+ "react": "18.0.0-rc.0-next-f2a59df48-20211208",
100
+ "react-dom": "18.0.0-rc.0-next-f2a59df48-20211208",
101
101
  "react-native": "^0.67.1",
102
- "react-test-renderer": "^17.0.1",
102
+ "react-test-renderer": "18.0.0-rc.0-next-f2a59df48-20211208",
103
103
  "rimraf": "^3.0.2",
104
104
  "rollup": "^2.66.0",
105
105
  "rollup-plugin-peer-deps-external": "^2.2.4",
@@ -117,7 +117,7 @@
117
117
  }
118
118
  ],
119
119
  "peerDependencies": {
120
- "react": "^16.8.0 || ^17"
120
+ "react": "^16.8.0 || ^17 || ^18"
121
121
  },
122
122
  "lint-staged": {
123
123
  "*.{js,ts,tsx}": [