@jcoreio/zod-forms 1.0.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.
- package/FieldPath.d.ts +26 -0
- package/FieldPath.d.ts.map +1 -0
- package/FieldPath.js +155 -0
- package/FieldPath.js.map +1 -0
- package/FieldPath.mjs +138 -0
- package/FieldPath.mjs.map +1 -0
- package/FormAction.d.ts +15 -0
- package/FormAction.d.ts.map +1 -0
- package/FormAction.js +6 -0
- package/FormAction.js.map +1 -0
- package/FormAction.mjs +2 -0
- package/FormAction.mjs.map +1 -0
- package/FormContext.d.ts +39 -0
- package/FormContext.d.ts.map +1 -0
- package/FormContext.js +10 -0
- package/FormContext.js.map +1 -0
- package/FormContext.mjs +3 -0
- package/FormContext.mjs.map +1 -0
- package/FormState.d.ts +31 -0
- package/FormState.d.ts.map +1 -0
- package/FormState.js +6 -0
- package/FormState.js.map +1 -0
- package/FormState.mjs +2 -0
- package/FormState.mjs.map +1 -0
- package/FormStateContext.d.ts +8 -0
- package/FormStateContext.d.ts.map +1 -0
- package/FormStateContext.js +10 -0
- package/FormStateContext.js.map +1 -0
- package/FormStateContext.mjs +3 -0
- package/FormStateContext.mjs.map +1 -0
- package/LICENSE.md +21 -0
- package/README.md +154 -0
- package/actions/addHandlers.d.ts +15 -0
- package/actions/addHandlers.d.ts.map +1 -0
- package/actions/addHandlers.js +16 -0
- package/actions/addHandlers.js.map +1 -0
- package/actions/addHandlers.mjs +7 -0
- package/actions/addHandlers.mjs.map +1 -0
- package/actions/arrayActions.d.ts +113 -0
- package/actions/arrayActions.d.ts.map +1 -0
- package/actions/arrayActions.js +146 -0
- package/actions/arrayActions.js.map +1 -0
- package/actions/arrayActions.mjs +120 -0
- package/actions/arrayActions.mjs.map +1 -0
- package/actions/initialize.d.ts +13 -0
- package/actions/initialize.d.ts.map +1 -0
- package/actions/initialize.js +16 -0
- package/actions/initialize.js.map +1 -0
- package/actions/initialize.mjs +7 -0
- package/actions/initialize.mjs.map +1 -0
- package/actions/removeHandlers.d.ts +10 -0
- package/actions/removeHandlers.d.ts.map +1 -0
- package/actions/removeHandlers.js +16 -0
- package/actions/removeHandlers.js.map +1 -0
- package/actions/removeHandlers.mjs +7 -0
- package/actions/removeHandlers.mjs.map +1 -0
- package/actions/setMeta.d.ts +9 -0
- package/actions/setMeta.d.ts.map +1 -0
- package/actions/setMeta.js +14 -0
- package/actions/setMeta.js.map +1 -0
- package/actions/setMeta.mjs +8 -0
- package/actions/setMeta.mjs.map +1 -0
- package/actions/setMounted.d.ts +6 -0
- package/actions/setMounted.d.ts.map +1 -0
- package/actions/setMounted.js +13 -0
- package/actions/setMounted.js.map +1 -0
- package/actions/setMounted.mjs +7 -0
- package/actions/setMounted.mjs.map +1 -0
- package/actions/setRawValue.d.ts +9 -0
- package/actions/setRawValue.d.ts.map +1 -0
- package/actions/setRawValue.js +14 -0
- package/actions/setRawValue.js.map +1 -0
- package/actions/setRawValue.mjs +8 -0
- package/actions/setRawValue.mjs.map +1 -0
- package/actions/setSubmitStatus.d.ts +14 -0
- package/actions/setSubmitStatus.d.ts.map +1 -0
- package/actions/setSubmitStatus.js +16 -0
- package/actions/setSubmitStatus.js.map +1 -0
- package/actions/setSubmitStatus.mjs +7 -0
- package/actions/setSubmitStatus.mjs.map +1 -0
- package/actions/setValue.d.ts +12 -0
- package/actions/setValue.d.ts.map +1 -0
- package/actions/setValue.js +18 -0
- package/actions/setValue.js.map +1 -0
- package/actions/setValue.mjs +9 -0
- package/actions/setValue.mjs.map +1 -0
- package/actions/submit.d.ts +5 -0
- package/actions/submit.d.ts.map +1 -0
- package/actions/submit.js +12 -0
- package/actions/submit.js.map +1 -0
- package/actions/submit.mjs +6 -0
- package/actions/submit.mjs.map +1 -0
- package/actions/submitSucceeded.d.ts +5 -0
- package/actions/submitSucceeded.d.ts.map +1 -0
- package/actions/submitSucceeded.js +12 -0
- package/actions/submitSucceeded.js.map +1 -0
- package/actions/submitSucceeded.mjs +6 -0
- package/actions/submitSucceeded.mjs.map +1 -0
- package/createFormMiddleware.d.ts +6 -0
- package/createFormMiddleware.d.ts.map +1 -0
- package/createFormMiddleware.js +186 -0
- package/createFormMiddleware.js.map +1 -0
- package/createFormMiddleware.mjs +53 -0
- package/createFormMiddleware.mjs.map +1 -0
- package/createFormProvider.d.ts +7 -0
- package/createFormProvider.d.ts.map +1 -0
- package/createFormProvider.js +85 -0
- package/createFormProvider.js.map +1 -0
- package/createFormProvider.mjs +63 -0
- package/createFormProvider.mjs.map +1 -0
- package/createFormReducer.d.ts +9 -0
- package/createFormReducer.d.ts.map +1 -0
- package/createFormReducer.js +95 -0
- package/createFormReducer.js.map +1 -0
- package/createFormReducer.mjs +84 -0
- package/createFormReducer.mjs.map +1 -0
- package/createSelectFieldErrorMap.d.ts +32 -0
- package/createSelectFieldErrorMap.d.ts.map +1 -0
- package/createSelectFieldErrorMap.js +43 -0
- package/createSelectFieldErrorMap.js.map +1 -0
- package/createSelectFieldErrorMap.mjs +24 -0
- package/createSelectFieldErrorMap.mjs.map +1 -0
- package/createSelectFormStatus.d.ts +89 -0
- package/createSelectFormStatus.d.ts.map +1 -0
- package/createSelectFormStatus.js +54 -0
- package/createSelectFormStatus.js.map +1 -0
- package/createSelectFormStatus.mjs +28 -0
- package/createSelectFormStatus.mjs.map +1 -0
- package/createSelectFormValues.d.ts +45 -0
- package/createSelectFormValues.d.ts.map +1 -0
- package/createSelectFormValues.js +24 -0
- package/createSelectFormValues.js.map +1 -0
- package/createSelectFormValues.mjs +10 -0
- package/createSelectFormValues.mjs.map +1 -0
- package/createZodForm.d.ts +33 -0
- package/createZodForm.d.ts.map +1 -0
- package/createZodForm.js +51 -0
- package/createZodForm.js.map +1 -0
- package/createZodForm.mjs +46 -0
- package/createZodForm.mjs.map +1 -0
- package/index.d.ts +14 -0
- package/index.d.ts.map +1 -0
- package/index.js +76 -0
- package/index.js.map +1 -0
- package/index.mjs +11 -0
- package/index.mjs.map +1 -0
- package/initFormState.d.ts +4 -0
- package/initFormState.d.ts.map +1 -0
- package/initFormState.js +22 -0
- package/initFormState.js.map +1 -0
- package/initFormState.mjs +16 -0
- package/initFormState.mjs.map +1 -0
- package/package.json +49 -0
- package/reducers/addHandlers.d.ts +24 -0
- package/reducers/addHandlers.d.ts.map +1 -0
- package/reducers/addHandlers.js +24 -0
- package/reducers/addHandlers.js.map +1 -0
- package/reducers/addHandlers.mjs +21 -0
- package/reducers/addHandlers.mjs.map +1 -0
- package/reducers/arrayInsert.d.ts +7 -0
- package/reducers/arrayInsert.d.ts.map +1 -0
- package/reducers/arrayInsert.js +16 -0
- package/reducers/arrayInsert.js.map +1 -0
- package/reducers/arrayInsert.mjs +12 -0
- package/reducers/arrayInsert.mjs.map +1 -0
- package/reducers/arrayInsertRaw.d.ts +7 -0
- package/reducers/arrayInsertRaw.d.ts.map +1 -0
- package/reducers/arrayInsertRaw.js +22 -0
- package/reducers/arrayInsertRaw.js.map +1 -0
- package/reducers/arrayInsertRaw.mjs +14 -0
- package/reducers/arrayInsertRaw.mjs.map +1 -0
- package/reducers/arrayMove.d.ts +8 -0
- package/reducers/arrayMove.d.ts.map +1 -0
- package/reducers/arrayMove.js +25 -0
- package/reducers/arrayMove.js.map +1 -0
- package/reducers/arrayMove.mjs +16 -0
- package/reducers/arrayMove.mjs.map +1 -0
- package/reducers/arrayPop.d.ts +7 -0
- package/reducers/arrayPop.d.ts.map +1 -0
- package/reducers/arrayPop.js +13 -0
- package/reducers/arrayPop.js.map +1 -0
- package/reducers/arrayPop.mjs +5 -0
- package/reducers/arrayPop.mjs.map +1 -0
- package/reducers/arrayPush.d.ts +7 -0
- package/reducers/arrayPush.d.ts.map +1 -0
- package/reducers/arrayPush.js +15 -0
- package/reducers/arrayPush.js.map +1 -0
- package/reducers/arrayPush.mjs +11 -0
- package/reducers/arrayPush.mjs.map +1 -0
- package/reducers/arrayPushRaw.d.ts +7 -0
- package/reducers/arrayPushRaw.d.ts.map +1 -0
- package/reducers/arrayPushRaw.js +17 -0
- package/reducers/arrayPushRaw.js.map +1 -0
- package/reducers/arrayPushRaw.mjs +9 -0
- package/reducers/arrayPushRaw.mjs.map +1 -0
- package/reducers/arrayRemove.d.ts +7 -0
- package/reducers/arrayRemove.d.ts.map +1 -0
- package/reducers/arrayRemove.js +21 -0
- package/reducers/arrayRemove.js.map +1 -0
- package/reducers/arrayRemove.mjs +13 -0
- package/reducers/arrayRemove.mjs.map +1 -0
- package/reducers/arrayRemoveAll.d.ts +7 -0
- package/reducers/arrayRemoveAll.d.ts.map +1 -0
- package/reducers/arrayRemoveAll.js +14 -0
- package/reducers/arrayRemoveAll.js.map +1 -0
- package/reducers/arrayRemoveAll.mjs +8 -0
- package/reducers/arrayRemoveAll.mjs.map +1 -0
- package/reducers/arrayShift.d.ts +7 -0
- package/reducers/arrayShift.d.ts.map +1 -0
- package/reducers/arrayShift.js +14 -0
- package/reducers/arrayShift.js.map +1 -0
- package/reducers/arrayShift.mjs +8 -0
- package/reducers/arrayShift.mjs.map +1 -0
- package/reducers/arraySplice.d.ts +7 -0
- package/reducers/arraySplice.d.ts.map +1 -0
- package/reducers/arraySplice.js +20 -0
- package/reducers/arraySplice.js.map +1 -0
- package/reducers/arraySplice.mjs +14 -0
- package/reducers/arraySplice.mjs.map +1 -0
- package/reducers/arraySpliceRaw.d.ts +7 -0
- package/reducers/arraySpliceRaw.d.ts.map +1 -0
- package/reducers/arraySpliceRaw.js +26 -0
- package/reducers/arraySpliceRaw.js.map +1 -0
- package/reducers/arraySpliceRaw.mjs +18 -0
- package/reducers/arraySpliceRaw.mjs.map +1 -0
- package/reducers/arraySwap.d.ts +8 -0
- package/reducers/arraySwap.d.ts.map +1 -0
- package/reducers/arraySwap.js +27 -0
- package/reducers/arraySwap.js.map +1 -0
- package/reducers/arraySwap.mjs +18 -0
- package/reducers/arraySwap.mjs.map +1 -0
- package/reducers/arrayUnshift.d.ts +7 -0
- package/reducers/arrayUnshift.d.ts.map +1 -0
- package/reducers/arrayUnshift.js +15 -0
- package/reducers/arrayUnshift.js.map +1 -0
- package/reducers/arrayUnshift.mjs +11 -0
- package/reducers/arrayUnshift.mjs.map +1 -0
- package/reducers/arrayUnshiftRaw.d.ts +7 -0
- package/reducers/arrayUnshiftRaw.d.ts.map +1 -0
- package/reducers/arrayUnshiftRaw.js +17 -0
- package/reducers/arrayUnshiftRaw.js.map +1 -0
- package/reducers/arrayUnshiftRaw.mjs +9 -0
- package/reducers/arrayUnshiftRaw.mjs.map +1 -0
- package/reducers/initialize.d.ts +46 -0
- package/reducers/initialize.d.ts.map +1 -0
- package/reducers/initialize.js +46 -0
- package/reducers/initialize.js.map +1 -0
- package/reducers/initialize.mjs +38 -0
- package/reducers/initialize.mjs.map +1 -0
- package/reducers/removeHandlers.d.ts +24 -0
- package/reducers/removeHandlers.d.ts.map +1 -0
- package/reducers/removeHandlers.js +24 -0
- package/reducers/removeHandlers.js.map +1 -0
- package/reducers/removeHandlers.mjs +21 -0
- package/reducers/removeHandlers.mjs.map +1 -0
- package/reducers/setMeta.d.ts +6 -0
- package/reducers/setMeta.d.ts.map +1 -0
- package/reducers/setMeta.js +28 -0
- package/reducers/setMeta.js.map +1 -0
- package/reducers/setMeta.mjs +21 -0
- package/reducers/setMeta.mjs.map +1 -0
- package/reducers/setRawValue.d.ts +27 -0
- package/reducers/setRawValue.d.ts.map +1 -0
- package/reducers/setRawValue.js +35 -0
- package/reducers/setRawValue.js.map +1 -0
- package/reducers/setRawValue.mjs +26 -0
- package/reducers/setRawValue.mjs.map +1 -0
- package/reducers/setSubmitStatus.d.ts +24 -0
- package/reducers/setSubmitStatus.d.ts.map +1 -0
- package/reducers/setSubmitStatus.js +18 -0
- package/reducers/setSubmitStatus.js.map +1 -0
- package/reducers/setSubmitStatus.mjs +12 -0
- package/reducers/setSubmitStatus.mjs.map +1 -0
- package/reducers/setValue.d.ts +28 -0
- package/reducers/setValue.d.ts.map +1 -0
- package/reducers/setValue.js +41 -0
- package/reducers/setValue.js.map +1 -0
- package/reducers/setValue.mjs +32 -0
- package/reducers/setValue.mjs.map +1 -0
- package/reducers/submitSucceeded.d.ts +23 -0
- package/reducers/submitSucceeded.d.ts.map +1 -0
- package/reducers/submitSucceeded.js +22 -0
- package/reducers/submitSucceeded.js.map +1 -0
- package/reducers/submitSucceeded.mjs +13 -0
- package/reducers/submitSucceeded.mjs.map +1 -0
- package/reducers/util/getInverseArrayElementSchema.d.ts +3 -0
- package/reducers/util/getInverseArrayElementSchema.d.ts.map +1 -0
- package/reducers/util/getInverseArrayElementSchema.js +14 -0
- package/reducers/util/getInverseArrayElementSchema.js.map +1 -0
- package/reducers/util/getInverseArrayElementSchema.mjs +8 -0
- package/reducers/util/getInverseArrayElementSchema.mjs.map +1 -0
- package/reducers/util/updateRawArray.d.ts +7 -0
- package/reducers/util/updateRawArray.d.ts.map +1 -0
- package/reducers/util/updateRawArray.js +14 -0
- package/reducers/util/updateRawArray.js.map +1 -0
- package/reducers/util/updateRawArray.mjs +8 -0
- package/reducers/util/updateRawArray.mjs.map +1 -0
- package/src/FieldPath.ts +215 -0
- package/src/FormAction.ts +26 -0
- package/src/FormContext.ts +44 -0
- package/src/FormState.ts +36 -0
- package/src/FormStateContext.ts +13 -0
- package/src/actions/addHandlers.ts +23 -0
- package/src/actions/arrayActions.ts +183 -0
- package/src/actions/initialize.ts +16 -0
- package/src/actions/removeHandlers.ts +13 -0
- package/src/actions/setMeta.ts +17 -0
- package/src/actions/setMounted.ts +8 -0
- package/src/actions/setRawValue.ts +17 -0
- package/src/actions/setSubmitStatus.ts +26 -0
- package/src/actions/setValue.ts +21 -0
- package/src/actions/submit.ts +7 -0
- package/src/actions/submitSucceeded.ts +7 -0
- package/src/createFormMiddleware.ts +74 -0
- package/src/createFormProvider.tsx +101 -0
- package/src/createFormReducer.ts +91 -0
- package/src/createSelectFieldErrorMap.ts +47 -0
- package/src/createSelectFormStatus.ts +41 -0
- package/src/createSelectFormValues.ts +16 -0
- package/src/createZodForm.ts +57 -0
- package/src/index.ts +32 -0
- package/src/initFormState.ts +18 -0
- package/src/reducers/addHandlers.ts +21 -0
- package/src/reducers/arrayInsert.ts +19 -0
- package/src/reducers/arrayInsertRaw.ts +22 -0
- package/src/reducers/arrayMove.ts +36 -0
- package/src/reducers/arrayPop.ts +16 -0
- package/src/reducers/arrayPush.ts +20 -0
- package/src/reducers/arrayPushRaw.ts +18 -0
- package/src/reducers/arrayRemove.ts +22 -0
- package/src/reducers/arrayRemoveAll.ts +15 -0
- package/src/reducers/arrayShift.ts +15 -0
- package/src/reducers/arraySplice.ts +17 -0
- package/src/reducers/arraySpliceRaw.ts +30 -0
- package/src/reducers/arraySwap.ts +29 -0
- package/src/reducers/arrayUnshift.ts +16 -0
- package/src/reducers/arrayUnshiftRaw.ts +18 -0
- package/src/reducers/initialize.ts +47 -0
- package/src/reducers/removeHandlers.ts +21 -0
- package/src/reducers/setMeta.ts +26 -0
- package/src/reducers/setRawValue.ts +40 -0
- package/src/reducers/setSubmitStatus.ts +15 -0
- package/src/reducers/setValue.ts +49 -0
- package/src/reducers/submitSucceeded.ts +17 -0
- package/src/reducers/util/getInverseArrayElementSchema.ts +9 -0
- package/src/reducers/util/updateRawArray.ts +25 -0
- package/src/useArrayField.ts +161 -0
- package/src/useField.ts +152 -0
- package/src/useFormContext.ts +11 -0
- package/src/useFormDispatch.ts +13 -0
- package/src/useFormSelector.ts +9 -0
- package/src/useFormStatus.ts +14 -0
- package/src/useFormValues.ts +8 -0
- package/src/useHtmlField.ts +235 -0
- package/src/useInitialize.ts +14 -0
- package/src/useSubmit.ts +29 -0
- package/src/util/PathInSchema.ts +7 -0
- package/src/util/PathInType.ts +26 -0
- package/src/util/SchemaAt.ts +68 -0
- package/src/util/acceptsArray.ts +72 -0
- package/src/util/acceptsBigint.ts +71 -0
- package/src/util/acceptsNumber.ts +71 -0
- package/src/util/bindActionsToField.ts +22 -0
- package/src/util/get.ts +10 -0
- package/src/util/getArrayElementSchema.ts +74 -0
- package/src/util/maybeParse.ts +9 -0
- package/src/util/parsePathstring.ts +119 -0
- package/src/util/pathstring.ts +32 -0
- package/src/util/set.ts +25 -0
- package/src/util/setAdd.ts +6 -0
- package/src/util/setDelete.ts +6 -0
- package/useArrayField.d.ts +34 -0
- package/useArrayField.d.ts.map +1 -0
- package/useArrayField.js +99 -0
- package/useArrayField.js.map +1 -0
- package/useArrayField.mjs +75 -0
- package/useArrayField.mjs.map +1 -0
- package/useField.d.ts +34 -0
- package/useField.d.ts.map +1 -0
- package/useField.js +98 -0
- package/useField.js.map +1 -0
- package/useField.mjs +75 -0
- package/useField.mjs.map +1 -0
- package/useFormContext.d.ts +4 -0
- package/useFormContext.d.ts.map +1 -0
- package/useFormContext.js +17 -0
- package/useFormContext.js.map +1 -0
- package/useFormContext.mjs +10 -0
- package/useFormContext.mjs.map +1 -0
- package/useFormDispatch.d.ts +7 -0
- package/useFormDispatch.d.ts.map +1 -0
- package/useFormDispatch.js +10 -0
- package/useFormDispatch.js.map +1 -0
- package/useFormDispatch.mjs +4 -0
- package/useFormDispatch.mjs.map +1 -0
- package/useFormSelector.d.ts +6 -0
- package/useFormSelector.d.ts.map +1 -0
- package/useFormSelector.js +10 -0
- package/useFormSelector.js.map +1 -0
- package/useFormSelector.mjs +4 -0
- package/useFormSelector.mjs.map +1 -0
- package/useFormStatus.d.ts +13 -0
- package/useFormStatus.d.ts.map +1 -0
- package/useFormStatus.js +15 -0
- package/useFormStatus.js.map +1 -0
- package/useFormStatus.mjs +10 -0
- package/useFormStatus.mjs.map +1 -0
- package/useFormValues.d.ts +8 -0
- package/useFormValues.d.ts.map +1 -0
- package/useFormValues.js +14 -0
- package/useFormValues.js.map +1 -0
- package/useFormValues.mjs +9 -0
- package/useFormValues.mjs.map +1 -0
- package/useHtmlField.d.ts +41 -0
- package/useHtmlField.d.ts.map +1 -0
- package/useHtmlField.js +161 -0
- package/useHtmlField.js.map +1 -0
- package/useHtmlField.mjs +148 -0
- package/useHtmlField.mjs.map +1 -0
- package/useInitialize.d.ts +5 -0
- package/useInitialize.d.ts.map +1 -0
- package/useInitialize.js +18 -0
- package/useInitialize.js.map +1 -0
- package/useInitialize.mjs +11 -0
- package/useInitialize.mjs.map +1 -0
- package/useSubmit.d.ts +5 -0
- package/useSubmit.d.ts.map +1 -0
- package/useSubmit.js +53 -0
- package/useSubmit.js.map +1 -0
- package/useSubmit.mjs +39 -0
- package/useSubmit.mjs.map +1 -0
- package/util/PathInSchema.d.ts +5 -0
- package/util/PathInSchema.d.ts.map +1 -0
- package/util/PathInSchema.js +6 -0
- package/util/PathInSchema.js.map +1 -0
- package/util/PathInSchema.mjs +2 -0
- package/util/PathInSchema.mjs.map +1 -0
- package/util/PathInType.d.ts +11 -0
- package/util/PathInType.d.ts.map +1 -0
- package/util/PathInType.js +6 -0
- package/util/PathInType.js.map +1 -0
- package/util/PathInType.mjs +2 -0
- package/util/PathInType.mjs.map +1 -0
- package/util/SchemaAt.d.ts +5 -0
- package/util/SchemaAt.d.ts.map +1 -0
- package/util/SchemaAt.js +6 -0
- package/util/SchemaAt.js.map +1 -0
- package/util/SchemaAt.mjs +2 -0
- package/util/SchemaAt.mjs.map +1 -0
- package/util/acceptsArray.d.ts +3 -0
- package/util/acceptsArray.d.ts.map +1 -0
- package/util/acceptsArray.js +89 -0
- package/util/acceptsArray.js.map +1 -0
- package/util/acceptsArray.mjs +105 -0
- package/util/acceptsArray.mjs.map +1 -0
- package/util/acceptsBigint.d.ts +3 -0
- package/util/acceptsBigint.d.ts.map +1 -0
- package/util/acceptsBigint.js +88 -0
- package/util/acceptsBigint.js.map +1 -0
- package/util/acceptsBigint.mjs +104 -0
- package/util/acceptsBigint.mjs.map +1 -0
- package/util/acceptsNumber.d.ts +3 -0
- package/util/acceptsNumber.d.ts.map +1 -0
- package/util/acceptsNumber.js +88 -0
- package/util/acceptsNumber.js.map +1 -0
- package/util/acceptsNumber.mjs +104 -0
- package/util/acceptsNumber.mjs.map +1 -0
- package/util/bindActionsToField.d.ts +7 -0
- package/util/bindActionsToField.d.ts.map +1 -0
- package/util/bindActionsToField.js +22 -0
- package/util/bindActionsToField.js.map +1 -0
- package/util/bindActionsToField.mjs +4 -0
- package/util/bindActionsToField.mjs.map +1 -0
- package/util/get.d.ts +2 -0
- package/util/get.d.ts.map +1 -0
- package/util/get.js +12 -0
- package/util/get.js.map +1 -0
- package/util/get.mjs +4 -0
- package/util/get.mjs.map +1 -0
- package/util/getArrayElementSchema.d.ts +3 -0
- package/util/getArrayElementSchema.d.ts.map +1 -0
- package/util/getArrayElementSchema.js +87 -0
- package/util/getArrayElementSchema.js.map +1 -0
- package/util/getArrayElementSchema.mjs +102 -0
- package/util/getArrayElementSchema.mjs.map +1 -0
- package/util/maybeParse.d.ts +3 -0
- package/util/maybeParse.d.ts.map +1 -0
- package/util/maybeParse.js +11 -0
- package/util/maybeParse.js.map +1 -0
- package/util/maybeParse.mjs +5 -0
- package/util/maybeParse.mjs.map +1 -0
- package/util/parsePathstring.d.ts +40 -0
- package/util/parsePathstring.d.ts.map +1 -0
- package/util/parsePathstring.js +55 -0
- package/util/parsePathstring.js.map +1 -0
- package/util/parsePathstring.mjs +35 -0
- package/util/parsePathstring.mjs.map +1 -0
- package/util/pathstring.d.ts +13 -0
- package/util/pathstring.d.ts.map +1 -0
- package/util/pathstring.js +15 -0
- package/util/pathstring.js.map +1 -0
- package/util/pathstring.mjs +7 -0
- package/util/pathstring.mjs.map +1 -0
- package/util/set.d.ts +2 -0
- package/util/set.d.ts.map +1 -0
- package/util/set.js +33 -0
- package/util/set.js.map +1 -0
- package/util/set.mjs +23 -0
- package/util/set.mjs.map +1 -0
- package/util/setAdd.d.ts +2 -0
- package/util/setAdd.d.ts.map +1 -0
- package/util/setAdd.js +13 -0
- package/util/setAdd.js.map +1 -0
- package/util/setAdd.mjs +7 -0
- package/util/setAdd.mjs.map +1 -0
- package/util/setDelete.d.ts +2 -0
- package/util/setDelete.d.ts.map +1 -0
- package/util/setDelete.js +13 -0
- package/util/setDelete.js.map +1 -0
- package/util/setDelete.mjs +7 -0
- package/util/setDelete.mjs.map +1 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { initFormState } from "./initFormState.mjs";
|
|
2
|
+
import { addHandlersReducer } from "./reducers/addHandlers.mjs";
|
|
3
|
+
import { removeHandlersReducer } from "./reducers/removeHandlers.mjs";
|
|
4
|
+
import { createSetValueReducer } from "./reducers/setValue.mjs";
|
|
5
|
+
import { createSetRawValueReducer } from "./reducers/setRawValue.mjs";
|
|
6
|
+
import { setMetaReducer } from "./reducers/setMeta.mjs";
|
|
7
|
+
import { submitSucceededReducer } from "./reducers/submitSucceeded.mjs";
|
|
8
|
+
import { setSubmitStatusReducer } from "./reducers/setSubmitStatus.mjs";
|
|
9
|
+
import { createInitializeReducer } from "./reducers/initialize.mjs";
|
|
10
|
+
import { arrayPopReducer } from "./reducers/arrayPop.mjs";
|
|
11
|
+
import { arrayMoveReducer } from "./reducers/arrayMove.mjs";
|
|
12
|
+
import { arrayRemoveReducer } from "./reducers/arrayRemove.mjs";
|
|
13
|
+
import { arrayRemoveAllReducer } from "./reducers/arrayRemoveAll.mjs";
|
|
14
|
+
import { arrayShiftReducer } from "./reducers/arrayShift.mjs";
|
|
15
|
+
import { arraySwapReducer } from "./reducers/arraySwap.mjs";
|
|
16
|
+
import { arrayPushRawReducer } from "./reducers/arrayPushRaw.mjs";
|
|
17
|
+
import { arrayInsertRawReducer } from "./reducers/arrayInsertRaw.mjs";
|
|
18
|
+
import { arraySpliceRawReducer } from "./reducers/arraySpliceRaw.mjs";
|
|
19
|
+
import { arrayUnshiftRawReducer } from "./reducers/arrayUnshiftRaw.mjs";
|
|
20
|
+
import { arrayPushReducer } from "./reducers/arrayPush.mjs";
|
|
21
|
+
import { arrayUnshiftReducer } from "./reducers/arrayUnshift.mjs";
|
|
22
|
+
import { arrayInsertReducer } from "./reducers/arrayInsert.mjs";
|
|
23
|
+
import { arraySpliceReducer } from "./reducers/arraySplice.mjs";
|
|
24
|
+
export function createFormReducer(options) {
|
|
25
|
+
const initializeReducer = createInitializeReducer(options);
|
|
26
|
+
const setValueReducer = createSetValueReducer(options);
|
|
27
|
+
const setRawValueReducer = createSetRawValueReducer(options);
|
|
28
|
+
const formReducer = (state = initFormState(), action) => {
|
|
29
|
+
switch (action.type) {
|
|
30
|
+
case 'setMounted':
|
|
31
|
+
return {
|
|
32
|
+
...state,
|
|
33
|
+
mounted: action.mounted
|
|
34
|
+
};
|
|
35
|
+
case 'addHandlers':
|
|
36
|
+
return addHandlersReducer(state, action);
|
|
37
|
+
case 'removeHandlers':
|
|
38
|
+
return removeHandlersReducer(state, action);
|
|
39
|
+
case 'initialize':
|
|
40
|
+
return initializeReducer(state, action);
|
|
41
|
+
case 'setSubmitStatus':
|
|
42
|
+
return setSubmitStatusReducer(state, action);
|
|
43
|
+
case 'submitSucceeded':
|
|
44
|
+
return submitSucceededReducer(state);
|
|
45
|
+
case 'setValue':
|
|
46
|
+
return setValueReducer(state, action);
|
|
47
|
+
case 'setRawValue':
|
|
48
|
+
return setRawValueReducer(state, action);
|
|
49
|
+
case 'setMeta':
|
|
50
|
+
return setMetaReducer(state, action);
|
|
51
|
+
case 'arrayInsert':
|
|
52
|
+
return arrayInsertReducer(formReducer, state, action);
|
|
53
|
+
case 'arrayInsertRaw':
|
|
54
|
+
return arrayInsertRawReducer(formReducer, state, action);
|
|
55
|
+
case 'arrayMove':
|
|
56
|
+
return arrayMoveReducer(formReducer, state, action);
|
|
57
|
+
case 'arrayPop':
|
|
58
|
+
return arrayPopReducer(formReducer, state, action);
|
|
59
|
+
case 'arrayPush':
|
|
60
|
+
return arrayPushReducer(formReducer, state, action);
|
|
61
|
+
case 'arrayPushRaw':
|
|
62
|
+
return arrayPushRawReducer(formReducer, state, action);
|
|
63
|
+
case 'arrayRemove':
|
|
64
|
+
return arrayRemoveReducer(formReducer, state, action);
|
|
65
|
+
case 'arrayRemoveAll':
|
|
66
|
+
return arrayRemoveAllReducer(formReducer, state, action);
|
|
67
|
+
case 'arrayShift':
|
|
68
|
+
return arrayShiftReducer(formReducer, state, action);
|
|
69
|
+
case 'arraySplice':
|
|
70
|
+
return arraySpliceReducer(formReducer, state, action);
|
|
71
|
+
case 'arraySpliceRaw':
|
|
72
|
+
return arraySpliceRawReducer(formReducer, state, action);
|
|
73
|
+
case 'arraySwap':
|
|
74
|
+
return arraySwapReducer(formReducer, state, action);
|
|
75
|
+
case 'arrayUnshift':
|
|
76
|
+
return arrayUnshiftReducer(formReducer, state, action);
|
|
77
|
+
case 'arrayUnshiftRaw':
|
|
78
|
+
return arrayUnshiftRawReducer(formReducer, state, action);
|
|
79
|
+
}
|
|
80
|
+
return state;
|
|
81
|
+
};
|
|
82
|
+
return formReducer;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=createFormReducer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFormReducer.mjs","names":["initFormState","addHandlersReducer","removeHandlersReducer","createSetValueReducer","createSetRawValueReducer","setMetaReducer","submitSucceededReducer","setSubmitStatusReducer","createInitializeReducer","arrayPopReducer","arrayMoveReducer","arrayRemoveReducer","arrayRemoveAllReducer","arrayShiftReducer","arraySwapReducer","arrayPushRawReducer","arrayInsertRawReducer","arraySpliceRawReducer","arrayUnshiftRawReducer","arrayPushReducer","arrayUnshiftReducer","arrayInsertReducer","arraySpliceReducer","createFormReducer","options","initializeReducer","setValueReducer","setRawValueReducer","formReducer","state","action","type","mounted"],"sources":["src/createFormReducer.ts"],"sourcesContent":["import { Reducer } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { initFormState } from './initFormState'\nimport { addHandlersReducer } from './reducers/addHandlers'\nimport { removeHandlersReducer } from './reducers/removeHandlers'\nimport { createSetValueReducer } from './reducers/setValue'\nimport { createSetRawValueReducer } from './reducers/setRawValue'\nimport { setMetaReducer } from './reducers/setMeta'\nimport { submitSucceededReducer } from './reducers/submitSucceeded'\nimport { setSubmitStatusReducer } from './reducers/setSubmitStatus'\nimport { createInitializeReducer } from './reducers/initialize'\nimport { arrayPopReducer } from './reducers/arrayPop'\nimport { arrayMoveReducer } from './reducers/arrayMove'\nimport { arrayRemoveReducer } from './reducers/arrayRemove'\nimport { arrayRemoveAllReducer } from './reducers/arrayRemoveAll'\nimport { arrayShiftReducer } from './reducers/arrayShift'\nimport { arraySwapReducer } from './reducers/arraySwap'\nimport { arrayPushRawReducer } from './reducers/arrayPushRaw'\nimport { arrayInsertRawReducer } from './reducers/arrayInsertRaw'\nimport { arraySpliceRawReducer } from './reducers/arraySpliceRaw'\nimport { arrayUnshiftRawReducer } from './reducers/arrayUnshiftRaw'\nimport { arrayPushReducer } from './reducers/arrayPush'\nimport { arrayUnshiftReducer } from './reducers/arrayUnshift'\nimport { arrayInsertReducer } from './reducers/arrayInsert'\nimport { arraySpliceReducer } from './reducers/arraySplice'\n\nexport function createFormReducer<T extends z.ZodTypeAny>(options: {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n}): Reducer<FormState<T>, FormAction<T>> {\n const initializeReducer = createInitializeReducer(options)\n const setValueReducer = createSetValueReducer(options)\n const setRawValueReducer = createSetRawValueReducer(options)\n const formReducer = (\n state: FormState<T> = initFormState(),\n action: FormAction<T>\n ): FormState<T> => {\n switch (action.type) {\n case 'setMounted':\n return { ...state, mounted: action.mounted }\n case 'addHandlers':\n return addHandlersReducer(state, action)\n case 'removeHandlers':\n return removeHandlersReducer(state, action)\n case 'initialize':\n return initializeReducer(state, action)\n case 'setSubmitStatus':\n return setSubmitStatusReducer(state, action)\n case 'submitSucceeded':\n return submitSucceededReducer(state)\n case 'setValue':\n return setValueReducer(state, action)\n case 'setRawValue':\n return setRawValueReducer(state, action)\n case 'setMeta':\n return setMetaReducer(state, action)\n case 'arrayInsert':\n return arrayInsertReducer(formReducer, state, action)\n case 'arrayInsertRaw':\n return arrayInsertRawReducer(formReducer, state, action)\n case 'arrayMove':\n return arrayMoveReducer(formReducer, state, action)\n case 'arrayPop':\n return arrayPopReducer(formReducer, state, action)\n case 'arrayPush':\n return arrayPushReducer(formReducer, state, action)\n case 'arrayPushRaw':\n return arrayPushRawReducer(formReducer, state, action)\n case 'arrayRemove':\n return arrayRemoveReducer(formReducer, state, action)\n case 'arrayRemoveAll':\n return arrayRemoveAllReducer(formReducer, state, action)\n case 'arrayShift':\n return arrayShiftReducer(formReducer, state, action)\n case 'arraySplice':\n return arraySpliceReducer(formReducer, state, action)\n case 'arraySpliceRaw':\n return arraySpliceRawReducer(formReducer, state, action)\n case 'arraySwap':\n return arraySwapReducer(formReducer, state, action)\n case 'arrayUnshift':\n return arrayUnshiftReducer(formReducer, state, action)\n case 'arrayUnshiftRaw':\n return arrayUnshiftRawReducer(formReducer, state, action)\n }\n return state\n }\n return formReducer\n}\n"],"mappings":"AAIA,SAASA,aAAa;AACtB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,wBAAwB;AACjC,SAASC,cAAc;AACvB,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,eAAe;AACxB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAE3B,OAAO,SAASC,iBAAiBA,CAAyBC,OAGzD,EAAwC;EACvC,MAAMC,iBAAiB,GAAGjB,uBAAuB,CAACgB,OAAO,CAAC;EAC1D,MAAME,eAAe,GAAGvB,qBAAqB,CAACqB,OAAO,CAAC;EACtD,MAAMG,kBAAkB,GAAGvB,wBAAwB,CAACoB,OAAO,CAAC;EAC5D,MAAMI,WAAW,GAAGA,CAClBC,KAAmB,GAAG7B,aAAa,CAAC,CAAC,EACrC8B,MAAqB,KACJ;IACjB,QAAQA,MAAM,CAACC,IAAI;MACjB,KAAK,YAAY;QACf,OAAO;UAAE,GAAGF,KAAK;UAAEG,OAAO,EAAEF,MAAM,CAACE;QAAQ,CAAC;MAC9C,KAAK,aAAa;QAChB,OAAO/B,kBAAkB,CAAC4B,KAAK,EAAEC,MAAM,CAAC;MAC1C,KAAK,gBAAgB;QACnB,OAAO5B,qBAAqB,CAAC2B,KAAK,EAAEC,MAAM,CAAC;MAC7C,KAAK,YAAY;QACf,OAAOL,iBAAiB,CAACI,KAAK,EAAEC,MAAM,CAAC;MACzC,KAAK,iBAAiB;QACpB,OAAOvB,sBAAsB,CAACsB,KAAK,EAAEC,MAAM,CAAC;MAC9C,KAAK,iBAAiB;QACpB,OAAOxB,sBAAsB,CAACuB,KAAK,CAAC;MACtC,KAAK,UAAU;QACb,OAAOH,eAAe,CAACG,KAAK,EAAEC,MAAM,CAAC;MACvC,KAAK,aAAa;QAChB,OAAOH,kBAAkB,CAACE,KAAK,EAAEC,MAAM,CAAC;MAC1C,KAAK,SAAS;QACZ,OAAOzB,cAAc,CAACwB,KAAK,EAAEC,MAAM,CAAC;MACtC,KAAK,aAAa;QAChB,OAAOT,kBAAkB,CAACO,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOd,qBAAqB,CAACY,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,WAAW;QACd,OAAOpB,gBAAgB,CAACkB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,UAAU;QACb,OAAOrB,eAAe,CAACmB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACpD,KAAK,WAAW;QACd,OAAOX,gBAAgB,CAACS,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,cAAc;QACjB,OAAOf,mBAAmB,CAACa,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACxD,KAAK,aAAa;QAChB,OAAOnB,kBAAkB,CAACiB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOlB,qBAAqB,CAACgB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,YAAY;QACf,OAAOjB,iBAAiB,CAACe,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACtD,KAAK,aAAa;QAChB,OAAOR,kBAAkB,CAACM,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOb,qBAAqB,CAACW,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,WAAW;QACd,OAAOhB,gBAAgB,CAACc,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,cAAc;QACjB,OAAOV,mBAAmB,CAACQ,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACxD,KAAK,iBAAiB;QACpB,OAAOZ,sBAAsB,CAACU,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;IAC7D;IACA,OAAOD,KAAK;EACd,CAAC;EACD,OAAOD,WAAW;AACpB","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FormState } from './FormState';
|
|
2
|
+
export type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>;
|
|
3
|
+
export declare function createSelectFieldErrorMap(): ((state: FormState<any>) => {
|
|
4
|
+
[x: string]: string | undefined;
|
|
5
|
+
}) & {
|
|
6
|
+
clearCache: () => void;
|
|
7
|
+
resultsCount: () => number;
|
|
8
|
+
resetResultsCount: () => void;
|
|
9
|
+
} & {
|
|
10
|
+
resultFunc: (resultFuncArgs_0: any, resultFuncArgs_1: Error | undefined) => {
|
|
11
|
+
[x: string]: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
memoizedResultFunc: ((resultFuncArgs_0: any, resultFuncArgs_1: Error | undefined) => {
|
|
14
|
+
[x: string]: string | undefined;
|
|
15
|
+
}) & {
|
|
16
|
+
clearCache: () => void;
|
|
17
|
+
resultsCount: () => number;
|
|
18
|
+
resetResultsCount: () => void;
|
|
19
|
+
};
|
|
20
|
+
lastResult: () => {
|
|
21
|
+
[x: string]: string | undefined;
|
|
22
|
+
};
|
|
23
|
+
dependencies: [(state: FormState<any>) => any, (state: FormState<any>) => Error | undefined];
|
|
24
|
+
recomputations: () => number;
|
|
25
|
+
resetRecomputations: () => void;
|
|
26
|
+
dependencyRecomputations: () => number;
|
|
27
|
+
resetDependencyRecomputations: () => void;
|
|
28
|
+
} & {
|
|
29
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
30
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=createSelectFieldErrorMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFieldErrorMap.d.ts","sourceRoot":"","sources":["src/createSelectFieldErrorMap.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE9E,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;2BAG3B,SAAS,CAAC,GAAG,CAAC,kBACd,SAAS,CAAC,GAAG,CAAC;;;;;;;;EAc3B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSelectFieldErrorMap = createSelectFieldErrorMap;
|
|
7
|
+
var _pathstring = require("./util/pathstring.js");
|
|
8
|
+
var _reselect = require("reselect");
|
|
9
|
+
function createSelectFieldErrorMap() {
|
|
10
|
+
return (0, _reselect.createSelector)([function (state) {
|
|
11
|
+
return state.validationError;
|
|
12
|
+
}, function (state) {
|
|
13
|
+
return state.submitError;
|
|
14
|
+
}], function () {
|
|
15
|
+
for (var _len = arguments.length, errors = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
16
|
+
errors[_key] = arguments[_key];
|
|
17
|
+
}
|
|
18
|
+
return Object.fromEntries(errors.flatMap(function (e) {
|
|
19
|
+
return isZodError(e) ? e.issues.map(function (issue) {
|
|
20
|
+
return [(0, _pathstring.pathstring)(issue.path), messageForIssue(issue)];
|
|
21
|
+
}) : [];
|
|
22
|
+
}));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function isZodError(error) {
|
|
26
|
+
return error && error.name === 'ZodError';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Gets less confusing error messages for ordinary users for certain ZodIssues
|
|
31
|
+
*/
|
|
32
|
+
function messageForIssue(issue) {
|
|
33
|
+
if (issue.code === 'invalid_type') {
|
|
34
|
+
return issue.received === 'null' || issue.received === 'undefined' ?
|
|
35
|
+
// Without this, the error would say "Expected <type>, received null"
|
|
36
|
+
// or "Invalid number" as below
|
|
37
|
+
'Required' : issue.expected === 'number' || issue.expected === 'bigint' ?
|
|
38
|
+
// Without this, invalid text input for z.number() would say "Expected number, received string"
|
|
39
|
+
'Invalid number' : issue.message;
|
|
40
|
+
}
|
|
41
|
+
return issue.message;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=createSelectFieldErrorMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFieldErrorMap.js","names":["_pathstring","require","_reselect","createSelectFieldErrorMap","createSelector","state","validationError","submitError","_len","arguments","length","errors","Array","_key","Object","fromEntries","flatMap","e","isZodError","issues","map","issue","pathstring","path","messageForIssue","error","name","code","received","expected","message"],"sources":["src/createSelectFieldErrorMap.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { createSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>\n\nexport function createSelectFieldErrorMap() {\n return createSelector(\n [\n (state: FormState<any>) => state.validationError,\n (state: FormState<any>) => state.submitError,\n ],\n (...errors: any[]): { [K in string]?: string } =>\n Object.fromEntries(\n errors.flatMap((e) =>\n isZodError(e)\n ? e.issues.map((issue) => [\n pathstring(issue.path),\n messageForIssue(issue),\n ])\n : []\n )\n )\n )\n}\n\nfunction isZodError(error: any): error is z.ZodError {\n return error && error.name === 'ZodError'\n}\n\n/**\n * Gets less confusing error messages for ordinary users for certain ZodIssues\n */\nfunction messageForIssue(issue: z.ZodIssue): string {\n if (issue.code === 'invalid_type') {\n return issue.received === 'null' || issue.received === 'undefined'\n ? // Without this, the error would say \"Expected <type>, received null\"\n // or \"Invalid number\" as below\n 'Required'\n : issue.expected === 'number' || issue.expected === 'bigint'\n ? // Without this, invalid text input for z.number() would say \"Expected number, received string\"\n 'Invalid number'\n : issue.message\n }\n return issue.message\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKO,SAASE,yBAAyBA,CAAA,EAAG;EAC1C,OAAO,IAAAC,wBAAc,EACnB,CACE,UAACC,KAAqB;IAAA,OAAKA,KAAK,CAACC,eAAe;EAAA,GAChD,UAACD,KAAqB;IAAA,OAAKA,KAAK,CAACE,WAAW;EAAA,EAC7C,EACD;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,MAAM,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAANF,MAAM,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,OACRC,MAAM,CAACC,WAAW,CAChBJ,MAAM,CAACK,OAAO,CAAC,UAACC,CAAC;MAAA,OACfC,UAAU,CAACD,CAAC,CAAC,GACTA,CAAC,CAACE,MAAM,CAACC,GAAG,CAAC,UAACC,KAAK;QAAA,OAAK,CACtB,IAAAC,sBAAU,EAACD,KAAK,CAACE,IAAI,CAAC,EACtBC,eAAe,CAACH,KAAK,CAAC,CACvB;MAAA,EAAC,GACF,EAAE;IAAA,CACR,CACF,CAAC;EAAA,CACL,CAAC;AACH;AAEA,SAASH,UAAUA,CAACO,KAAU,EAAuB;EACnD,OAAOA,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,UAAU;AAC3C;;AAEA;AACA;AACA;AACA,SAASF,eAAeA,CAACH,KAAiB,EAAU;EAClD,IAAIA,KAAK,CAACM,IAAI,KAAK,cAAc,EAAE;IACjC,OAAON,KAAK,CAACO,QAAQ,KAAK,MAAM,IAAIP,KAAK,CAACO,QAAQ,KAAK,WAAW;IAC9D;IACA;IACA,UAAU,GACVP,KAAK,CAACQ,QAAQ,KAAK,QAAQ,IAAIR,KAAK,CAACQ,QAAQ,KAAK,QAAQ;IAC1D;IACA,gBAAgB,GAChBR,KAAK,CAACS,OAAO;EACnB;EACA,OAAOT,KAAK,CAACS,OAAO;AACtB","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { pathstring } from "./util/pathstring.mjs";
|
|
2
|
+
import { createSelector } from 'reselect';
|
|
3
|
+
export function createSelectFieldErrorMap() {
|
|
4
|
+
return createSelector([state => state.validationError, state => state.submitError], (...errors) => Object.fromEntries(errors.flatMap(e => isZodError(e) ? e.issues.map(issue => [pathstring(issue.path), messageForIssue(issue)]) : [])));
|
|
5
|
+
}
|
|
6
|
+
function isZodError(error) {
|
|
7
|
+
return error && error.name === 'ZodError';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Gets less confusing error messages for ordinary users for certain ZodIssues
|
|
12
|
+
*/
|
|
13
|
+
function messageForIssue(issue) {
|
|
14
|
+
if (issue.code === 'invalid_type') {
|
|
15
|
+
return issue.received === 'null' || issue.received === 'undefined' ?
|
|
16
|
+
// Without this, the error would say "Expected <type>, received null"
|
|
17
|
+
// or "Invalid number" as below
|
|
18
|
+
'Required' : issue.expected === 'number' || issue.expected === 'bigint' ?
|
|
19
|
+
// Without this, invalid text input for z.number() would say "Expected number, received string"
|
|
20
|
+
'Invalid number' : issue.message;
|
|
21
|
+
}
|
|
22
|
+
return issue.message;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=createSelectFieldErrorMap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFieldErrorMap.mjs","names":["pathstring","createSelector","createSelectFieldErrorMap","state","validationError","submitError","errors","Object","fromEntries","flatMap","e","isZodError","issues","map","issue","path","messageForIssue","error","name","code","received","expected","message"],"sources":["src/createSelectFieldErrorMap.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { createSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>\n\nexport function createSelectFieldErrorMap() {\n return createSelector(\n [\n (state: FormState<any>) => state.validationError,\n (state: FormState<any>) => state.submitError,\n ],\n (...errors: any[]): { [K in string]?: string } =>\n Object.fromEntries(\n errors.flatMap((e) =>\n isZodError(e)\n ? e.issues.map((issue) => [\n pathstring(issue.path),\n messageForIssue(issue),\n ])\n : []\n )\n )\n )\n}\n\nfunction isZodError(error: any): error is z.ZodError {\n return error && error.name === 'ZodError'\n}\n\n/**\n * Gets less confusing error messages for ordinary users for certain ZodIssues\n */\nfunction messageForIssue(issue: z.ZodIssue): string {\n if (issue.code === 'invalid_type') {\n return issue.received === 'null' || issue.received === 'undefined'\n ? // Without this, the error would say \"Expected <type>, received null\"\n // or \"Invalid number\" as below\n 'Required'\n : issue.expected === 'number' || issue.expected === 'bigint'\n ? // Without this, invalid text input for z.number() would say \"Expected number, received string\"\n 'Invalid number'\n : issue.message\n }\n return issue.message\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,cAAc,QAAQ,UAAU;AAKzC,OAAO,SAASC,yBAAyBA,CAAA,EAAG;EAC1C,OAAOD,cAAc,CACnB,CACGE,KAAqB,IAAKA,KAAK,CAACC,eAAe,EAC/CD,KAAqB,IAAKA,KAAK,CAACE,WAAW,CAC7C,EACD,CAAC,GAAGC,MAAa,KACfC,MAAM,CAACC,WAAW,CAChBF,MAAM,CAACG,OAAO,CAAEC,CAAC,IACfC,UAAU,CAACD,CAAC,CAAC,GACTA,CAAC,CAACE,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAK,CACtBd,UAAU,CAACc,KAAK,CAACC,IAAI,CAAC,EACtBC,eAAe,CAACF,KAAK,CAAC,CACvB,CAAC,GACF,EACN,CACF,CACJ,CAAC;AACH;AAEA,SAASH,UAAUA,CAACM,KAAU,EAAuB;EACnD,OAAOA,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,UAAU;AAC3C;;AAEA;AACA;AACA;AACA,SAASF,eAAeA,CAACF,KAAiB,EAAU;EAClD,IAAIA,KAAK,CAACK,IAAI,KAAK,cAAc,EAAE;IACjC,OAAOL,KAAK,CAACM,QAAQ,KAAK,MAAM,IAAIN,KAAK,CAACM,QAAQ,KAAK,WAAW;IAC9D;IACA;IACA,UAAU,GACVN,KAAK,CAACO,QAAQ,KAAK,QAAQ,IAAIP,KAAK,CAACO,QAAQ,KAAK,QAAQ;IAC1D;IACA,gBAAgB,GAChBP,KAAK,CAACQ,OAAO;EACnB;EACA,OAAOR,KAAK,CAACQ,OAAO;AACtB","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { FormState } from './FormState';
|
|
2
|
+
export type SelectFormStatus = ReturnType<typeof createSelectFormStatus>;
|
|
3
|
+
export type FormStatus = ReturnType<SelectFormStatus>;
|
|
4
|
+
export declare function createSelectFormStatus(): ((state: FormState<any>) => {
|
|
5
|
+
initialized: boolean;
|
|
6
|
+
submitting: boolean;
|
|
7
|
+
submitSucceeded: boolean;
|
|
8
|
+
submitFailed: boolean;
|
|
9
|
+
submitError: Error | undefined;
|
|
10
|
+
validationError: any;
|
|
11
|
+
valid: boolean;
|
|
12
|
+
invalid: boolean;
|
|
13
|
+
pristine: boolean;
|
|
14
|
+
dirty: boolean;
|
|
15
|
+
}) & {
|
|
16
|
+
clearCache: () => void;
|
|
17
|
+
resultsCount: () => number;
|
|
18
|
+
resetResultsCount: () => void;
|
|
19
|
+
} & {
|
|
20
|
+
resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: boolean, resultFuncArgs_3: boolean, resultFuncArgs_4: Error | undefined, resultFuncArgs_5: boolean, resultFuncArgs_6: boolean, resultFuncArgs_7: any, resultFuncArgs_8: boolean, resultFuncArgs_9: boolean) => {
|
|
21
|
+
initialized: boolean;
|
|
22
|
+
submitting: boolean;
|
|
23
|
+
submitSucceeded: boolean;
|
|
24
|
+
submitFailed: boolean;
|
|
25
|
+
submitError: Error | undefined;
|
|
26
|
+
validationError: any;
|
|
27
|
+
valid: boolean;
|
|
28
|
+
invalid: boolean;
|
|
29
|
+
pristine: boolean;
|
|
30
|
+
dirty: boolean;
|
|
31
|
+
};
|
|
32
|
+
memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: boolean, resultFuncArgs_3: boolean, resultFuncArgs_4: Error | undefined, resultFuncArgs_5: boolean, resultFuncArgs_6: boolean, resultFuncArgs_7: any, resultFuncArgs_8: boolean, resultFuncArgs_9: boolean) => {
|
|
33
|
+
initialized: boolean;
|
|
34
|
+
submitting: boolean;
|
|
35
|
+
submitSucceeded: boolean;
|
|
36
|
+
submitFailed: boolean;
|
|
37
|
+
submitError: Error | undefined;
|
|
38
|
+
validationError: any;
|
|
39
|
+
valid: boolean;
|
|
40
|
+
invalid: boolean;
|
|
41
|
+
pristine: boolean;
|
|
42
|
+
dirty: boolean;
|
|
43
|
+
}) & {
|
|
44
|
+
clearCache: () => void;
|
|
45
|
+
resultsCount: () => number;
|
|
46
|
+
resetResultsCount: () => void;
|
|
47
|
+
};
|
|
48
|
+
lastResult: () => {
|
|
49
|
+
initialized: boolean;
|
|
50
|
+
submitting: boolean;
|
|
51
|
+
submitSucceeded: boolean;
|
|
52
|
+
submitFailed: boolean;
|
|
53
|
+
submitError: Error | undefined;
|
|
54
|
+
validationError: any;
|
|
55
|
+
valid: boolean;
|
|
56
|
+
invalid: boolean;
|
|
57
|
+
pristine: boolean;
|
|
58
|
+
dirty: boolean;
|
|
59
|
+
};
|
|
60
|
+
dependencies: [(state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => Error | undefined, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, ({ validationError }: FormState<any>) => any, (state: FormState<any>) => boolean, ((state: FormState<any>) => boolean) & {
|
|
61
|
+
clearCache: () => void;
|
|
62
|
+
resultsCount: () => number;
|
|
63
|
+
resetResultsCount: () => void;
|
|
64
|
+
} & {
|
|
65
|
+
resultFunc: (resultFuncArgs_0: any, resultFuncArgs_1: any) => boolean;
|
|
66
|
+
memoizedResultFunc: ((resultFuncArgs_0: any, resultFuncArgs_1: any) => boolean) & {
|
|
67
|
+
clearCache: () => void;
|
|
68
|
+
resultsCount: () => number;
|
|
69
|
+
resetResultsCount: () => void;
|
|
70
|
+
};
|
|
71
|
+
lastResult: () => boolean;
|
|
72
|
+
dependencies: [(state: FormState<any>) => any, (state: FormState<any>) => any];
|
|
73
|
+
recomputations: () => number;
|
|
74
|
+
resetRecomputations: () => void;
|
|
75
|
+
dependencyRecomputations: () => number;
|
|
76
|
+
resetDependencyRecomputations: () => void;
|
|
77
|
+
} & {
|
|
78
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
79
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
80
|
+
}];
|
|
81
|
+
recomputations: () => number;
|
|
82
|
+
resetRecomputations: () => void;
|
|
83
|
+
dependencyRecomputations: () => number;
|
|
84
|
+
resetDependencyRecomputations: () => void;
|
|
85
|
+
} & {
|
|
86
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
87
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=createSelectFormStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormStatus.d.ts","sourceRoot":"","sources":["src/createSelectFormStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACxE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAErD,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BnB,SAAS,CAAC,GAAG,CAAC,sBAGd,SAAS,CAAC,GAAG,CAAC,sBAPJ,SAAS,CAAC,GAAG,CAAC,sBADnB,SAAS,CAAC,GAAG,CAAC,sBAGb,SAAS,CAAC,GAAG,CAAC,gCADb,SAAS,CAAC,GAAG,CAAC,sBAHf,SAAS,CAAC,GAAG,CAAC,oCAnBe,SAAS,CAAC,GAAG,CAAC,kBA0B/C,SAAS,CAAC,GAAG,CAAC;;;;;;;;;;;;+BAdrB,SAAS,CAAC,GAAG,CAAC,kBACd,SAAS,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;EAiB3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createSelectFormStatus = createSelectFormStatus;
|
|
8
|
+
var _reselect = require("reselect");
|
|
9
|
+
var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
|
|
10
|
+
function createSelectFormStatus() {
|
|
11
|
+
var lastValidationError = undefined;
|
|
12
|
+
function selectValidationError(_ref) {
|
|
13
|
+
var _lastValidationError;
|
|
14
|
+
var validationError = _ref.validationError;
|
|
15
|
+
if (validationError === lastValidationError || (0, _fastDeepEqual["default"])(validationError === null || validationError === void 0 ? void 0 : validationError.issues, (_lastValidationError = lastValidationError) === null || _lastValidationError === void 0 ? void 0 : _lastValidationError.issues)) {
|
|
16
|
+
return lastValidationError;
|
|
17
|
+
}
|
|
18
|
+
return lastValidationError = validationError;
|
|
19
|
+
}
|
|
20
|
+
var selectPristine = (0, _reselect.createSelector)([function (state) {
|
|
21
|
+
return state.values;
|
|
22
|
+
}, function (state) {
|
|
23
|
+
return state.initialValues;
|
|
24
|
+
}], _fastDeepEqual["default"]);
|
|
25
|
+
return (0, _reselect.createStructuredSelector)({
|
|
26
|
+
initialized: function initialized(state) {
|
|
27
|
+
return state.initialized;
|
|
28
|
+
},
|
|
29
|
+
submitting: function submitting(state) {
|
|
30
|
+
return state.submitting;
|
|
31
|
+
},
|
|
32
|
+
submitSucceeded: function submitSucceeded(state) {
|
|
33
|
+
return state.submitSucceeded;
|
|
34
|
+
},
|
|
35
|
+
submitFailed: function submitFailed(state) {
|
|
36
|
+
return state.submitFailed;
|
|
37
|
+
},
|
|
38
|
+
submitError: function submitError(state) {
|
|
39
|
+
return state.submitError;
|
|
40
|
+
},
|
|
41
|
+
validationError: selectValidationError,
|
|
42
|
+
valid: function valid(state) {
|
|
43
|
+
return selectValidationError(state) == null;
|
|
44
|
+
},
|
|
45
|
+
invalid: function invalid(state) {
|
|
46
|
+
return selectValidationError(state) != null;
|
|
47
|
+
},
|
|
48
|
+
pristine: selectPristine,
|
|
49
|
+
dirty: function dirty(state) {
|
|
50
|
+
return !selectPristine(state);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=createSelectFormStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormStatus.js","names":["_reselect","require","_fastDeepEqual","_interopRequireDefault","createSelectFormStatus","lastValidationError","undefined","selectValidationError","_ref","_lastValidationError","validationError","isEqual","issues","selectPristine","createSelector","state","values","initialValues","createStructuredSelector","initialized","submitting","submitSucceeded","submitFailed","submitError","valid","invalid","pristine","dirty"],"sources":["src/createSelectFormStatus.ts"],"sourcesContent":["import { createSelector, createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\nimport isEqual from 'fast-deep-equal'\n\nexport type SelectFormStatus = ReturnType<typeof createSelectFormStatus>\nexport type FormStatus = ReturnType<SelectFormStatus>\n\nexport function createSelectFormStatus() {\n let lastValidationError: FormState<any>['validationError'] = undefined\n\n function selectValidationError({ validationError }: FormState<any>) {\n if (\n validationError === lastValidationError ||\n isEqual(validationError?.issues, lastValidationError?.issues)\n ) {\n return lastValidationError\n }\n return (lastValidationError = validationError)\n }\n\n const selectPristine = createSelector(\n [\n (state: FormState<any>) => state.values,\n (state: FormState<any>) => state.initialValues,\n ],\n isEqual\n )\n\n return createStructuredSelector({\n initialized: (state: FormState<any>) => state.initialized,\n submitting: (state: FormState<any>) => state.submitting,\n submitSucceeded: (state: FormState<any>) => state.submitSucceeded,\n submitFailed: (state: FormState<any>) => state.submitFailed,\n submitError: (state: FormState<any>) => state.submitError,\n validationError: selectValidationError,\n valid: (state: FormState<any>) => selectValidationError(state) == null,\n invalid: (state: FormState<any>) => selectValidationError(state) != null,\n pristine: selectPristine,\n dirty: (state: FormState<any>) => !selectPristine(state),\n })\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKO,SAASG,sBAAsBA,CAAA,EAAG;EACvC,IAAIC,mBAAsD,GAAGC,SAAS;EAEtE,SAASC,qBAAqBA,CAAAC,IAAA,EAAsC;IAAA,IAAAC,oBAAA;IAAA,IAAnCC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAC9C,IACEA,eAAe,KAAKL,mBAAmB,IACvC,IAAAM,yBAAO,EAACD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,MAAM,GAAAH,oBAAA,GAAEJ,mBAAmB,cAAAI,oBAAA,uBAAnBA,oBAAA,CAAqBG,MAAM,CAAC,EAC7D;MACA,OAAOP,mBAAmB;IAC5B;IACA,OAAQA,mBAAmB,GAAGK,eAAe;EAC/C;EAEA,IAAMG,cAAc,GAAG,IAAAC,wBAAc,EACnC,CACE,UAACC,KAAqB;IAAA,OAAKA,KAAK,CAACC,MAAM;EAAA,GACvC,UAACD,KAAqB;IAAA,OAAKA,KAAK,CAACE,aAAa;EAAA,EAC/C,EACDN,yBACF,CAAC;EAED,OAAO,IAAAO,kCAAwB,EAAC;IAC9BC,WAAW,EAAE,SAAAA,YAACJ,KAAqB;MAAA,OAAKA,KAAK,CAACI,WAAW;IAAA;IACzDC,UAAU,EAAE,SAAAA,WAACL,KAAqB;MAAA,OAAKA,KAAK,CAACK,UAAU;IAAA;IACvDC,eAAe,EAAE,SAAAA,gBAACN,KAAqB;MAAA,OAAKA,KAAK,CAACM,eAAe;IAAA;IACjEC,YAAY,EAAE,SAAAA,aAACP,KAAqB;MAAA,OAAKA,KAAK,CAACO,YAAY;IAAA;IAC3DC,WAAW,EAAE,SAAAA,YAACR,KAAqB;MAAA,OAAKA,KAAK,CAACQ,WAAW;IAAA;IACzDb,eAAe,EAAEH,qBAAqB;IACtCiB,KAAK,EAAE,SAAAA,MAACT,KAAqB;MAAA,OAAKR,qBAAqB,CAACQ,KAAK,CAAC,IAAI,IAAI;IAAA;IACtEU,OAAO,EAAE,SAAAA,QAACV,KAAqB;MAAA,OAAKR,qBAAqB,CAACQ,KAAK,CAAC,IAAI,IAAI;IAAA;IACxEW,QAAQ,EAAEb,cAAc;IACxBc,KAAK,EAAE,SAAAA,MAACZ,KAAqB;MAAA,OAAK,CAACF,cAAc,CAACE,KAAK,CAAC;IAAA;EAC1D,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createSelector, createStructuredSelector } from 'reselect';
|
|
2
|
+
import isEqual from 'fast-deep-equal';
|
|
3
|
+
export function createSelectFormStatus() {
|
|
4
|
+
let lastValidationError = undefined;
|
|
5
|
+
function selectValidationError({
|
|
6
|
+
validationError
|
|
7
|
+
}) {
|
|
8
|
+
var _lastValidationError;
|
|
9
|
+
if (validationError === lastValidationError || isEqual(validationError === null || validationError === void 0 ? void 0 : validationError.issues, (_lastValidationError = lastValidationError) === null || _lastValidationError === void 0 ? void 0 : _lastValidationError.issues)) {
|
|
10
|
+
return lastValidationError;
|
|
11
|
+
}
|
|
12
|
+
return lastValidationError = validationError;
|
|
13
|
+
}
|
|
14
|
+
const selectPristine = createSelector([state => state.values, state => state.initialValues], isEqual);
|
|
15
|
+
return createStructuredSelector({
|
|
16
|
+
initialized: state => state.initialized,
|
|
17
|
+
submitting: state => state.submitting,
|
|
18
|
+
submitSucceeded: state => state.submitSucceeded,
|
|
19
|
+
submitFailed: state => state.submitFailed,
|
|
20
|
+
submitError: state => state.submitError,
|
|
21
|
+
validationError: selectValidationError,
|
|
22
|
+
valid: state => selectValidationError(state) == null,
|
|
23
|
+
invalid: state => selectValidationError(state) != null,
|
|
24
|
+
pristine: selectPristine,
|
|
25
|
+
dirty: state => !selectPristine(state)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=createSelectFormStatus.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormStatus.mjs","names":["createSelector","createStructuredSelector","isEqual","createSelectFormStatus","lastValidationError","undefined","selectValidationError","validationError","_lastValidationError","issues","selectPristine","state","values","initialValues","initialized","submitting","submitSucceeded","submitFailed","submitError","valid","invalid","pristine","dirty"],"sources":["src/createSelectFormStatus.ts"],"sourcesContent":["import { createSelector, createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\nimport isEqual from 'fast-deep-equal'\n\nexport type SelectFormStatus = ReturnType<typeof createSelectFormStatus>\nexport type FormStatus = ReturnType<SelectFormStatus>\n\nexport function createSelectFormStatus() {\n let lastValidationError: FormState<any>['validationError'] = undefined\n\n function selectValidationError({ validationError }: FormState<any>) {\n if (\n validationError === lastValidationError ||\n isEqual(validationError?.issues, lastValidationError?.issues)\n ) {\n return lastValidationError\n }\n return (lastValidationError = validationError)\n }\n\n const selectPristine = createSelector(\n [\n (state: FormState<any>) => state.values,\n (state: FormState<any>) => state.initialValues,\n ],\n isEqual\n )\n\n return createStructuredSelector({\n initialized: (state: FormState<any>) => state.initialized,\n submitting: (state: FormState<any>) => state.submitting,\n submitSucceeded: (state: FormState<any>) => state.submitSucceeded,\n submitFailed: (state: FormState<any>) => state.submitFailed,\n submitError: (state: FormState<any>) => state.submitError,\n validationError: selectValidationError,\n valid: (state: FormState<any>) => selectValidationError(state) == null,\n invalid: (state: FormState<any>) => selectValidationError(state) != null,\n pristine: selectPristine,\n dirty: (state: FormState<any>) => !selectPristine(state),\n })\n}\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,wBAAwB,QAAQ,UAAU;AAEnE,OAAOC,OAAO,MAAM,iBAAiB;AAKrC,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,IAAIC,mBAAsD,GAAGC,SAAS;EAEtE,SAASC,qBAAqBA,CAAC;IAAEC;EAAgC,CAAC,EAAE;IAAA,IAAAC,oBAAA;IAClE,IACED,eAAe,KAAKH,mBAAmB,IACvCF,OAAO,CAACK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,MAAM,GAAAD,oBAAA,GAAEJ,mBAAmB,cAAAI,oBAAA,uBAAnBA,oBAAA,CAAqBC,MAAM,CAAC,EAC7D;MACA,OAAOL,mBAAmB;IAC5B;IACA,OAAQA,mBAAmB,GAAGG,eAAe;EAC/C;EAEA,MAAMG,cAAc,GAAGV,cAAc,CACnC,CACGW,KAAqB,IAAKA,KAAK,CAACC,MAAM,EACtCD,KAAqB,IAAKA,KAAK,CAACE,aAAa,CAC/C,EACDX,OACF,CAAC;EAED,OAAOD,wBAAwB,CAAC;IAC9Ba,WAAW,EAAGH,KAAqB,IAAKA,KAAK,CAACG,WAAW;IACzDC,UAAU,EAAGJ,KAAqB,IAAKA,KAAK,CAACI,UAAU;IACvDC,eAAe,EAAGL,KAAqB,IAAKA,KAAK,CAACK,eAAe;IACjEC,YAAY,EAAGN,KAAqB,IAAKA,KAAK,CAACM,YAAY;IAC3DC,WAAW,EAAGP,KAAqB,IAAKA,KAAK,CAACO,WAAW;IACzDX,eAAe,EAAED,qBAAqB;IACtCa,KAAK,EAAGR,KAAqB,IAAKL,qBAAqB,CAACK,KAAK,CAAC,IAAI,IAAI;IACtES,OAAO,EAAGT,KAAqB,IAAKL,qBAAqB,CAACK,KAAK,CAAC,IAAI,IAAI;IACxEU,QAAQ,EAAEX,cAAc;IACxBY,KAAK,EAAGX,KAAqB,IAAK,CAACD,cAAc,CAACC,KAAK;EACzD,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { FormState } from './FormState';
|
|
3
|
+
export type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<typeof createSelectFormValues<T>>;
|
|
4
|
+
export declare function createSelectFormValues<T extends z.ZodTypeAny>(): ((state: FormState<T>) => {
|
|
5
|
+
values: z.output<T> | undefined;
|
|
6
|
+
rawValues: unknown;
|
|
7
|
+
initialValues: z.output<T> | undefined;
|
|
8
|
+
rawInitialValues: unknown;
|
|
9
|
+
}) & {
|
|
10
|
+
clearCache: () => void;
|
|
11
|
+
resultsCount: () => number;
|
|
12
|
+
resetResultsCount: () => void;
|
|
13
|
+
} & {
|
|
14
|
+
resultFunc: (resultFuncArgs_0: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined, resultFuncArgs_1: any, resultFuncArgs_2: any, resultFuncArgs_3: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined) => {
|
|
15
|
+
values: z.output<T> | undefined;
|
|
16
|
+
rawValues: unknown;
|
|
17
|
+
initialValues: z.output<T> | undefined;
|
|
18
|
+
rawInitialValues: unknown;
|
|
19
|
+
};
|
|
20
|
+
memoizedResultFunc: ((resultFuncArgs_0: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined, resultFuncArgs_1: any, resultFuncArgs_2: any, resultFuncArgs_3: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined) => {
|
|
21
|
+
values: z.output<T> | undefined;
|
|
22
|
+
rawValues: unknown;
|
|
23
|
+
initialValues: z.output<T> | undefined;
|
|
24
|
+
rawInitialValues: unknown;
|
|
25
|
+
}) & {
|
|
26
|
+
clearCache: () => void;
|
|
27
|
+
resultsCount: () => number;
|
|
28
|
+
resetResultsCount: () => void;
|
|
29
|
+
};
|
|
30
|
+
lastResult: () => {
|
|
31
|
+
values: z.output<T> | undefined;
|
|
32
|
+
rawValues: unknown;
|
|
33
|
+
initialValues: z.output<T> | undefined;
|
|
34
|
+
rawInitialValues: unknown;
|
|
35
|
+
};
|
|
36
|
+
dependencies: [(state: FormState<T>) => z.output<T> | undefined, (state: FormState<T>) => unknown, (state: FormState<T>) => unknown, (state: FormState<T>) => z.output<T> | undefined];
|
|
37
|
+
recomputations: () => number;
|
|
38
|
+
resetRecomputations: () => void;
|
|
39
|
+
dependencyRecomputations: () => number;
|
|
40
|
+
resetDependencyRecomputations: () => void;
|
|
41
|
+
} & {
|
|
42
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
43
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=createSelectFormValues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormValues.d.ts","sourceRoot":"","sources":["src/createSelectFormValues.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,UAAU,CAC/D,OAAO,sBAAsB,CAAC,CAAC,CAAC,CACjC,CAAA;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAEzC,SAAS,CAAC,CAAC,CAAC,sCACT,SAAS,CAAC,CAAC,CAAC,sBAEL,SAAS,CAAC,CAAC,CAAC,sBADf,SAAS,CAAC,CAAC,CAAC;;;;;;;;EAGtC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSelectFormValues = createSelectFormValues;
|
|
7
|
+
var _reselect = require("reselect");
|
|
8
|
+
function createSelectFormValues() {
|
|
9
|
+
return (0, _reselect.createStructuredSelector)({
|
|
10
|
+
values: function values(state) {
|
|
11
|
+
return state.values;
|
|
12
|
+
},
|
|
13
|
+
rawValues: function rawValues(state) {
|
|
14
|
+
return state.rawValues;
|
|
15
|
+
},
|
|
16
|
+
initialValues: function initialValues(state) {
|
|
17
|
+
return state.initialValues;
|
|
18
|
+
},
|
|
19
|
+
rawInitialValues: function rawInitialValues(state) {
|
|
20
|
+
return state.rawInitialValues;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=createSelectFormValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormValues.js","names":["_reselect","require","createSelectFormValues","createStructuredSelector","values","state","rawValues","initialValues","rawInitialValues"],"sources":["src/createSelectFormValues.ts"],"sourcesContent":["import z from 'zod'\nimport { createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<\n typeof createSelectFormValues<T>\n>\n\nexport function createSelectFormValues<T extends z.ZodTypeAny>() {\n return createStructuredSelector({\n values: (state: FormState<T>) => state.values,\n rawValues: (state: FormState<T>) => state.rawValues,\n initialValues: (state: FormState<T>) => state.initialValues,\n rawInitialValues: (state: FormState<T>) => state.rawInitialValues,\n })\n}\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAOO,SAASC,sBAAsBA,CAAA,EAA2B;EAC/D,OAAO,IAAAC,kCAAwB,EAAC;IAC9BC,MAAM,EAAE,SAAAA,OAACC,KAAmB;MAAA,OAAKA,KAAK,CAACD,MAAM;IAAA;IAC7CE,SAAS,EAAE,SAAAA,UAACD,KAAmB;MAAA,OAAKA,KAAK,CAACC,SAAS;IAAA;IACnDC,aAAa,EAAE,SAAAA,cAACF,KAAmB;MAAA,OAAKA,KAAK,CAACE,aAAa;IAAA;IAC3DC,gBAAgB,EAAE,SAAAA,iBAACH,KAAmB;MAAA,OAAKA,KAAK,CAACG,gBAAgB;IAAA;EACnE,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createStructuredSelector } from 'reselect';
|
|
2
|
+
export function createSelectFormValues() {
|
|
3
|
+
return createStructuredSelector({
|
|
4
|
+
values: state => state.values,
|
|
5
|
+
rawValues: state => state.rawValues,
|
|
6
|
+
initialValues: state => state.initialValues,
|
|
7
|
+
rawInitialValues: state => state.rawInitialValues
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=createSelectFormValues.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectFormValues.mjs","names":["createStructuredSelector","createSelectFormValues","values","state","rawValues","initialValues","rawInitialValues"],"sources":["src/createSelectFormValues.ts"],"sourcesContent":["import z from 'zod'\nimport { createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<\n typeof createSelectFormValues<T>\n>\n\nexport function createSelectFormValues<T extends z.ZodTypeAny>() {\n return createStructuredSelector({\n values: (state: FormState<T>) => state.values,\n rawValues: (state: FormState<T>) => state.rawValues,\n initialValues: (state: FormState<T>) => state.initialValues,\n rawInitialValues: (state: FormState<T>) => state.rawInitialValues,\n })\n}\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,UAAU;AAOnD,OAAO,SAASC,sBAAsBA,CAAA,EAA2B;EAC/D,OAAOD,wBAAwB,CAAC;IAC9BE,MAAM,EAAGC,KAAmB,IAAKA,KAAK,CAACD,MAAM;IAC7CE,SAAS,EAAGD,KAAmB,IAAKA,KAAK,CAACC,SAAS;IACnDC,aAAa,EAAGF,KAAmB,IAAKA,KAAK,CAACE,aAAa;IAC3DC,gBAAgB,EAAGH,KAAmB,IAAKA,KAAK,CAACG;EACnD,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { FieldPath } from './FieldPath';
|
|
3
|
+
import { TypedUseField } from './useField';
|
|
4
|
+
import { TypedUseHtmlField } from './useHtmlField';
|
|
5
|
+
import { useFormStatus } from './useFormStatus';
|
|
6
|
+
import { TypedUseArrayField } from './useArrayField';
|
|
7
|
+
export type ZodForm<T extends z.ZodTypeAny> = ReturnType<typeof createZodForm<T>>;
|
|
8
|
+
export declare function createZodForm<T extends z.ZodTypeAny>({ schema, }: {
|
|
9
|
+
schema: T;
|
|
10
|
+
}): {
|
|
11
|
+
root: FieldPath<T>;
|
|
12
|
+
get: {
|
|
13
|
+
<Path extends import("./util/PathInSchema").PathInSchema<T>>(path: Path): import("./util/SchemaAt").SchemaAt<T, Path> extends never ? never : FieldPath<import("./util/SchemaAt").SchemaAt<T, Path>>;
|
|
14
|
+
<Pathstring extends import("./util/PathInSchema").PathstringInSchema<T>>(path: Pathstring): FieldPath<import("./util/SchemaAt").SchemaAt<T, import("./util/parsePathstring").parsePathstring<Pathstring>>>;
|
|
15
|
+
};
|
|
16
|
+
FormProvider: ({ children }: {
|
|
17
|
+
children: import("react").ReactElement;
|
|
18
|
+
}) => import("react").JSX.Element;
|
|
19
|
+
useFormContext: () => import("./FormContext").FormContextProps<T>;
|
|
20
|
+
useFormStatus: typeof useFormStatus;
|
|
21
|
+
useFormValues: () => {
|
|
22
|
+
values: z.output<T> | undefined;
|
|
23
|
+
rawValues: unknown;
|
|
24
|
+
initialValues: z.output<T> | undefined;
|
|
25
|
+
rawInitialValues: unknown;
|
|
26
|
+
};
|
|
27
|
+
useInitialize: (options: Omit<import("./actions/initialize").InitializeAction<T>, "type">, deps?: import("react").DependencyList) => void;
|
|
28
|
+
useSubmit: (handlers?: import("./actions/addHandlers").Handlers<T> | undefined) => (e: import("react").FormEvent) => void;
|
|
29
|
+
useArrayField: TypedUseArrayField<T>;
|
|
30
|
+
useField: TypedUseField<T>;
|
|
31
|
+
useHtmlField: TypedUseHtmlField<T>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=createZodForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZodForm.d.ts","sourceRoot":"","sources":["src/createZodForm.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,OAAO,EAAE,kBAAkB,EAAiB,MAAM,iBAAiB,CAAA;AAEnE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,UAAU,CACtD,OAAO,aAAa,CAAC,CAAC,CAAC,CACxB,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EACpD,MAAM,GACP,EAAE;IACD,MAAM,EAAE,CAAC,CAAA;CACV;;;;;;;;;;;;;;;;;;;mBA4BmC,kBAAkB,CAAC,CAAC,CAAC;cAC/B,aAAa,CAAC,CAAC,CAAC;kBACR,iBAAiB,CAAC,CAAC,CAAC;EAErD"}
|
package/createZodForm.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createZodForm = createZodForm;
|
|
7
|
+
var _zodInvertible = require("zod-invertible");
|
|
8
|
+
var _FieldPath = require("./FieldPath.js");
|
|
9
|
+
var _createFormProvider = require("./createFormProvider.js");
|
|
10
|
+
var _useField = require("./useField.js");
|
|
11
|
+
var _useHtmlField = require("./useHtmlField.js");
|
|
12
|
+
var _useFormContext = require("./useFormContext.js");
|
|
13
|
+
var _useFormStatus = require("./useFormStatus.js");
|
|
14
|
+
var _useFormValues = require("./useFormValues.js");
|
|
15
|
+
var _useSubmit = require("./useSubmit.js");
|
|
16
|
+
var _useInitialize = require("./useInitialize.js");
|
|
17
|
+
var _createSelectFormStatus = require("./createSelectFormStatus.js");
|
|
18
|
+
var _createSelectFieldErrorMap = require("./createSelectFieldErrorMap.js");
|
|
19
|
+
var _createSelectFormValues = require("./createSelectFormValues.js");
|
|
20
|
+
var _useArrayField = require("./useArrayField.js");
|
|
21
|
+
function createZodForm(_ref) {
|
|
22
|
+
var schema = _ref.schema;
|
|
23
|
+
var root = _FieldPath.FieldPath.root(schema);
|
|
24
|
+
var inverseSchema = (0, _zodInvertible.invert)(schema);
|
|
25
|
+
var selectFormStatus = (0, _createSelectFormStatus.createSelectFormStatus)();
|
|
26
|
+
var selectFieldErrorMap = (0, _createSelectFieldErrorMap.createSelectFieldErrorMap)();
|
|
27
|
+
var selectFormValues = (0, _createSelectFormValues.createSelectFormValues)();
|
|
28
|
+
var FormProvider = (0, _createFormProvider.createFormProvider)({
|
|
29
|
+
root: root,
|
|
30
|
+
schema: schema,
|
|
31
|
+
inverseSchema: inverseSchema,
|
|
32
|
+
selectFormStatus: selectFormStatus,
|
|
33
|
+
selectFieldErrorMap: selectFieldErrorMap,
|
|
34
|
+
selectFormValues: selectFormValues
|
|
35
|
+
});
|
|
36
|
+
var get = root.get.bind(root);
|
|
37
|
+
return {
|
|
38
|
+
root: root,
|
|
39
|
+
get: get,
|
|
40
|
+
FormProvider: FormProvider,
|
|
41
|
+
useFormContext: _useFormContext.useFormContext,
|
|
42
|
+
useFormStatus: _useFormStatus.useFormStatus,
|
|
43
|
+
useFormValues: _useFormValues.useFormValues,
|
|
44
|
+
useInitialize: _useInitialize.useInitialize,
|
|
45
|
+
useSubmit: _useSubmit.useSubmit,
|
|
46
|
+
useArrayField: _useArrayField.useArrayField,
|
|
47
|
+
useField: _useField.useField,
|
|
48
|
+
useHtmlField: _useHtmlField.useHtmlField
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=createZodForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZodForm.js","names":["_zodInvertible","require","_FieldPath","_createFormProvider","_useField","_useHtmlField","_useFormContext","_useFormStatus","_useFormValues","_useSubmit","_useInitialize","_createSelectFormStatus","_createSelectFieldErrorMap","_createSelectFormValues","_useArrayField","createZodForm","_ref","schema","root","FieldPath","inverseSchema","invert","selectFormStatus","createSelectFormStatus","selectFieldErrorMap","createSelectFieldErrorMap","selectFormValues","createSelectFormValues","FormProvider","createFormProvider","get","bind","useFormContext","useFormStatus","useFormValues","useInitialize","useSubmit","useArrayField","useField","useHtmlField"],"sources":["src/createZodForm.ts"],"sourcesContent":["import z from 'zod'\nimport { invert } from 'zod-invertible'\nimport { FieldPath } from './FieldPath'\nimport { createFormProvider } from './createFormProvider'\nimport { useField, TypedUseField } from './useField'\nimport { useHtmlField, TypedUseHtmlField } from './useHtmlField'\nimport { useFormContext } from './useFormContext'\nimport { useFormStatus } from './useFormStatus'\nimport { useFormValues } from './useFormValues'\nimport { useSubmit } from './useSubmit'\nimport { useInitialize } from './useInitialize'\nimport { createSelectFormStatus } from './createSelectFormStatus'\nimport { createSelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport { createSelectFormValues } from './createSelectFormValues'\nimport { TypedUseArrayField, useArrayField } from './useArrayField'\n\nexport type ZodForm<T extends z.ZodTypeAny> = ReturnType<\n typeof createZodForm<T>\n>\n\nexport function createZodForm<T extends z.ZodTypeAny>({\n schema,\n}: {\n schema: T\n}) {\n const root = FieldPath.root(schema)\n const inverseSchema = invert(schema)\n\n const selectFormStatus = createSelectFormStatus()\n const selectFieldErrorMap = createSelectFieldErrorMap()\n const selectFormValues = createSelectFormValues<T>()\n\n const FormProvider = createFormProvider({\n root,\n schema,\n inverseSchema,\n selectFormStatus,\n selectFieldErrorMap,\n selectFormValues,\n })\n\n const get: (typeof root)['get'] = root.get.bind(root)\n\n return {\n root,\n get,\n FormProvider,\n useFormContext: useFormContext<T>,\n useFormStatus,\n useFormValues: useFormValues<T>,\n useInitialize: useInitialize<T>,\n useSubmit: useSubmit<T>,\n useArrayField: useArrayField as TypedUseArrayField<T>,\n useField: useField as TypedUseField<T>,\n useHtmlField: useHtmlField as TypedUseHtmlField<T>,\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AACA,IAAAW,0BAAA,GAAAX,OAAA;AACA,IAAAY,uBAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;AAMO,SAASc,aAAaA,CAAAC,IAAA,EAI1B;EAAA,IAHDC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAIN,IAAMC,IAAI,GAAGC,oBAAS,CAACD,IAAI,CAACD,MAAM,CAAC;EACnC,IAAMG,aAAa,GAAG,IAAAC,qBAAM,EAACJ,MAAM,CAAC;EAEpC,IAAMK,gBAAgB,GAAG,IAAAC,8CAAsB,EAAC,CAAC;EACjD,IAAMC,mBAAmB,GAAG,IAAAC,oDAAyB,EAAC,CAAC;EACvD,IAAMC,gBAAgB,GAAG,IAAAC,8CAAsB,EAAI,CAAC;EAEpD,IAAMC,YAAY,GAAG,IAAAC,sCAAkB,EAAC;IACtCX,IAAI,EAAJA,IAAI;IACJD,MAAM,EAANA,MAAM;IACNG,aAAa,EAAbA,aAAa;IACbE,gBAAgB,EAAhBA,gBAAgB;IAChBE,mBAAmB,EAAnBA,mBAAmB;IACnBE,gBAAgB,EAAhBA;EACF,CAAC,CAAC;EAEF,IAAMI,GAAyB,GAAGZ,IAAI,CAACY,GAAG,CAACC,IAAI,CAACb,IAAI,CAAC;EAErD,OAAO;IACLA,IAAI,EAAJA,IAAI;IACJY,GAAG,EAAHA,GAAG;IACHF,YAAY,EAAZA,YAAY;IACZI,cAAc,EAAEA,8BAAiB;IACjCC,aAAa,EAAbA,4BAAa;IACbC,aAAa,EAAEA,4BAAgB;IAC/BC,aAAa,EAAEA,4BAAgB;IAC/BC,SAAS,EAAEA,oBAAY;IACvBC,aAAa,EAAEA,4BAAsC;IACrDC,QAAQ,EAAEA,kBAA4B;IACtCC,YAAY,EAAEA;EAChB,CAAC;AACH","ignoreList":[]}
|