Skip to content

Commit e89a3ca

Browse files
author
Harry Whorlow
committed
fixed Ts inferance
1 parent d91f9f1 commit e89a3ca

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

packages/form-core/src/FieldApi.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ export type FieldListenerFn<
126126
*/
127127
export type FieldMetaFn<TFormData, TMetaExtension extends object> = (
128128
props: Derived<FormState<TFormData>>,
129-
) => FieldMeta<TMetaExtension>
129+
) => TMetaExtension
130130

131131
export interface FieldValidators<
132132
TParentData,
@@ -476,7 +476,8 @@ export class FieldApi<
476476
TName,
477477
TFieldValidator,
478478
TFormValidator,
479-
TData
479+
TData,
480+
TMetaExtension
480481
> = {} as any
481482
/**
482483
* The field state store.
@@ -499,7 +500,8 @@ export class FieldApi<
499500
TName,
500501
TFieldValidator,
501502
TFormValidator,
502-
TData
503+
TData,
504+
TMetaExtension
503505
>,
504506
) {
505507
this.form = opts.form as never

packages/form-core/tests/FieldApi.spec.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1761,7 +1761,7 @@ describe('field api', () => {
17611761
expect(nameField.getMeta().errors).toEqual(['THERE IS AN ERROR'])
17621762
})
17631763

1764-
it('should have user defined meta', () => {
1764+
it('should have user defined meta and react to value change', () => {
17651765
const form = new FormApi({
17661766
defaultValues: {
17671767
name: 'Stegosaurus',
@@ -1778,14 +1778,9 @@ describe('field api', () => {
17781778
})
17791779

17801780
nameField.mount()
1781-
1782-
// cant infer dinosaur from getMeta()
17831781
expect(nameField.getMeta().dinosaur).toEqual('dino')
17841782

17851783
nameField.handleChange('Cat')
1786-
1787-
expect(nameField.state.value).toEqual('Cat')
1788-
17891784
expect(nameField.getMeta().dinosaur).toEqual('notDino')
17901785
})
17911786
})

0 commit comments

Comments
 (0)