@@ -4,33 +4,30 @@ import type { SchemaValue } from '@sjsf/form';
44
55import type { ValidatedFormData , InitialFormData } from '../model.js' ;
66
7- export type SvelteKitFormMeta <
7+ export interface SvelteKitFormMeta <
88 ActionData ,
99 PageData ,
1010 Name extends FormNameFromActionDataUnion < ActionData > ,
1111 FallbackValue ,
12- VFD = ValidatedFormDataFromActionDataUnion < ActionData , Name > ,
13- IFD = InitialFromDataFromPageData < PageData , Name >
14- > = {
12+ IFD = InitialFromDataFromPageData < PageData , Name > ,
13+ VFD = ValidatedFormDataFromActionDataUnion < ActionData , Name >
14+ > {
1515 name : Name ;
1616 __actionData : ActionData ;
1717 __pageData : PageData ;
18- __fallbackValue : FallbackValue ;
19- __validationFormData : VFD ;
20- __initialFormData : IFD ;
2118 __formValue : FormValueFromInitialFormData < IFD , FallbackValue > ;
2219 __validationError : ValidatorErrorFromValidatedFormData < VFD > ;
2320 __sendSchema : SendSchemaFromInitialFormData < IFD > ;
2421 __sendData : SendDataFromValidatedFormData < VFD > ;
25- } ;
22+ }
2623
2724export function createMeta <
2825 ActionData ,
2926 PageData ,
30- N extends FormNameFromActionDataUnion < ActionData > ,
27+ Name extends FormNameFromActionDataUnion < ActionData > ,
3128 FallbackValue = SchemaValue
32- > ( name : N ) : SvelteKitFormMeta < ActionData , PageData , N , FallbackValue > {
33- return { name } as SvelteKitFormMeta < ActionData , PageData , N , FallbackValue > ;
29+ > ( name : Name ) {
30+ return { name } as SvelteKitFormMeta < ActionData , PageData , Name , FallbackValue > ;
3431}
3532
3633type FormNameFromActionDataBranch < ActionData > = keyof {
@@ -52,17 +49,17 @@ type ValidatedFormDataFromActionDataUnion<
5249type ValidatorErrorFromValidatedFormData < VFD > =
5350 VFD extends ValidatedFormData < infer E , any > ? E : never ;
5451
55- type InitialFromDataFromPageData < PageData , FormName extends AnyKey > =
56- PageData [ keyof PageData & FormName ] extends InitialFormData < any , any , any >
57- ? PageData [ keyof PageData & FormName ]
58- : InitialFormData < never , never , false > ;
52+ type InitialFromDataFromPageData < PageData , FormName extends AnyKey > = PageData extends {
53+ [ K in FormName ] : InitialFormData < any , any , any > ;
54+ }
55+ ? PageData [ FormName ]
56+ : unknown
5957
60- type FormValueFromInitialFormData < IFD , FallbackValue > =
61- IFD extends InitialFormData < infer T , any , any >
62- ? unknown extends T
63- ? FallbackValue
64- : T
65- : FallbackValue ;
58+ type FormValueFromInitialFormData < IFD , FallbackValue > = unknown extends IFD
59+ ? FallbackValue
60+ : IFD extends InitialFormData < infer T , any , any >
61+ ? T
62+ : never ;
6663
6764type SendDataFromValidatedFormData < VFD > =
6865 VFD extends ValidatedFormData < any , infer SendData > ? SendData : false ;
0 commit comments