@tanstack/form-core 1.19.0 → 1.19.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"formOptions.cjs","sources":["../../src/formOptions.ts"],"sourcesContent":["import type { FormOptions } from './FormApi'\n\nexport function formOptions<\n T extends Partial<\n FormOptions<any, any, any, any, any, any, any, any, any, any, any, any>\n >,\n>(defaultOpts: T) {\n return defaultOpts\n}\n"],"names":[],"mappings":";;AAEO,SAAS,YAId,aAAgB;AACT,SAAA;AACT;;"}
1
+ {"version":3,"file":"formOptions.cjs","sources":["../../src/formOptions.ts"],"sourcesContent":["import type {\n FormAsyncValidateOrFn,\n FormOptions,\n FormValidateOrFn,\n} from './FormApi'\n\n/*\n\nThese types need to do two things:\n\n1. Validator generics need to depend on the TFormData generic\n2. The resulting needs to allow overriding values\n\nThe generics from formOptions almost work, except that it loses information\nabout how to infer TFormData.\nIf you pass a validator function, it tries to resolve the `formApi` or `value`\ninside of it, meaning that TFormData changes to `unknown`.\n\nTo bypass this, the intersection for defaultOpts gives TypeScript that information again,\nwithout losing the benefits from the TOptions generic.\n*/\n\nexport function formOptions<\n TOptions extends Partial<\n FormOptions<\n TFormData,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta\n >\n >,\n TFormData = TOptions['defaultValues'],\n TSubmitMeta = TOptions['onSubmitMeta'],\n>(\n defaultOpts: Partial<\n FormOptions<\n TFormData,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta\n >\n > &\n TOptions,\n): TOptions {\n return defaultOpts\n}\n"],"names":[],"mappings":";;AAsBO,SAAS,YAoBd,aAiBU;AACH,SAAA;AACT;;"}
@@ -1,2 +1,2 @@
1
- import { FormOptions } from './FormApi.cjs';
2
- export declare function formOptions<T extends Partial<FormOptions<any, any, any, any, any, any, any, any, any, any, any, any>>>(defaultOpts: T): T;
1
+ import { FormAsyncValidateOrFn, FormOptions, FormValidateOrFn } from './FormApi.cjs';
2
+ export declare function formOptions<TOptions extends Partial<FormOptions<TFormData, undefined | FormValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>>, TFormData = TOptions['defaultValues'], TSubmitMeta = TOptions['onSubmitMeta']>(defaultOpts: Partial<FormOptions<TFormData, undefined | FormValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>> & TOptions): TOptions;
@@ -1,2 +1,2 @@
1
- import { FormOptions } from './FormApi.js';
2
- export declare function formOptions<T extends Partial<FormOptions<any, any, any, any, any, any, any, any, any, any, any, any>>>(defaultOpts: T): T;
1
+ import { FormAsyncValidateOrFn, FormOptions, FormValidateOrFn } from './FormApi.js';
2
+ export declare function formOptions<TOptions extends Partial<FormOptions<TFormData, undefined | FormValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>>, TFormData = TOptions['defaultValues'], TSubmitMeta = TOptions['onSubmitMeta']>(defaultOpts: Partial<FormOptions<TFormData, undefined | FormValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>> & TOptions): TOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"formOptions.js","sources":["../../src/formOptions.ts"],"sourcesContent":["import type { FormOptions } from './FormApi'\n\nexport function formOptions<\n T extends Partial<\n FormOptions<any, any, any, any, any, any, any, any, any, any, any, any>\n >,\n>(defaultOpts: T) {\n return defaultOpts\n}\n"],"names":[],"mappings":"AAEO,SAAS,YAId,aAAgB;AACT,SAAA;AACT;"}
1
+ {"version":3,"file":"formOptions.js","sources":["../../src/formOptions.ts"],"sourcesContent":["import type {\n FormAsyncValidateOrFn,\n FormOptions,\n FormValidateOrFn,\n} from './FormApi'\n\n/*\n\nThese types need to do two things:\n\n1. Validator generics need to depend on the TFormData generic\n2. The resulting needs to allow overriding values\n\nThe generics from formOptions almost work, except that it loses information\nabout how to infer TFormData.\nIf you pass a validator function, it tries to resolve the `formApi` or `value`\ninside of it, meaning that TFormData changes to `unknown`.\n\nTo bypass this, the intersection for defaultOpts gives TypeScript that information again,\nwithout losing the benefits from the TOptions generic.\n*/\n\nexport function formOptions<\n TOptions extends Partial<\n FormOptions<\n TFormData,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta\n >\n >,\n TFormData = TOptions['defaultValues'],\n TSubmitMeta = TOptions['onSubmitMeta'],\n>(\n defaultOpts: Partial<\n FormOptions<\n TFormData,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta\n >\n > &\n TOptions,\n): TOptions {\n return defaultOpts\n}\n"],"names":[],"mappings":"AAsBO,SAAS,YAoBd,aAiBU;AACH,SAAA;AACT;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/form-core",
3
- "version": "1.19.0",
3
+ "version": "1.19.1",
4
4
  "description": "Powerful, type-safe, framework agnostic forms.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -1,9 +1,62 @@
1
- import type { FormOptions } from './FormApi'
1
+ import type {
2
+ FormAsyncValidateOrFn,
3
+ FormOptions,
4
+ FormValidateOrFn,
5
+ } from './FormApi'
6
+
7
+ /*
8
+
9
+ These types need to do two things:
10
+
11
+ 1. Validator generics need to depend on the TFormData generic
12
+ 2. The resulting needs to allow overriding values
13
+
14
+ The generics from formOptions almost work, except that it loses information
15
+ about how to infer TFormData.
16
+ If you pass a validator function, it tries to resolve the `formApi` or `value`
17
+ inside of it, meaning that TFormData changes to `unknown`.
18
+
19
+ To bypass this, the intersection for defaultOpts gives TypeScript that information again,
20
+ without losing the benefits from the TOptions generic.
21
+ */
2
22
 
3
23
  export function formOptions<
4
- T extends Partial<
5
- FormOptions<any, any, any, any, any, any, any, any, any, any, any, any>
24
+ TOptions extends Partial<
25
+ FormOptions<
26
+ TFormData,
27
+ undefined | FormValidateOrFn<TFormData>,
28
+ undefined | FormValidateOrFn<TFormData>,
29
+ undefined | FormAsyncValidateOrFn<TFormData>,
30
+ undefined | FormValidateOrFn<TFormData>,
31
+ undefined | FormAsyncValidateOrFn<TFormData>,
32
+ undefined | FormValidateOrFn<TFormData>,
33
+ undefined | FormAsyncValidateOrFn<TFormData>,
34
+ undefined | FormValidateOrFn<TFormData>,
35
+ undefined | FormAsyncValidateOrFn<TFormData>,
36
+ undefined | FormAsyncValidateOrFn<TFormData>,
37
+ TSubmitMeta
38
+ >
6
39
  >,
7
- >(defaultOpts: T) {
40
+ TFormData = TOptions['defaultValues'],
41
+ TSubmitMeta = TOptions['onSubmitMeta'],
42
+ >(
43
+ defaultOpts: Partial<
44
+ FormOptions<
45
+ TFormData,
46
+ undefined | FormValidateOrFn<TFormData>,
47
+ undefined | FormValidateOrFn<TFormData>,
48
+ undefined | FormAsyncValidateOrFn<TFormData>,
49
+ undefined | FormValidateOrFn<TFormData>,
50
+ undefined | FormAsyncValidateOrFn<TFormData>,
51
+ undefined | FormValidateOrFn<TFormData>,
52
+ undefined | FormAsyncValidateOrFn<TFormData>,
53
+ undefined | FormValidateOrFn<TFormData>,
54
+ undefined | FormAsyncValidateOrFn<TFormData>,
55
+ undefined | FormAsyncValidateOrFn<TFormData>,
56
+ TSubmitMeta
57
+ >
58
+ > &
59
+ TOptions,
60
+ ): TOptions {
8
61
  return defaultOpts
9
62
  }