@jcoreio/zod-forms 2.0.0-beta.3 → 2.0.0-beta.4

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.
package/FormContext.d.ts CHANGED
@@ -27,7 +27,7 @@ export type FormContextProps<T extends z.ZodTypeAny> = {
27
27
  setParsedValue: typeof setParsedValue;
28
28
  submit: typeof submit;
29
29
  setSubmitStatus: typeof setSubmitStatus<T>;
30
- arrayActions: typeof arrayActions;
30
+ arrayActions: arrayActions;
31
31
  selectFormStatus: SelectFormStatus;
32
32
  selectFieldErrorMap: SelectFieldErrorMap;
33
33
  selectFormValues: SelectFormValues<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["src/FormContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,eAAO,MAAM,WAAW,sDAC0C,CAAA;AAElE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IACrD,MAAM,EAAE,CAAC,CAAA;IACT,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,EAAE,OAAO,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,eAAe,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;IAC1C,YAAY,EAAE,OAAO,YAAY,CAAA;IACjC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACrC,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9C,SAAS,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACpD,sBAAsB,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACrD,gBAAgB,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAS,EAAE,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;CACvE,CAAA"}
1
+ {"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["src/FormContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,eAAO,MAAM,WAAW,sDAC0C,CAAA;AAElE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IACrD,MAAM,EAAE,CAAC,CAAA;IACT,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,EAAE,OAAO,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,eAAe,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;IAC1C,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACrC,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9C,SAAS,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACpD,sBAAsB,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACrD,gBAAgB,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAS,EAAE,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;CACvE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormContext.js","names":["_react","_interopRequireDefault","require","FormContext","exports","React","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: typeof arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => z.output<T> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => z.output<T> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAoBO,IAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBACtBE,iBAAK,CAACC,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"FormContext.js","names":["_react","_interopRequireDefault","require","FormContext","exports","React","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => z.output<T> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => z.output<T> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAoBO,IAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBACtBE,iBAAK,CAACC,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FormContext.mjs","names":["React","FormContext","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: typeof arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => z.output<T> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => z.output<T> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,WAAW,gBACtBD,KAAK,CAACE,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"FormContext.mjs","names":["React","FormContext","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => z.output<T> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => z.output<T> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,WAAW,gBACtBD,KAAK,CAACE,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
@@ -94,6 +94,22 @@ export declare function arrayUnshift<Field extends ArrayFieldPath>(field: Field,
94
94
  readonly value: DeepPartial<NonNullable<z.input<Field["schema"]>>[number]>;
95
95
  };
96
96
  export type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> = ArrayInsertParsedAction<Field> | ArrayInsertAction<Field> | ArrayMoveAction | ArrayPopAction | ArrayPushParsedAction<Field> | ArrayPushAction<Field> | ArrayRemoveAction | ArrayRemoveAllAction | ArrayShiftAction | ArraySpliceParsedAction<Field> | ArraySpliceAction<Field> | ArraySwapAction | ArrayUnshiftParsedAction<Field> | ArrayUnshiftAction<Field>;
97
+ export type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {
98
+ insertParsed: typeof arrayInsertParsed<Field>;
99
+ insert: typeof arrayInsert<Field>;
100
+ move: typeof arrayMove;
101
+ pop: typeof arrayPop;
102
+ pushParsed: typeof arrayPushParsed<Field>;
103
+ push: typeof arrayPush<Field>;
104
+ remove: typeof arrayRemove;
105
+ removeAll: typeof arrayRemoveAll;
106
+ shift: typeof arrayShift;
107
+ spliceParsed: typeof arraySpliceParsed<Field>;
108
+ splice: typeof arraySplice<Field>;
109
+ swap: typeof arraySwap;
110
+ unshiftParsed: typeof arrayUnshiftParsed<Field>;
111
+ unshift: typeof arrayUnshift<Field>;
112
+ };
97
113
  export declare const arrayActions: {
98
114
  insertParsed: typeof arrayInsertParsed;
99
115
  insert: typeof arrayInsert;
@@ -1 +1 @@
1
- {"version":3,"file":"arrayActions.d.ts","sourceRoot":"","sources":["../../src/actions/arrayActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arrayActions.d.ts","sourceRoot":"","sources":["../../src/actions/arrayActions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrayActions.js","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","_len","arguments","length","parsedValues","Array","_key","arraySplice","_len2","values","_key2","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","exports","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"arrayActions.js","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","_len","arguments","length","parsedValues","Array","_key","arraySplice","_len2","values","_key2","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","exports","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"arrayActions.mjs","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","parsedValues","arraySplice","values","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"AAqBA,OAAO,SAASA,iBAAiBA,CAC/BC,KAAY,EACZC,KAAa,EACbC,WAAkC,EAClC;EACA,OAAO;IAAEC,IAAI,EAAE,mBAAmB;IAAEH,KAAK;IAAEC,KAAK;IAAEC;EAAY,CAAC;AACjE;AAKA,OAAO,SAASE,WAAWA,CACzBJ,KAAY,EACZC,KAAa,EACbI,KAAsB,EACtB;EACA,OAAO;IAAEF,IAAI,EAAE,aAAa;IAAEH,KAAK;IAAEC,KAAK;IAAEI;EAAM,CAAC;AACrD;AAIA,OAAO,SAASC,SAASA,CAACN,KAAqB,EAAEO,IAAY,EAAEC,EAAU,EAAE;EACzE,OAAO;IAAEL,IAAI,EAAE,WAAW;IAAEH,KAAK;IAAEO,IAAI;IAAEC;EAAG,CAAC;AAC/C;AAIA,OAAO,SAASC,QAAQA,CAACT,KAAqB,EAAE;EAC9C,OAAO;IAAEG,IAAI,EAAE,UAAU;IAAEH;EAAM,CAAC;AACpC;AAMA,OAAO,SAASU,eAAeA,CAC7BV,KAAY,EACZE,WAAkC,EAClC;EACA,OAAO;IAAEC,IAAI,EAAE,iBAAiB;IAAEH,KAAK;IAAEE;EAAY,CAAC;AACxD;AAKA,OAAO,SAASS,SAASA,CACvBX,KAAY,EACZK,KAAsB,EACtB;EACA,OAAO;IAAEF,IAAI,EAAE,WAAW;IAAEH,KAAK;IAAEK;EAAM,CAAC;AAC5C;AAIA,OAAO,SAASO,WAAWA,CAACZ,KAAqB,EAAEC,KAAa,EAAE;EAChE,OAAO;IAAEE,IAAI,EAAE,aAAa;IAAEH,KAAK;IAAEC;EAAM,CAAC;AAC9C;AAIA,OAAO,SAASY,cAAcA,CAACb,KAAqB,EAAE;EACpD,OAAO;IAAEG,IAAI,EAAE,gBAAgB;IAAEH;EAAM,CAAC;AAC1C;AAIA,OAAO,SAASc,UAAUA,CAACd,KAAqB,EAAE;EAChD,OAAO;IAAEG,IAAI,EAAE,YAAY;IAAEH;EAAM,CAAC;AACtC;AAMA,OAAO,SAASe,iBAAiBA,CAC/Bf,KAAY,EACZC,KAAa,EACbe,WAAmB,EACnB,GAAGC,YAAqC,EACxC;EACA,OAAO;IACLd,IAAI,EAAE,mBAAmB;IACzBH,KAAK;IACLC,KAAK;IACLe,WAAW;IACXC;EACF,CAAC;AACH;AAKA,OAAO,SAASC,WAAWA,CACzBlB,KAAY,EACZC,KAAa,EACbe,WAAmB,EACnB,GAAGG,MAAyB,EAC5B;EACA,OAAO;IACLhB,IAAI,EAAE,aAAa;IACnBH,KAAK;IACLC,KAAK;IACLe,WAAW;IACXG;EACF,CAAC;AACH;AAIA,OAAO,SAASC,SAASA,CACvBpB,KAAqB,EACrBqB,MAAc,EACdC,MAAc,EACd;EACA,OAAO;IAAEnB,IAAI,EAAE,WAAW;IAAEH,KAAK;IAAEqB,MAAM;IAAEC;EAAO,CAAC;AACrD;AAMA,OAAO,SAASC,kBAAkBA,CAChCvB,KAAY,EACZE,WAAkC,EAClC;EACA,OAAO;IAAEC,IAAI,EAAE,oBAAoB;IAAEH,KAAK;IAAEE;EAAY,CAAC;AAC3D;AAKA,OAAO,SAASsB,YAAYA,CAC1BxB,KAAY,EACZK,KAAsB,EACtB;EACA,OAAO;IAAEF,IAAI,EAAE,cAAc;IAAEH,KAAK;IAAEK;EAAM,CAAC;AAC/C;AAkBA,OAAO,MAAMoB,YAAY,GAAG;EAC1BC,YAAY,EAAE3B,iBAAiB;EAC/B4B,MAAM,EAAEvB,WAAW;EACnBwB,IAAI,EAAEtB,SAAS;EACfuB,GAAG,EAAEpB,QAAQ;EACbqB,UAAU,EAAEpB,eAAe;EAC3BqB,IAAI,EAAEpB,SAAS;EACfqB,MAAM,EAAEpB,WAAW;EACnBqB,SAAS,EAAEpB,cAAc;EACzBqB,KAAK,EAAEpB,UAAU;EACjBqB,YAAY,EAAEpB,iBAAiB;EAC/BqB,MAAM,EAAElB,WAAW;EACnBmB,IAAI,EAAEjB,SAAS;EACfkB,aAAa,EAAEf,kBAAkB;EACjCgB,OAAO,EAAEf;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"arrayActions.mjs","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","parsedValues","arraySplice","values","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "peerDependencies": {
31
31
  "react": "^18.0.0"
32
32
  },
33
- "version": "2.0.0-beta.3",
33
+ "version": "2.0.0-beta.4",
34
34
  "sideEffects": false,
35
35
  "engines": {
36
36
  "node": ">=16"
@@ -33,7 +33,7 @@ export type FormContextProps<T extends z.ZodTypeAny> = {
33
33
  setParsedValue: typeof setParsedValue
34
34
  submit: typeof submit
35
35
  setSubmitStatus: typeof setSubmitStatus<T>
36
- arrayActions: typeof arrayActions
36
+ arrayActions: arrayActions
37
37
  selectFormStatus: SelectFormStatus
38
38
  selectFieldErrorMap: SelectFieldErrorMap
39
39
  selectFormValues: SelectFormValues<T>
@@ -173,6 +173,23 @@ export type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =
173
173
  | ArrayUnshiftParsedAction<Field>
174
174
  | ArrayUnshiftAction<Field>
175
175
 
176
+ export type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {
177
+ insertParsed: typeof arrayInsertParsed<Field>
178
+ insert: typeof arrayInsert<Field>
179
+ move: typeof arrayMove
180
+ pop: typeof arrayPop
181
+ pushParsed: typeof arrayPushParsed<Field>
182
+ push: typeof arrayPush<Field>
183
+ remove: typeof arrayRemove
184
+ removeAll: typeof arrayRemoveAll
185
+ shift: typeof arrayShift
186
+ spliceParsed: typeof arraySpliceParsed<Field>
187
+ splice: typeof arraySplice<Field>
188
+ swap: typeof arraySwap
189
+ unshiftParsed: typeof arrayUnshiftParsed<Field>
190
+ unshift: typeof arrayUnshift<Field>
191
+ }
192
+
176
193
  export const arrayActions = {
177
194
  insertParsed: arrayInsertParsed,
178
195
  insert: arrayInsert,
@@ -6,7 +6,7 @@ import { PathInSchema, PathstringInSchema } from './util/PathInSchema'
6
6
  import { parsePathstring } from './util/parsePathstring'
7
7
  import { SchemaAt } from './util/SchemaAt'
8
8
  import { bindActionsToField } from './util/bindActionsToField'
9
- import { arrayActions } from './actions/arrayActions'
9
+ import { arrayActions, ArrayFieldPath } from './actions/arrayActions'
10
10
  import { createSelector, createStructuredSelector } from 'reselect'
11
11
  import { get } from './util/get'
12
12
  import isEqual from 'fast-deep-equal'
@@ -21,28 +21,27 @@ import { setMeta } from './actions/setMeta'
21
21
  import { FieldMeta } from './FormState'
22
22
  import { DeepPartial } from './util/DeepPartial'
23
23
 
24
- export type UseArrayFieldProps<Field extends FieldPath> = NonNullable<
25
- z.input<Field['schema']>
26
- > extends any[]
27
- ? FieldMeta &
28
- ReturnType<
29
- typeof bindActionsToField<
30
- Field,
31
- typeof arrayActions & {
32
- setParsedValue: typeof setParsedValue<Field>
33
- setValue: typeof setValue<Field>
34
- setMeta: typeof setMeta<Field>
35
- }
36
- >
37
- > & {
38
- elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]
39
- error?: string
40
- dirty: boolean
41
- pristine: boolean
42
- valid: boolean
43
- invalid: boolean
44
- }
45
- : { ERROR: 'not an array field' }
24
+ export type UseArrayFieldProps<Field extends ArrayFieldPath = ArrayFieldPath> =
25
+ NonNullable<z.input<Field['schema']>> extends any[]
26
+ ? FieldMeta &
27
+ ReturnType<
28
+ typeof bindActionsToField<
29
+ Field,
30
+ arrayActions<Field> & {
31
+ setParsedValue: typeof setParsedValue<Field>
32
+ setValue: typeof setValue<Field>
33
+ setMeta: typeof setMeta<Field>
34
+ }
35
+ >
36
+ > & {
37
+ elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]
38
+ error?: string
39
+ dirty: boolean
40
+ pristine: boolean
41
+ valid: boolean
42
+ invalid: boolean
43
+ }
44
+ : { ERROR: 'not an array field' }
46
45
 
47
46
  export interface TypedUseArrayField<T extends z.ZodTypeAny> {
48
47
  <Field extends FieldPathForValue<any[] | null | undefined>>(
@@ -56,7 +55,7 @@ export interface TypedUseArrayField<T extends z.ZodTypeAny> {
56
55
  ): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>
57
56
  }
58
57
 
59
- function useArrayFieldBase<Field extends FieldPath>(
58
+ function useArrayFieldBase<Field extends ArrayFieldPath>(
60
59
  field: Field
61
60
  ): UseArrayFieldProps<Field> {
62
61
  type T = Field['schema']
@@ -121,7 +120,13 @@ function useArrayFieldBase<Field extends FieldPath>(
121
120
  [field.pathstring]
122
121
  )
123
122
  const elements = React.useMemo(
124
- () => [...new Array(length).keys()].map((index) => field.subfield(index)),
123
+ () =>
124
+ [...new Array(length).keys()].map((index) =>
125
+ field.subfield(
126
+ // @ts-expect-error doesn't work on this type parameter
127
+ index
128
+ )
129
+ ),
125
130
  [length]
126
131
  )
127
132
 
@@ -4,12 +4,12 @@ import { PathInSchema, PathstringInSchema } from './util/PathInSchema';
4
4
  import { parsePathstring } from './util/parsePathstring';
5
5
  import { SchemaAt } from './util/SchemaAt';
6
6
  import { bindActionsToField } from './util/bindActionsToField';
7
- import { arrayActions } from './actions/arrayActions';
7
+ import { arrayActions, ArrayFieldPath } from './actions/arrayActions';
8
8
  import { setParsedValue } from './actions/setParsedValue';
9
9
  import { setValue } from './actions/setValue';
10
10
  import { setMeta } from './actions/setMeta';
11
11
  import { FieldMeta } from './FormState';
12
- export type UseArrayFieldProps<Field extends FieldPath> = NonNullable<z.input<Field['schema']>> extends any[] ? FieldMeta & ReturnType<typeof bindActionsToField<Field, typeof arrayActions & {
12
+ export type UseArrayFieldProps<Field extends ArrayFieldPath = ArrayFieldPath> = NonNullable<z.input<Field['schema']>> extends any[] ? FieldMeta & ReturnType<typeof bindActionsToField<Field, arrayActions<Field> & {
13
13
  setParsedValue: typeof setParsedValue<Field>;
14
14
  setValue: typeof setValue<Field>;
15
15
  setMeta: typeof setMeta<Field>;
@@ -1 +1 @@
1
- {"version":3,"file":"useArrayField.d.ts","sourceRoot":"","sources":["src/useArrayField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useArrayField.d.ts","sourceRoot":"","sources":["src/useArrayField.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAY,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGpE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AASrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,IAC1E,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,GAC/C,SAAS,GACP,UAAU,CACR,OAAO,kBAAkB,CACvB,KAAK,EACL,YAAY,CAAC,KAAK,CAAC,GAAG;IACpB,cAAc,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5C,QAAQ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;CAC/B,CACF,CACF,GAAG;IACF,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB,GACH;IAAE,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAErC,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU;IACxD,CAAC,KAAK,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,EACxD,KAAK,EAAE,KAAK,GACX,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC,IAAI,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAC5D,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAC7B,CAAA;IACD,CAAC,UAAU,SAAS,kBAAkB,CAAC,CAAC,CAAC,EACvC,IAAI,EAAE,UAAU,GACf,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAC3E;AA6FD,wBAAgB,aAAa,CAAC,KAAK,SAAS,SAAS,EACnD,KAAK,EAAE,KAAK,GACX,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAC5B,wBAAgB,aAAa,CAC3B,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CACnC,CAAC,CAAC,QAAQ,EACV,oDAAoD,CACrD,EACD,IAAI,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,EAClC,KAAK,EAAE,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAChE,wBAAgB,aAAa,CAC3B,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CACnC,CAAC,CAAC,QAAQ,EACV,oDAAoD,CACrD,EACD,UAAU,SAAS,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,EAE9C,KAAK,EAAE,UAAU,GAChB,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA"}
package/useArrayField.js CHANGED
@@ -71,7 +71,9 @@ function useArrayFieldBase(field) {
71
71
  }, [field.pathstring]);
72
72
  var elements = _react["default"].useMemo(function () {
73
73
  return (0, _toConsumableArray2["default"])(new Array(length).keys()).map(function (index) {
74
- return field.subfield(index);
74
+ return field.subfield(
75
+ // @ts-expect-error doesn't work on this type parameter
76
+ index);
75
77
  });
76
78
  }, [length]);
77
79
  return _react["default"].useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"useArrayField.js","names":["_FieldPath","require","_react","_interopRequireDefault","_useFormContext3","_bindActionsToField","_reselect","_get","_fastDeepEqual","_useFormSelector2","_reactRedux","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useArrayFieldBase","field","_useFormContext","useFormContext","arrayActions","setParsedValue","setValue","setMeta","selectFormValues","selectFieldErrorMap","useFormSelector","untypedUseFormSelector","valuesSelector","React","useMemo","createSelector","createStructuredSelector","value","_ref","values","get","path","initialValue","_ref2","initialValues","_ref3","dirty","isEqual","pristine","Array","isArray","pathstring","_useFormSelector","shallowEqual","error","state","meta","fieldMeta","submitFailed","boundActions","bindActionsToField","elements","_toConsumableArray2","map","index","subfield","visited","touched","valid","invalid","Boolean","useArrayField","_useFormContext2","root","FieldPath"],"sources":["src/useArrayField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath, FieldPathForValue } from './FieldPath'\nimport React from 'react'\nimport { useFormContext } from './useFormContext'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { bindActionsToField } from './util/bindActionsToField'\nimport { arrayActions } from './actions/arrayActions'\nimport { createSelector, createStructuredSelector } from 'reselect'\nimport { get } from './util/get'\nimport isEqual from 'fast-deep-equal'\nimport {\n TypedUseFormSelector,\n useFormSelector as untypedUseFormSelector,\n} from './useFormSelector'\nimport { shallowEqual } from 'react-redux'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { setValue } from './actions/setValue'\nimport { setMeta } from './actions/setMeta'\nimport { FieldMeta } from './FormState'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type UseArrayFieldProps<Field extends FieldPath> = NonNullable<\n z.input<Field['schema']>\n> extends any[]\n ? FieldMeta &\n ReturnType<\n typeof bindActionsToField<\n Field,\n typeof arrayActions & {\n setParsedValue: typeof setParsedValue<Field>\n setValue: typeof setValue<Field>\n setMeta: typeof setMeta<Field>\n }\n >\n > & {\n elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]\n error?: string\n dirty: boolean\n pristine: boolean\n valid: boolean\n invalid: boolean\n }\n : { ERROR: 'not an array field' }\n\nexport interface TypedUseArrayField<T extends z.ZodTypeAny> {\n <Field extends FieldPathForValue<any[] | null | undefined>>(\n field: Field\n ): UseArrayFieldProps<Field>\n <Path extends PathInSchema<T>>(path: Path): UseArrayFieldProps<\n FieldPath<SchemaAt<T, Path>>\n >\n <Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\n}\n\nfunction useArrayFieldBase<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field> {\n type T = Field['schema']\n\n const {\n arrayActions,\n setParsedValue,\n setValue,\n setMeta,\n selectFormValues,\n selectFieldErrorMap,\n } = useFormContext<T>()\n\n const useFormSelector = untypedUseFormSelector as TypedUseFormSelector<T>\n\n const valuesSelector = React.useMemo(\n () =>\n createSelector(\n [selectFormValues],\n createSelector(\n [\n createStructuredSelector({\n value: ({ values }) =>\n get(values, field.path) as DeepPartial<z.input<T>> | undefined,\n initialValue: ({ initialValues }) =>\n get(initialValues, field.path) as\n | DeepPartial<z.input<T>>\n | undefined,\n }),\n ],\n ({ value, initialValue }) => {\n const dirty = !isEqual(value, initialValue)\n const pristine = !dirty\n return {\n dirty,\n pristine,\n length: Array.isArray(value) ? value.length : 0,\n }\n }\n )\n ),\n [field.pathstring]\n )\n\n const { dirty, pristine, length } = useFormSelector(\n valuesSelector,\n shallowEqual\n )\n\n const error = useFormSelector(\n (state) => selectFieldErrorMap(state)[field.pathstring]\n )\n const meta = useFormSelector((state) => state.fieldMeta[field.pathstring])\n const submitFailed = useFormSelector((state) => state.submitFailed)\n\n const boundActions = React.useMemo(\n () =>\n bindActionsToField(\n { ...arrayActions, setParsedValue, setValue, setMeta },\n field\n ),\n [field.pathstring]\n )\n const elements = React.useMemo(\n () => [...new Array(length).keys()].map((index) => field.subfield(index)),\n [length]\n )\n\n return React.useMemo(\n () => ({\n ...boundActions,\n visited: meta?.visited || false,\n touched: meta?.touched || submitFailed,\n error,\n elements,\n dirty,\n pristine,\n valid: !error,\n invalid: Boolean(error),\n }),\n [dirty, boundActions, elements, meta, submitFailed, error]\n ) as any\n}\n\nexport function useArrayField<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(field: Path): UseArrayFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a pathstring'\n >,\n Pathstring extends PathstringInSchema<T> = any\n>(\n field: Pathstring\n): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\nexport function useArrayField<T extends z.ZodTypeAny>(\n field: FieldPath | BasePath | string\n): UseArrayFieldProps<any> | { ERROR: string } {\n const { root } = useFormContext<T>()\n return useArrayFieldBase(\n field instanceof FieldPath ? field : root.get(field as any)\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useArrayField.js","names":["_FieldPath","require","_react","_interopRequireDefault","_useFormContext3","_bindActionsToField","_reselect","_get","_fastDeepEqual","_useFormSelector2","_reactRedux","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useArrayFieldBase","field","_useFormContext","useFormContext","arrayActions","setParsedValue","setValue","setMeta","selectFormValues","selectFieldErrorMap","useFormSelector","untypedUseFormSelector","valuesSelector","React","useMemo","createSelector","createStructuredSelector","value","_ref","values","get","path","initialValue","_ref2","initialValues","_ref3","dirty","isEqual","pristine","Array","isArray","pathstring","_useFormSelector","shallowEqual","error","state","meta","fieldMeta","submitFailed","boundActions","bindActionsToField","elements","_toConsumableArray2","map","index","subfield","visited","touched","valid","invalid","Boolean","useArrayField","_useFormContext2","root","FieldPath"],"sources":["src/useArrayField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath, FieldPathForValue } from './FieldPath'\nimport React from 'react'\nimport { useFormContext } from './useFormContext'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { bindActionsToField } from './util/bindActionsToField'\nimport { arrayActions, ArrayFieldPath } from './actions/arrayActions'\nimport { createSelector, createStructuredSelector } from 'reselect'\nimport { get } from './util/get'\nimport isEqual from 'fast-deep-equal'\nimport {\n TypedUseFormSelector,\n useFormSelector as untypedUseFormSelector,\n} from './useFormSelector'\nimport { shallowEqual } from 'react-redux'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { setValue } from './actions/setValue'\nimport { setMeta } from './actions/setMeta'\nimport { FieldMeta } from './FormState'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type UseArrayFieldProps<Field extends ArrayFieldPath = ArrayFieldPath> =\n NonNullable<z.input<Field['schema']>> extends any[]\n ? FieldMeta &\n ReturnType<\n typeof bindActionsToField<\n Field,\n arrayActions<Field> & {\n setParsedValue: typeof setParsedValue<Field>\n setValue: typeof setValue<Field>\n setMeta: typeof setMeta<Field>\n }\n >\n > & {\n elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]\n error?: string\n dirty: boolean\n pristine: boolean\n valid: boolean\n invalid: boolean\n }\n : { ERROR: 'not an array field' }\n\nexport interface TypedUseArrayField<T extends z.ZodTypeAny> {\n <Field extends FieldPathForValue<any[] | null | undefined>>(\n field: Field\n ): UseArrayFieldProps<Field>\n <Path extends PathInSchema<T>>(path: Path): UseArrayFieldProps<\n FieldPath<SchemaAt<T, Path>>\n >\n <Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\n}\n\nfunction useArrayFieldBase<Field extends ArrayFieldPath>(\n field: Field\n): UseArrayFieldProps<Field> {\n type T = Field['schema']\n\n const {\n arrayActions,\n setParsedValue,\n setValue,\n setMeta,\n selectFormValues,\n selectFieldErrorMap,\n } = useFormContext<T>()\n\n const useFormSelector = untypedUseFormSelector as TypedUseFormSelector<T>\n\n const valuesSelector = React.useMemo(\n () =>\n createSelector(\n [selectFormValues],\n createSelector(\n [\n createStructuredSelector({\n value: ({ values }) =>\n get(values, field.path) as DeepPartial<z.input<T>> | undefined,\n initialValue: ({ initialValues }) =>\n get(initialValues, field.path) as\n | DeepPartial<z.input<T>>\n | undefined,\n }),\n ],\n ({ value, initialValue }) => {\n const dirty = !isEqual(value, initialValue)\n const pristine = !dirty\n return {\n dirty,\n pristine,\n length: Array.isArray(value) ? value.length : 0,\n }\n }\n )\n ),\n [field.pathstring]\n )\n\n const { dirty, pristine, length } = useFormSelector(\n valuesSelector,\n shallowEqual\n )\n\n const error = useFormSelector(\n (state) => selectFieldErrorMap(state)[field.pathstring]\n )\n const meta = useFormSelector((state) => state.fieldMeta[field.pathstring])\n const submitFailed = useFormSelector((state) => state.submitFailed)\n\n const boundActions = React.useMemo(\n () =>\n bindActionsToField(\n { ...arrayActions, setParsedValue, setValue, setMeta },\n field\n ),\n [field.pathstring]\n )\n const elements = React.useMemo(\n () =>\n [...new Array(length).keys()].map((index) =>\n field.subfield(\n // @ts-expect-error doesn't work on this type parameter\n index\n )\n ),\n [length]\n )\n\n return React.useMemo(\n () => ({\n ...boundActions,\n visited: meta?.visited || false,\n touched: meta?.touched || submitFailed,\n error,\n elements,\n dirty,\n pristine,\n valid: !error,\n invalid: Boolean(error),\n }),\n [dirty, boundActions, elements, meta, submitFailed, error]\n ) as any\n}\n\nexport function useArrayField<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(field: Path): UseArrayFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a pathstring'\n >,\n Pathstring extends PathstringInSchema<T> = any\n>(\n field: Pathstring\n): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\nexport function useArrayField<T extends z.ZodTypeAny>(\n field: FieldPath | BasePath | string\n): UseArrayFieldProps<any> | { ERROR: string } {\n const { root } = useFormContext<T>()\n return useArrayFieldBase(\n field instanceof FieldPath ? field : root.get(field as any)\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/useArrayField.mjs CHANGED
@@ -50,7 +50,9 @@ function useArrayFieldBase(field) {
50
50
  setValue,
51
51
  setMeta
52
52
  }, field), [field.pathstring]);
53
- const elements = React.useMemo(() => [...new Array(length).keys()].map(index => field.subfield(index)), [length]);
53
+ const elements = React.useMemo(() => [...new Array(length).keys()].map(index => field.subfield(
54
+ // @ts-expect-error doesn't work on this type parameter
55
+ index)), [length]);
54
56
  return React.useMemo(() => ({
55
57
  ...boundActions,
56
58
  visited: (meta === null || meta === void 0 ? void 0 : meta.visited) || false,
@@ -1 +1 @@
1
- {"version":3,"file":"useArrayField.mjs","names":["FieldPath","React","useFormContext","bindActionsToField","createSelector","createStructuredSelector","get","isEqual","useFormSelector","untypedUseFormSelector","shallowEqual","useArrayFieldBase","field","arrayActions","setParsedValue","setValue","setMeta","selectFormValues","selectFieldErrorMap","valuesSelector","useMemo","value","values","path","initialValue","initialValues","dirty","pristine","length","Array","isArray","pathstring","error","state","meta","fieldMeta","submitFailed","boundActions","elements","keys","map","index","subfield","visited","touched","valid","invalid","Boolean","useArrayField","root"],"sources":["src/useArrayField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath, FieldPathForValue } from './FieldPath'\nimport React from 'react'\nimport { useFormContext } from './useFormContext'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { bindActionsToField } from './util/bindActionsToField'\nimport { arrayActions } from './actions/arrayActions'\nimport { createSelector, createStructuredSelector } from 'reselect'\nimport { get } from './util/get'\nimport isEqual from 'fast-deep-equal'\nimport {\n TypedUseFormSelector,\n useFormSelector as untypedUseFormSelector,\n} from './useFormSelector'\nimport { shallowEqual } from 'react-redux'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { setValue } from './actions/setValue'\nimport { setMeta } from './actions/setMeta'\nimport { FieldMeta } from './FormState'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type UseArrayFieldProps<Field extends FieldPath> = NonNullable<\n z.input<Field['schema']>\n> extends any[]\n ? FieldMeta &\n ReturnType<\n typeof bindActionsToField<\n Field,\n typeof arrayActions & {\n setParsedValue: typeof setParsedValue<Field>\n setValue: typeof setValue<Field>\n setMeta: typeof setMeta<Field>\n }\n >\n > & {\n elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]\n error?: string\n dirty: boolean\n pristine: boolean\n valid: boolean\n invalid: boolean\n }\n : { ERROR: 'not an array field' }\n\nexport interface TypedUseArrayField<T extends z.ZodTypeAny> {\n <Field extends FieldPathForValue<any[] | null | undefined>>(\n field: Field\n ): UseArrayFieldProps<Field>\n <Path extends PathInSchema<T>>(path: Path): UseArrayFieldProps<\n FieldPath<SchemaAt<T, Path>>\n >\n <Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\n}\n\nfunction useArrayFieldBase<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field> {\n type T = Field['schema']\n\n const {\n arrayActions,\n setParsedValue,\n setValue,\n setMeta,\n selectFormValues,\n selectFieldErrorMap,\n } = useFormContext<T>()\n\n const useFormSelector = untypedUseFormSelector as TypedUseFormSelector<T>\n\n const valuesSelector = React.useMemo(\n () =>\n createSelector(\n [selectFormValues],\n createSelector(\n [\n createStructuredSelector({\n value: ({ values }) =>\n get(values, field.path) as DeepPartial<z.input<T>> | undefined,\n initialValue: ({ initialValues }) =>\n get(initialValues, field.path) as\n | DeepPartial<z.input<T>>\n | undefined,\n }),\n ],\n ({ value, initialValue }) => {\n const dirty = !isEqual(value, initialValue)\n const pristine = !dirty\n return {\n dirty,\n pristine,\n length: Array.isArray(value) ? value.length : 0,\n }\n }\n )\n ),\n [field.pathstring]\n )\n\n const { dirty, pristine, length } = useFormSelector(\n valuesSelector,\n shallowEqual\n )\n\n const error = useFormSelector(\n (state) => selectFieldErrorMap(state)[field.pathstring]\n )\n const meta = useFormSelector((state) => state.fieldMeta[field.pathstring])\n const submitFailed = useFormSelector((state) => state.submitFailed)\n\n const boundActions = React.useMemo(\n () =>\n bindActionsToField(\n { ...arrayActions, setParsedValue, setValue, setMeta },\n field\n ),\n [field.pathstring]\n )\n const elements = React.useMemo(\n () => [...new Array(length).keys()].map((index) => field.subfield(index)),\n [length]\n )\n\n return React.useMemo(\n () => ({\n ...boundActions,\n visited: meta?.visited || false,\n touched: meta?.touched || submitFailed,\n error,\n elements,\n dirty,\n pristine,\n valid: !error,\n invalid: Boolean(error),\n }),\n [dirty, boundActions, elements, meta, submitFailed, error]\n ) as any\n}\n\nexport function useArrayField<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(field: Path): UseArrayFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a pathstring'\n >,\n Pathstring extends PathstringInSchema<T> = any\n>(\n field: Pathstring\n): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\nexport function useArrayField<T extends z.ZodTypeAny>(\n field: FieldPath | BasePath | string\n): UseArrayFieldProps<any> | { ERROR: string } {\n const { root } = useFormContext<T>()\n return useArrayFieldBase(\n field instanceof FieldPath ? field : root.get(field as any)\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useArrayField.mjs","names":["FieldPath","React","useFormContext","bindActionsToField","createSelector","createStructuredSelector","get","isEqual","useFormSelector","untypedUseFormSelector","shallowEqual","useArrayFieldBase","field","arrayActions","setParsedValue","setValue","setMeta","selectFormValues","selectFieldErrorMap","valuesSelector","useMemo","value","values","path","initialValue","initialValues","dirty","pristine","length","Array","isArray","pathstring","error","state","meta","fieldMeta","submitFailed","boundActions","elements","keys","map","index","subfield","visited","touched","valid","invalid","Boolean","useArrayField","root"],"sources":["src/useArrayField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath, FieldPathForValue } from './FieldPath'\nimport React from 'react'\nimport { useFormContext } from './useFormContext'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { bindActionsToField } from './util/bindActionsToField'\nimport { arrayActions, ArrayFieldPath } from './actions/arrayActions'\nimport { createSelector, createStructuredSelector } from 'reselect'\nimport { get } from './util/get'\nimport isEqual from 'fast-deep-equal'\nimport {\n TypedUseFormSelector,\n useFormSelector as untypedUseFormSelector,\n} from './useFormSelector'\nimport { shallowEqual } from 'react-redux'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { setValue } from './actions/setValue'\nimport { setMeta } from './actions/setMeta'\nimport { FieldMeta } from './FormState'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type UseArrayFieldProps<Field extends ArrayFieldPath = ArrayFieldPath> =\n NonNullable<z.input<Field['schema']>> extends any[]\n ? FieldMeta &\n ReturnType<\n typeof bindActionsToField<\n Field,\n arrayActions<Field> & {\n setParsedValue: typeof setParsedValue<Field>\n setValue: typeof setValue<Field>\n setMeta: typeof setMeta<Field>\n }\n >\n > & {\n elements: FieldPath<SchemaAt<Field['schema'], [number]>>[]\n error?: string\n dirty: boolean\n pristine: boolean\n valid: boolean\n invalid: boolean\n }\n : { ERROR: 'not an array field' }\n\nexport interface TypedUseArrayField<T extends z.ZodTypeAny> {\n <Field extends FieldPathForValue<any[] | null | undefined>>(\n field: Field\n ): UseArrayFieldProps<Field>\n <Path extends PathInSchema<T>>(path: Path): UseArrayFieldProps<\n FieldPath<SchemaAt<T, Path>>\n >\n <Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\n}\n\nfunction useArrayFieldBase<Field extends ArrayFieldPath>(\n field: Field\n): UseArrayFieldProps<Field> {\n type T = Field['schema']\n\n const {\n arrayActions,\n setParsedValue,\n setValue,\n setMeta,\n selectFormValues,\n selectFieldErrorMap,\n } = useFormContext<T>()\n\n const useFormSelector = untypedUseFormSelector as TypedUseFormSelector<T>\n\n const valuesSelector = React.useMemo(\n () =>\n createSelector(\n [selectFormValues],\n createSelector(\n [\n createStructuredSelector({\n value: ({ values }) =>\n get(values, field.path) as DeepPartial<z.input<T>> | undefined,\n initialValue: ({ initialValues }) =>\n get(initialValues, field.path) as\n | DeepPartial<z.input<T>>\n | undefined,\n }),\n ],\n ({ value, initialValue }) => {\n const dirty = !isEqual(value, initialValue)\n const pristine = !dirty\n return {\n dirty,\n pristine,\n length: Array.isArray(value) ? value.length : 0,\n }\n }\n )\n ),\n [field.pathstring]\n )\n\n const { dirty, pristine, length } = useFormSelector(\n valuesSelector,\n shallowEqual\n )\n\n const error = useFormSelector(\n (state) => selectFieldErrorMap(state)[field.pathstring]\n )\n const meta = useFormSelector((state) => state.fieldMeta[field.pathstring])\n const submitFailed = useFormSelector((state) => state.submitFailed)\n\n const boundActions = React.useMemo(\n () =>\n bindActionsToField(\n { ...arrayActions, setParsedValue, setValue, setMeta },\n field\n ),\n [field.pathstring]\n )\n const elements = React.useMemo(\n () =>\n [...new Array(length).keys()].map((index) =>\n field.subfield(\n // @ts-expect-error doesn't work on this type parameter\n index\n )\n ),\n [length]\n )\n\n return React.useMemo(\n () => ({\n ...boundActions,\n visited: meta?.visited || false,\n touched: meta?.touched || submitFailed,\n error,\n elements,\n dirty,\n pristine,\n valid: !error,\n invalid: Boolean(error),\n }),\n [dirty, boundActions, elements, meta, submitFailed, error]\n ) as any\n}\n\nexport function useArrayField<Field extends FieldPath>(\n field: Field\n): UseArrayFieldProps<Field>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(field: Path): UseArrayFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useArrayField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseArrayField<T> to pass a pathstring'\n >,\n Pathstring extends PathstringInSchema<T> = any\n>(\n field: Pathstring\n): UseArrayFieldProps<FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>>\nexport function useArrayField<T extends z.ZodTypeAny>(\n field: FieldPath | BasePath | string\n): UseArrayFieldProps<any> | { ERROR: string } {\n const { root } = useFormContext<T>()\n return useArrayFieldBase(\n field instanceof FieldPath ? field : root.get(field as any)\n )\n}\n"],"mappings":"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","ignoreList":[]}