@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.
Files changed (521) hide show
  1. package/FieldPath.d.ts +26 -0
  2. package/FieldPath.d.ts.map +1 -0
  3. package/FieldPath.js +155 -0
  4. package/FieldPath.js.map +1 -0
  5. package/FieldPath.mjs +138 -0
  6. package/FieldPath.mjs.map +1 -0
  7. package/FormAction.d.ts +15 -0
  8. package/FormAction.d.ts.map +1 -0
  9. package/FormAction.js +6 -0
  10. package/FormAction.js.map +1 -0
  11. package/FormAction.mjs +2 -0
  12. package/FormAction.mjs.map +1 -0
  13. package/FormContext.d.ts +39 -0
  14. package/FormContext.d.ts.map +1 -0
  15. package/FormContext.js +10 -0
  16. package/FormContext.js.map +1 -0
  17. package/FormContext.mjs +3 -0
  18. package/FormContext.mjs.map +1 -0
  19. package/FormState.d.ts +31 -0
  20. package/FormState.d.ts.map +1 -0
  21. package/FormState.js +6 -0
  22. package/FormState.js.map +1 -0
  23. package/FormState.mjs +2 -0
  24. package/FormState.mjs.map +1 -0
  25. package/FormStateContext.d.ts +8 -0
  26. package/FormStateContext.d.ts.map +1 -0
  27. package/FormStateContext.js +10 -0
  28. package/FormStateContext.js.map +1 -0
  29. package/FormStateContext.mjs +3 -0
  30. package/FormStateContext.mjs.map +1 -0
  31. package/LICENSE.md +21 -0
  32. package/README.md +154 -0
  33. package/actions/addHandlers.d.ts +15 -0
  34. package/actions/addHandlers.d.ts.map +1 -0
  35. package/actions/addHandlers.js +16 -0
  36. package/actions/addHandlers.js.map +1 -0
  37. package/actions/addHandlers.mjs +7 -0
  38. package/actions/addHandlers.mjs.map +1 -0
  39. package/actions/arrayActions.d.ts +113 -0
  40. package/actions/arrayActions.d.ts.map +1 -0
  41. package/actions/arrayActions.js +146 -0
  42. package/actions/arrayActions.js.map +1 -0
  43. package/actions/arrayActions.mjs +120 -0
  44. package/actions/arrayActions.mjs.map +1 -0
  45. package/actions/initialize.d.ts +13 -0
  46. package/actions/initialize.d.ts.map +1 -0
  47. package/actions/initialize.js +16 -0
  48. package/actions/initialize.js.map +1 -0
  49. package/actions/initialize.mjs +7 -0
  50. package/actions/initialize.mjs.map +1 -0
  51. package/actions/removeHandlers.d.ts +10 -0
  52. package/actions/removeHandlers.d.ts.map +1 -0
  53. package/actions/removeHandlers.js +16 -0
  54. package/actions/removeHandlers.js.map +1 -0
  55. package/actions/removeHandlers.mjs +7 -0
  56. package/actions/removeHandlers.mjs.map +1 -0
  57. package/actions/setMeta.d.ts +9 -0
  58. package/actions/setMeta.d.ts.map +1 -0
  59. package/actions/setMeta.js +14 -0
  60. package/actions/setMeta.js.map +1 -0
  61. package/actions/setMeta.mjs +8 -0
  62. package/actions/setMeta.mjs.map +1 -0
  63. package/actions/setMounted.d.ts +6 -0
  64. package/actions/setMounted.d.ts.map +1 -0
  65. package/actions/setMounted.js +13 -0
  66. package/actions/setMounted.js.map +1 -0
  67. package/actions/setMounted.mjs +7 -0
  68. package/actions/setMounted.mjs.map +1 -0
  69. package/actions/setRawValue.d.ts +9 -0
  70. package/actions/setRawValue.d.ts.map +1 -0
  71. package/actions/setRawValue.js +14 -0
  72. package/actions/setRawValue.js.map +1 -0
  73. package/actions/setRawValue.mjs +8 -0
  74. package/actions/setRawValue.mjs.map +1 -0
  75. package/actions/setSubmitStatus.d.ts +14 -0
  76. package/actions/setSubmitStatus.d.ts.map +1 -0
  77. package/actions/setSubmitStatus.js +16 -0
  78. package/actions/setSubmitStatus.js.map +1 -0
  79. package/actions/setSubmitStatus.mjs +7 -0
  80. package/actions/setSubmitStatus.mjs.map +1 -0
  81. package/actions/setValue.d.ts +12 -0
  82. package/actions/setValue.d.ts.map +1 -0
  83. package/actions/setValue.js +18 -0
  84. package/actions/setValue.js.map +1 -0
  85. package/actions/setValue.mjs +9 -0
  86. package/actions/setValue.mjs.map +1 -0
  87. package/actions/submit.d.ts +5 -0
  88. package/actions/submit.d.ts.map +1 -0
  89. package/actions/submit.js +12 -0
  90. package/actions/submit.js.map +1 -0
  91. package/actions/submit.mjs +6 -0
  92. package/actions/submit.mjs.map +1 -0
  93. package/actions/submitSucceeded.d.ts +5 -0
  94. package/actions/submitSucceeded.d.ts.map +1 -0
  95. package/actions/submitSucceeded.js +12 -0
  96. package/actions/submitSucceeded.js.map +1 -0
  97. package/actions/submitSucceeded.mjs +6 -0
  98. package/actions/submitSucceeded.mjs.map +1 -0
  99. package/createFormMiddleware.d.ts +6 -0
  100. package/createFormMiddleware.d.ts.map +1 -0
  101. package/createFormMiddleware.js +186 -0
  102. package/createFormMiddleware.js.map +1 -0
  103. package/createFormMiddleware.mjs +53 -0
  104. package/createFormMiddleware.mjs.map +1 -0
  105. package/createFormProvider.d.ts +7 -0
  106. package/createFormProvider.d.ts.map +1 -0
  107. package/createFormProvider.js +85 -0
  108. package/createFormProvider.js.map +1 -0
  109. package/createFormProvider.mjs +63 -0
  110. package/createFormProvider.mjs.map +1 -0
  111. package/createFormReducer.d.ts +9 -0
  112. package/createFormReducer.d.ts.map +1 -0
  113. package/createFormReducer.js +95 -0
  114. package/createFormReducer.js.map +1 -0
  115. package/createFormReducer.mjs +84 -0
  116. package/createFormReducer.mjs.map +1 -0
  117. package/createSelectFieldErrorMap.d.ts +32 -0
  118. package/createSelectFieldErrorMap.d.ts.map +1 -0
  119. package/createSelectFieldErrorMap.js +43 -0
  120. package/createSelectFieldErrorMap.js.map +1 -0
  121. package/createSelectFieldErrorMap.mjs +24 -0
  122. package/createSelectFieldErrorMap.mjs.map +1 -0
  123. package/createSelectFormStatus.d.ts +89 -0
  124. package/createSelectFormStatus.d.ts.map +1 -0
  125. package/createSelectFormStatus.js +54 -0
  126. package/createSelectFormStatus.js.map +1 -0
  127. package/createSelectFormStatus.mjs +28 -0
  128. package/createSelectFormStatus.mjs.map +1 -0
  129. package/createSelectFormValues.d.ts +45 -0
  130. package/createSelectFormValues.d.ts.map +1 -0
  131. package/createSelectFormValues.js +24 -0
  132. package/createSelectFormValues.js.map +1 -0
  133. package/createSelectFormValues.mjs +10 -0
  134. package/createSelectFormValues.mjs.map +1 -0
  135. package/createZodForm.d.ts +33 -0
  136. package/createZodForm.d.ts.map +1 -0
  137. package/createZodForm.js +51 -0
  138. package/createZodForm.js.map +1 -0
  139. package/createZodForm.mjs +46 -0
  140. package/createZodForm.mjs.map +1 -0
  141. package/index.d.ts +14 -0
  142. package/index.d.ts.map +1 -0
  143. package/index.js +76 -0
  144. package/index.js.map +1 -0
  145. package/index.mjs +11 -0
  146. package/index.mjs.map +1 -0
  147. package/initFormState.d.ts +4 -0
  148. package/initFormState.d.ts.map +1 -0
  149. package/initFormState.js +22 -0
  150. package/initFormState.js.map +1 -0
  151. package/initFormState.mjs +16 -0
  152. package/initFormState.mjs.map +1 -0
  153. package/package.json +49 -0
  154. package/reducers/addHandlers.d.ts +24 -0
  155. package/reducers/addHandlers.d.ts.map +1 -0
  156. package/reducers/addHandlers.js +24 -0
  157. package/reducers/addHandlers.js.map +1 -0
  158. package/reducers/addHandlers.mjs +21 -0
  159. package/reducers/addHandlers.mjs.map +1 -0
  160. package/reducers/arrayInsert.d.ts +7 -0
  161. package/reducers/arrayInsert.d.ts.map +1 -0
  162. package/reducers/arrayInsert.js +16 -0
  163. package/reducers/arrayInsert.js.map +1 -0
  164. package/reducers/arrayInsert.mjs +12 -0
  165. package/reducers/arrayInsert.mjs.map +1 -0
  166. package/reducers/arrayInsertRaw.d.ts +7 -0
  167. package/reducers/arrayInsertRaw.d.ts.map +1 -0
  168. package/reducers/arrayInsertRaw.js +22 -0
  169. package/reducers/arrayInsertRaw.js.map +1 -0
  170. package/reducers/arrayInsertRaw.mjs +14 -0
  171. package/reducers/arrayInsertRaw.mjs.map +1 -0
  172. package/reducers/arrayMove.d.ts +8 -0
  173. package/reducers/arrayMove.d.ts.map +1 -0
  174. package/reducers/arrayMove.js +25 -0
  175. package/reducers/arrayMove.js.map +1 -0
  176. package/reducers/arrayMove.mjs +16 -0
  177. package/reducers/arrayMove.mjs.map +1 -0
  178. package/reducers/arrayPop.d.ts +7 -0
  179. package/reducers/arrayPop.d.ts.map +1 -0
  180. package/reducers/arrayPop.js +13 -0
  181. package/reducers/arrayPop.js.map +1 -0
  182. package/reducers/arrayPop.mjs +5 -0
  183. package/reducers/arrayPop.mjs.map +1 -0
  184. package/reducers/arrayPush.d.ts +7 -0
  185. package/reducers/arrayPush.d.ts.map +1 -0
  186. package/reducers/arrayPush.js +15 -0
  187. package/reducers/arrayPush.js.map +1 -0
  188. package/reducers/arrayPush.mjs +11 -0
  189. package/reducers/arrayPush.mjs.map +1 -0
  190. package/reducers/arrayPushRaw.d.ts +7 -0
  191. package/reducers/arrayPushRaw.d.ts.map +1 -0
  192. package/reducers/arrayPushRaw.js +17 -0
  193. package/reducers/arrayPushRaw.js.map +1 -0
  194. package/reducers/arrayPushRaw.mjs +9 -0
  195. package/reducers/arrayPushRaw.mjs.map +1 -0
  196. package/reducers/arrayRemove.d.ts +7 -0
  197. package/reducers/arrayRemove.d.ts.map +1 -0
  198. package/reducers/arrayRemove.js +21 -0
  199. package/reducers/arrayRemove.js.map +1 -0
  200. package/reducers/arrayRemove.mjs +13 -0
  201. package/reducers/arrayRemove.mjs.map +1 -0
  202. package/reducers/arrayRemoveAll.d.ts +7 -0
  203. package/reducers/arrayRemoveAll.d.ts.map +1 -0
  204. package/reducers/arrayRemoveAll.js +14 -0
  205. package/reducers/arrayRemoveAll.js.map +1 -0
  206. package/reducers/arrayRemoveAll.mjs +8 -0
  207. package/reducers/arrayRemoveAll.mjs.map +1 -0
  208. package/reducers/arrayShift.d.ts +7 -0
  209. package/reducers/arrayShift.d.ts.map +1 -0
  210. package/reducers/arrayShift.js +14 -0
  211. package/reducers/arrayShift.js.map +1 -0
  212. package/reducers/arrayShift.mjs +8 -0
  213. package/reducers/arrayShift.mjs.map +1 -0
  214. package/reducers/arraySplice.d.ts +7 -0
  215. package/reducers/arraySplice.d.ts.map +1 -0
  216. package/reducers/arraySplice.js +20 -0
  217. package/reducers/arraySplice.js.map +1 -0
  218. package/reducers/arraySplice.mjs +14 -0
  219. package/reducers/arraySplice.mjs.map +1 -0
  220. package/reducers/arraySpliceRaw.d.ts +7 -0
  221. package/reducers/arraySpliceRaw.d.ts.map +1 -0
  222. package/reducers/arraySpliceRaw.js +26 -0
  223. package/reducers/arraySpliceRaw.js.map +1 -0
  224. package/reducers/arraySpliceRaw.mjs +18 -0
  225. package/reducers/arraySpliceRaw.mjs.map +1 -0
  226. package/reducers/arraySwap.d.ts +8 -0
  227. package/reducers/arraySwap.d.ts.map +1 -0
  228. package/reducers/arraySwap.js +27 -0
  229. package/reducers/arraySwap.js.map +1 -0
  230. package/reducers/arraySwap.mjs +18 -0
  231. package/reducers/arraySwap.mjs.map +1 -0
  232. package/reducers/arrayUnshift.d.ts +7 -0
  233. package/reducers/arrayUnshift.d.ts.map +1 -0
  234. package/reducers/arrayUnshift.js +15 -0
  235. package/reducers/arrayUnshift.js.map +1 -0
  236. package/reducers/arrayUnshift.mjs +11 -0
  237. package/reducers/arrayUnshift.mjs.map +1 -0
  238. package/reducers/arrayUnshiftRaw.d.ts +7 -0
  239. package/reducers/arrayUnshiftRaw.d.ts.map +1 -0
  240. package/reducers/arrayUnshiftRaw.js +17 -0
  241. package/reducers/arrayUnshiftRaw.js.map +1 -0
  242. package/reducers/arrayUnshiftRaw.mjs +9 -0
  243. package/reducers/arrayUnshiftRaw.mjs.map +1 -0
  244. package/reducers/initialize.d.ts +46 -0
  245. package/reducers/initialize.d.ts.map +1 -0
  246. package/reducers/initialize.js +46 -0
  247. package/reducers/initialize.js.map +1 -0
  248. package/reducers/initialize.mjs +38 -0
  249. package/reducers/initialize.mjs.map +1 -0
  250. package/reducers/removeHandlers.d.ts +24 -0
  251. package/reducers/removeHandlers.d.ts.map +1 -0
  252. package/reducers/removeHandlers.js +24 -0
  253. package/reducers/removeHandlers.js.map +1 -0
  254. package/reducers/removeHandlers.mjs +21 -0
  255. package/reducers/removeHandlers.mjs.map +1 -0
  256. package/reducers/setMeta.d.ts +6 -0
  257. package/reducers/setMeta.d.ts.map +1 -0
  258. package/reducers/setMeta.js +28 -0
  259. package/reducers/setMeta.js.map +1 -0
  260. package/reducers/setMeta.mjs +21 -0
  261. package/reducers/setMeta.mjs.map +1 -0
  262. package/reducers/setRawValue.d.ts +27 -0
  263. package/reducers/setRawValue.d.ts.map +1 -0
  264. package/reducers/setRawValue.js +35 -0
  265. package/reducers/setRawValue.js.map +1 -0
  266. package/reducers/setRawValue.mjs +26 -0
  267. package/reducers/setRawValue.mjs.map +1 -0
  268. package/reducers/setSubmitStatus.d.ts +24 -0
  269. package/reducers/setSubmitStatus.d.ts.map +1 -0
  270. package/reducers/setSubmitStatus.js +18 -0
  271. package/reducers/setSubmitStatus.js.map +1 -0
  272. package/reducers/setSubmitStatus.mjs +12 -0
  273. package/reducers/setSubmitStatus.mjs.map +1 -0
  274. package/reducers/setValue.d.ts +28 -0
  275. package/reducers/setValue.d.ts.map +1 -0
  276. package/reducers/setValue.js +41 -0
  277. package/reducers/setValue.js.map +1 -0
  278. package/reducers/setValue.mjs +32 -0
  279. package/reducers/setValue.mjs.map +1 -0
  280. package/reducers/submitSucceeded.d.ts +23 -0
  281. package/reducers/submitSucceeded.d.ts.map +1 -0
  282. package/reducers/submitSucceeded.js +22 -0
  283. package/reducers/submitSucceeded.js.map +1 -0
  284. package/reducers/submitSucceeded.mjs +13 -0
  285. package/reducers/submitSucceeded.mjs.map +1 -0
  286. package/reducers/util/getInverseArrayElementSchema.d.ts +3 -0
  287. package/reducers/util/getInverseArrayElementSchema.d.ts.map +1 -0
  288. package/reducers/util/getInverseArrayElementSchema.js +14 -0
  289. package/reducers/util/getInverseArrayElementSchema.js.map +1 -0
  290. package/reducers/util/getInverseArrayElementSchema.mjs +8 -0
  291. package/reducers/util/getInverseArrayElementSchema.mjs.map +1 -0
  292. package/reducers/util/updateRawArray.d.ts +7 -0
  293. package/reducers/util/updateRawArray.d.ts.map +1 -0
  294. package/reducers/util/updateRawArray.js +14 -0
  295. package/reducers/util/updateRawArray.js.map +1 -0
  296. package/reducers/util/updateRawArray.mjs +8 -0
  297. package/reducers/util/updateRawArray.mjs.map +1 -0
  298. package/src/FieldPath.ts +215 -0
  299. package/src/FormAction.ts +26 -0
  300. package/src/FormContext.ts +44 -0
  301. package/src/FormState.ts +36 -0
  302. package/src/FormStateContext.ts +13 -0
  303. package/src/actions/addHandlers.ts +23 -0
  304. package/src/actions/arrayActions.ts +183 -0
  305. package/src/actions/initialize.ts +16 -0
  306. package/src/actions/removeHandlers.ts +13 -0
  307. package/src/actions/setMeta.ts +17 -0
  308. package/src/actions/setMounted.ts +8 -0
  309. package/src/actions/setRawValue.ts +17 -0
  310. package/src/actions/setSubmitStatus.ts +26 -0
  311. package/src/actions/setValue.ts +21 -0
  312. package/src/actions/submit.ts +7 -0
  313. package/src/actions/submitSucceeded.ts +7 -0
  314. package/src/createFormMiddleware.ts +74 -0
  315. package/src/createFormProvider.tsx +101 -0
  316. package/src/createFormReducer.ts +91 -0
  317. package/src/createSelectFieldErrorMap.ts +47 -0
  318. package/src/createSelectFormStatus.ts +41 -0
  319. package/src/createSelectFormValues.ts +16 -0
  320. package/src/createZodForm.ts +57 -0
  321. package/src/index.ts +32 -0
  322. package/src/initFormState.ts +18 -0
  323. package/src/reducers/addHandlers.ts +21 -0
  324. package/src/reducers/arrayInsert.ts +19 -0
  325. package/src/reducers/arrayInsertRaw.ts +22 -0
  326. package/src/reducers/arrayMove.ts +36 -0
  327. package/src/reducers/arrayPop.ts +16 -0
  328. package/src/reducers/arrayPush.ts +20 -0
  329. package/src/reducers/arrayPushRaw.ts +18 -0
  330. package/src/reducers/arrayRemove.ts +22 -0
  331. package/src/reducers/arrayRemoveAll.ts +15 -0
  332. package/src/reducers/arrayShift.ts +15 -0
  333. package/src/reducers/arraySplice.ts +17 -0
  334. package/src/reducers/arraySpliceRaw.ts +30 -0
  335. package/src/reducers/arraySwap.ts +29 -0
  336. package/src/reducers/arrayUnshift.ts +16 -0
  337. package/src/reducers/arrayUnshiftRaw.ts +18 -0
  338. package/src/reducers/initialize.ts +47 -0
  339. package/src/reducers/removeHandlers.ts +21 -0
  340. package/src/reducers/setMeta.ts +26 -0
  341. package/src/reducers/setRawValue.ts +40 -0
  342. package/src/reducers/setSubmitStatus.ts +15 -0
  343. package/src/reducers/setValue.ts +49 -0
  344. package/src/reducers/submitSucceeded.ts +17 -0
  345. package/src/reducers/util/getInverseArrayElementSchema.ts +9 -0
  346. package/src/reducers/util/updateRawArray.ts +25 -0
  347. package/src/useArrayField.ts +161 -0
  348. package/src/useField.ts +152 -0
  349. package/src/useFormContext.ts +11 -0
  350. package/src/useFormDispatch.ts +13 -0
  351. package/src/useFormSelector.ts +9 -0
  352. package/src/useFormStatus.ts +14 -0
  353. package/src/useFormValues.ts +8 -0
  354. package/src/useHtmlField.ts +235 -0
  355. package/src/useInitialize.ts +14 -0
  356. package/src/useSubmit.ts +29 -0
  357. package/src/util/PathInSchema.ts +7 -0
  358. package/src/util/PathInType.ts +26 -0
  359. package/src/util/SchemaAt.ts +68 -0
  360. package/src/util/acceptsArray.ts +72 -0
  361. package/src/util/acceptsBigint.ts +71 -0
  362. package/src/util/acceptsNumber.ts +71 -0
  363. package/src/util/bindActionsToField.ts +22 -0
  364. package/src/util/get.ts +10 -0
  365. package/src/util/getArrayElementSchema.ts +74 -0
  366. package/src/util/maybeParse.ts +9 -0
  367. package/src/util/parsePathstring.ts +119 -0
  368. package/src/util/pathstring.ts +32 -0
  369. package/src/util/set.ts +25 -0
  370. package/src/util/setAdd.ts +6 -0
  371. package/src/util/setDelete.ts +6 -0
  372. package/useArrayField.d.ts +34 -0
  373. package/useArrayField.d.ts.map +1 -0
  374. package/useArrayField.js +99 -0
  375. package/useArrayField.js.map +1 -0
  376. package/useArrayField.mjs +75 -0
  377. package/useArrayField.mjs.map +1 -0
  378. package/useField.d.ts +34 -0
  379. package/useField.d.ts.map +1 -0
  380. package/useField.js +98 -0
  381. package/useField.js.map +1 -0
  382. package/useField.mjs +75 -0
  383. package/useField.mjs.map +1 -0
  384. package/useFormContext.d.ts +4 -0
  385. package/useFormContext.d.ts.map +1 -0
  386. package/useFormContext.js +17 -0
  387. package/useFormContext.js.map +1 -0
  388. package/useFormContext.mjs +10 -0
  389. package/useFormContext.mjs.map +1 -0
  390. package/useFormDispatch.d.ts +7 -0
  391. package/useFormDispatch.d.ts.map +1 -0
  392. package/useFormDispatch.js +10 -0
  393. package/useFormDispatch.js.map +1 -0
  394. package/useFormDispatch.mjs +4 -0
  395. package/useFormDispatch.mjs.map +1 -0
  396. package/useFormSelector.d.ts +6 -0
  397. package/useFormSelector.d.ts.map +1 -0
  398. package/useFormSelector.js +10 -0
  399. package/useFormSelector.js.map +1 -0
  400. package/useFormSelector.mjs +4 -0
  401. package/useFormSelector.mjs.map +1 -0
  402. package/useFormStatus.d.ts +13 -0
  403. package/useFormStatus.d.ts.map +1 -0
  404. package/useFormStatus.js +15 -0
  405. package/useFormStatus.js.map +1 -0
  406. package/useFormStatus.mjs +10 -0
  407. package/useFormStatus.mjs.map +1 -0
  408. package/useFormValues.d.ts +8 -0
  409. package/useFormValues.d.ts.map +1 -0
  410. package/useFormValues.js +14 -0
  411. package/useFormValues.js.map +1 -0
  412. package/useFormValues.mjs +9 -0
  413. package/useFormValues.mjs.map +1 -0
  414. package/useHtmlField.d.ts +41 -0
  415. package/useHtmlField.d.ts.map +1 -0
  416. package/useHtmlField.js +161 -0
  417. package/useHtmlField.js.map +1 -0
  418. package/useHtmlField.mjs +148 -0
  419. package/useHtmlField.mjs.map +1 -0
  420. package/useInitialize.d.ts +5 -0
  421. package/useInitialize.d.ts.map +1 -0
  422. package/useInitialize.js +18 -0
  423. package/useInitialize.js.map +1 -0
  424. package/useInitialize.mjs +11 -0
  425. package/useInitialize.mjs.map +1 -0
  426. package/useSubmit.d.ts +5 -0
  427. package/useSubmit.d.ts.map +1 -0
  428. package/useSubmit.js +53 -0
  429. package/useSubmit.js.map +1 -0
  430. package/useSubmit.mjs +39 -0
  431. package/useSubmit.mjs.map +1 -0
  432. package/util/PathInSchema.d.ts +5 -0
  433. package/util/PathInSchema.d.ts.map +1 -0
  434. package/util/PathInSchema.js +6 -0
  435. package/util/PathInSchema.js.map +1 -0
  436. package/util/PathInSchema.mjs +2 -0
  437. package/util/PathInSchema.mjs.map +1 -0
  438. package/util/PathInType.d.ts +11 -0
  439. package/util/PathInType.d.ts.map +1 -0
  440. package/util/PathInType.js +6 -0
  441. package/util/PathInType.js.map +1 -0
  442. package/util/PathInType.mjs +2 -0
  443. package/util/PathInType.mjs.map +1 -0
  444. package/util/SchemaAt.d.ts +5 -0
  445. package/util/SchemaAt.d.ts.map +1 -0
  446. package/util/SchemaAt.js +6 -0
  447. package/util/SchemaAt.js.map +1 -0
  448. package/util/SchemaAt.mjs +2 -0
  449. package/util/SchemaAt.mjs.map +1 -0
  450. package/util/acceptsArray.d.ts +3 -0
  451. package/util/acceptsArray.d.ts.map +1 -0
  452. package/util/acceptsArray.js +89 -0
  453. package/util/acceptsArray.js.map +1 -0
  454. package/util/acceptsArray.mjs +105 -0
  455. package/util/acceptsArray.mjs.map +1 -0
  456. package/util/acceptsBigint.d.ts +3 -0
  457. package/util/acceptsBigint.d.ts.map +1 -0
  458. package/util/acceptsBigint.js +88 -0
  459. package/util/acceptsBigint.js.map +1 -0
  460. package/util/acceptsBigint.mjs +104 -0
  461. package/util/acceptsBigint.mjs.map +1 -0
  462. package/util/acceptsNumber.d.ts +3 -0
  463. package/util/acceptsNumber.d.ts.map +1 -0
  464. package/util/acceptsNumber.js +88 -0
  465. package/util/acceptsNumber.js.map +1 -0
  466. package/util/acceptsNumber.mjs +104 -0
  467. package/util/acceptsNumber.mjs.map +1 -0
  468. package/util/bindActionsToField.d.ts +7 -0
  469. package/util/bindActionsToField.d.ts.map +1 -0
  470. package/util/bindActionsToField.js +22 -0
  471. package/util/bindActionsToField.js.map +1 -0
  472. package/util/bindActionsToField.mjs +4 -0
  473. package/util/bindActionsToField.mjs.map +1 -0
  474. package/util/get.d.ts +2 -0
  475. package/util/get.d.ts.map +1 -0
  476. package/util/get.js +12 -0
  477. package/util/get.js.map +1 -0
  478. package/util/get.mjs +4 -0
  479. package/util/get.mjs.map +1 -0
  480. package/util/getArrayElementSchema.d.ts +3 -0
  481. package/util/getArrayElementSchema.d.ts.map +1 -0
  482. package/util/getArrayElementSchema.js +87 -0
  483. package/util/getArrayElementSchema.js.map +1 -0
  484. package/util/getArrayElementSchema.mjs +102 -0
  485. package/util/getArrayElementSchema.mjs.map +1 -0
  486. package/util/maybeParse.d.ts +3 -0
  487. package/util/maybeParse.d.ts.map +1 -0
  488. package/util/maybeParse.js +11 -0
  489. package/util/maybeParse.js.map +1 -0
  490. package/util/maybeParse.mjs +5 -0
  491. package/util/maybeParse.mjs.map +1 -0
  492. package/util/parsePathstring.d.ts +40 -0
  493. package/util/parsePathstring.d.ts.map +1 -0
  494. package/util/parsePathstring.js +55 -0
  495. package/util/parsePathstring.js.map +1 -0
  496. package/util/parsePathstring.mjs +35 -0
  497. package/util/parsePathstring.mjs.map +1 -0
  498. package/util/pathstring.d.ts +13 -0
  499. package/util/pathstring.d.ts.map +1 -0
  500. package/util/pathstring.js +15 -0
  501. package/util/pathstring.js.map +1 -0
  502. package/util/pathstring.mjs +7 -0
  503. package/util/pathstring.mjs.map +1 -0
  504. package/util/set.d.ts +2 -0
  505. package/util/set.d.ts.map +1 -0
  506. package/util/set.js +33 -0
  507. package/util/set.js.map +1 -0
  508. package/util/set.mjs +23 -0
  509. package/util/set.mjs.map +1 -0
  510. package/util/setAdd.d.ts +2 -0
  511. package/util/setAdd.d.ts.map +1 -0
  512. package/util/setAdd.js +13 -0
  513. package/util/setAdd.js.map +1 -0
  514. package/util/setAdd.mjs +7 -0
  515. package/util/setAdd.mjs.map +1 -0
  516. package/util/setDelete.d.ts +2 -0
  517. package/util/setDelete.d.ts.map +1 -0
  518. package/util/setDelete.js +13 -0
  519. package/util/setDelete.js.map +1 -0
  520. package/util/setDelete.mjs +7 -0
  521. package/util/setDelete.mjs.map +1 -0
@@ -0,0 +1,32 @@
1
+ import { set } from "../util/set.mjs";
2
+ import { invert } from 'zod-invertible';
3
+ export const createSetValueReducer = ({
4
+ schema,
5
+ inverseSchema
6
+ }) => function setValueReducer(state, action) {
7
+ const newValues = set(state.values, action.field.path, action.value);
8
+ try {
9
+ const newRawValues = inverseSchema.parse(newValues);
10
+ schema.parse(newRawValues);
11
+ return {
12
+ ...state,
13
+ submitError: undefined,
14
+ validationError: undefined,
15
+ rawValues: newRawValues,
16
+ values: newValues
17
+ };
18
+ } catch (error) {
19
+ const newRawParsed = invert(action.field.schema).safeParse(action.value);
20
+ const rawValues = newRawParsed.success ? set(state.rawValues, action.field.path, newRawParsed.data) : state.rawValues;
21
+ const newParsed = schema.safeParse(rawValues);
22
+ const result = {
23
+ ...state,
24
+ submitError: undefined,
25
+ validationError: !newRawParsed.success ? newRawParsed.error : newParsed.success ? undefined : newParsed.error,
26
+ rawValues,
27
+ values: newParsed.success ? newParsed.data : state.values
28
+ };
29
+ return result;
30
+ }
31
+ };
32
+ //# sourceMappingURL=setValue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setValue.mjs","names":["set","invert","createSetValueReducer","schema","inverseSchema","setValueReducer","state","action","newValues","values","field","path","value","newRawValues","parse","submitError","undefined","validationError","rawValues","error","newRawParsed","safeParse","success","data","newParsed","result"],"sources":["../../src/reducers/setValue.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { SetValueAction } from '../actions/setValue'\nimport { set } from '../util/set'\nimport { FieldPath } from '../FieldPath'\nimport { invert } from 'zod-invertible'\n\nexport const createSetValueReducer = <T extends z.ZodTypeAny>({\n schema,\n inverseSchema,\n}: {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n}) =>\n function setValueReducer<Field extends FieldPath>(\n state: FormState<T>,\n action: SetValueAction<Field>\n ) {\n const newValues = set(state.values, action.field.path, action.value)\n try {\n const newRawValues = inverseSchema.parse(newValues)\n schema.parse(newRawValues)\n return {\n ...state,\n submitError: undefined,\n validationError: undefined,\n rawValues: newRawValues,\n values: newValues,\n }\n } catch (error) {\n const newRawParsed = invert(action.field.schema).safeParse(action.value)\n const rawValues = newRawParsed.success\n ? set(state.rawValues, action.field.path, newRawParsed.data)\n : state.rawValues\n const newParsed = schema.safeParse(rawValues)\n const result = {\n ...state,\n submitError: undefined,\n validationError: !newRawParsed.success\n ? newRawParsed.error\n : newParsed.success\n ? undefined\n : newParsed.error,\n rawValues,\n values: newParsed.success ? newParsed.data : state.values,\n }\n return result\n }\n }\n"],"mappings":"AAGA,SAASA,GAAG;AAEZ,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,OAAO,MAAMC,qBAAqB,GAAGA,CAAyB;EAC5DC,MAAM;EACNC;AAIF,CAAC,KACC,SAASC,eAAeA,CACtBC,KAAmB,EACnBC,MAA6B,EAC7B;EACA,MAAMC,SAAS,GAAGR,GAAG,CAACM,KAAK,CAACG,MAAM,EAAEF,MAAM,CAACG,KAAK,CAACC,IAAI,EAAEJ,MAAM,CAACK,KAAK,CAAC;EACpE,IAAI;IACF,MAAMC,YAAY,GAAGT,aAAa,CAACU,KAAK,CAACN,SAAS,CAAC;IACnDL,MAAM,CAACW,KAAK,CAACD,YAAY,CAAC;IAC1B,OAAO;MACL,GAAGP,KAAK;MACRS,WAAW,EAAEC,SAAS;MACtBC,eAAe,EAAED,SAAS;MAC1BE,SAAS,EAAEL,YAAY;MACvBJ,MAAM,EAAED;IACV,CAAC;EACH,CAAC,CAAC,OAAOW,KAAK,EAAE;IACd,MAAMC,YAAY,GAAGnB,MAAM,CAACM,MAAM,CAACG,KAAK,CAACP,MAAM,CAAC,CAACkB,SAAS,CAACd,MAAM,CAACK,KAAK,CAAC;IACxE,MAAMM,SAAS,GAAGE,YAAY,CAACE,OAAO,GAClCtB,GAAG,CAACM,KAAK,CAACY,SAAS,EAAEX,MAAM,CAACG,KAAK,CAACC,IAAI,EAAES,YAAY,CAACG,IAAI,CAAC,GAC1DjB,KAAK,CAACY,SAAS;IACnB,MAAMM,SAAS,GAAGrB,MAAM,CAACkB,SAAS,CAACH,SAAS,CAAC;IAC7C,MAAMO,MAAM,GAAG;MACb,GAAGnB,KAAK;MACRS,WAAW,EAAEC,SAAS;MACtBC,eAAe,EAAE,CAACG,YAAY,CAACE,OAAO,GAClCF,YAAY,CAACD,KAAK,GAClBK,SAAS,CAACF,OAAO,GACjBN,SAAS,GACTQ,SAAS,CAACL,KAAK;MACnBD,SAAS;MACTT,MAAM,EAAEe,SAAS,CAACF,OAAO,GAAGE,SAAS,CAACD,IAAI,GAAGjB,KAAK,CAACG;IACrD,CAAC;IACD,OAAOgB,MAAM;EACf;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import z from 'zod';
2
+ import { FormState } from '../FormState';
3
+ export declare function submitSucceededReducer<T extends z.ZodTypeAny>(state: FormState<T>): {
4
+ submitting: boolean;
5
+ submitSucceeded: boolean;
6
+ submitFailed: boolean;
7
+ submitError: undefined;
8
+ submitPromise: undefined;
9
+ initialValues: z.output<T> | undefined;
10
+ rawInitialValues: z.input<T> | undefined;
11
+ mounted: boolean;
12
+ initialized: boolean;
13
+ fieldMeta: Record<string, import("../FormState").FieldMeta>;
14
+ rawValues?: unknown;
15
+ values?: z.output<T> | undefined;
16
+ submittedValues?: z.output<T> | undefined;
17
+ rawSubmittedValues?: z.input<T> | undefined;
18
+ validationError?: any;
19
+ onSubmit: Set<import("../FormState").SubmitHandler<T>>;
20
+ onSubmitSucceeded: Set<import("../FormState").SubmitSuccededHandler>;
21
+ onSubmitFailed: Set<import("../FormState").SubmitFailedHandler>;
22
+ };
23
+ //# sourceMappingURL=submitSucceeded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitSucceeded.d.ts","sourceRoot":"","sources":["../../src/reducers/submitSucceeded.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC3D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;EAYpB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.submitSucceededReducer = submitSucceededReducer;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function submitSucceededReducer(state) {
12
+ return _objectSpread(_objectSpread({}, state), {}, {
13
+ submitting: false,
14
+ submitSucceeded: true,
15
+ submitFailed: false,
16
+ submitError: undefined,
17
+ submitPromise: undefined,
18
+ initialValues: state.submittedValues,
19
+ rawInitialValues: state.rawSubmittedValues
20
+ });
21
+ }
22
+ //# sourceMappingURL=submitSucceeded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitSucceeded.js","names":["submitSucceededReducer","state","_objectSpread","submitting","submitSucceeded","submitFailed","submitError","undefined","submitPromise","initialValues","submittedValues","rawInitialValues","rawSubmittedValues"],"sources":["../../src/reducers/submitSucceeded.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\n\nexport function submitSucceededReducer<T extends z.ZodTypeAny>(\n state: FormState<T>\n) {\n return {\n ...state,\n submitting: false,\n submitSucceeded: true,\n submitFailed: false,\n submitError: undefined,\n submitPromise: undefined,\n initialValues: state.submittedValues,\n rawInitialValues: state.rawSubmittedValues,\n }\n}\n"],"mappings":";;;;;;;;;;AAGO,SAASA,sBAAsBA,CACpCC,KAAmB,EACnB;EACA,OAAAC,aAAA,CAAAA,aAAA,KACKD,KAAK;IACRE,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,KAAK;IACnBC,WAAW,EAAEC,SAAS;IACtBC,aAAa,EAAED,SAAS;IACxBE,aAAa,EAAER,KAAK,CAACS,eAAe;IACpCC,gBAAgB,EAAEV,KAAK,CAACW;EAAkB;AAE9C","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ export function submitSucceededReducer(state) {
2
+ return {
3
+ ...state,
4
+ submitting: false,
5
+ submitSucceeded: true,
6
+ submitFailed: false,
7
+ submitError: undefined,
8
+ submitPromise: undefined,
9
+ initialValues: state.submittedValues,
10
+ rawInitialValues: state.rawSubmittedValues
11
+ };
12
+ }
13
+ //# sourceMappingURL=submitSucceeded.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitSucceeded.mjs","names":["submitSucceededReducer","state","submitting","submitSucceeded","submitFailed","submitError","undefined","submitPromise","initialValues","submittedValues","rawInitialValues","rawSubmittedValues"],"sources":["../../src/reducers/submitSucceeded.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\n\nexport function submitSucceededReducer<T extends z.ZodTypeAny>(\n state: FormState<T>\n) {\n return {\n ...state,\n submitting: false,\n submitSucceeded: true,\n submitFailed: false,\n submitError: undefined,\n submitPromise: undefined,\n initialValues: state.submittedValues,\n rawInitialValues: state.rawSubmittedValues,\n }\n}\n"],"mappings":"AAGA,OAAO,SAASA,sBAAsBA,CACpCC,KAAmB,EACnB;EACA,OAAO;IACL,GAAGA,KAAK;IACRC,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,KAAK;IACnBC,WAAW,EAAEC,SAAS;IACtBC,aAAa,EAAED,SAAS;IACxBE,aAAa,EAAEP,KAAK,CAACQ,eAAe;IACpCC,gBAAgB,EAAET,KAAK,CAACU;EAC1B,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import z from 'zod';
2
+ export declare function getInverseArrayElementSchema(schema: z.ZodTypeAny): z.ZodType<any, any, any>;
3
+ //# sourceMappingURL=getInverseArrayElementSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInverseArrayElementSchema.d.ts","sourceRoot":"","sources":["../../../src/reducers/util/getInverseArrayElementSchema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAInB,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,4BAIhE"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getInverseArrayElementSchema = getInverseArrayElementSchema;
7
+ var _getArrayElementSchema = require("../../util/getArrayElementSchema.js");
8
+ var _zodInvertible = require("zod-invertible");
9
+ function getInverseArrayElementSchema(schema) {
10
+ var elemSchema = (0, _getArrayElementSchema.getArrayElementSchema)(schema);
11
+ if (!elemSchema) throw new Error('field is not an array');
12
+ return (0, _zodInvertible.invert)(elemSchema);
13
+ }
14
+ //# sourceMappingURL=getInverseArrayElementSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInverseArrayElementSchema.js","names":["_getArrayElementSchema","require","_zodInvertible","getInverseArrayElementSchema","schema","elemSchema","getArrayElementSchema","Error","invert"],"sources":["../../../src/reducers/util/getInverseArrayElementSchema.ts"],"sourcesContent":["import z from 'zod'\nimport { getArrayElementSchema } from '../../util/getArrayElementSchema'\nimport { invert } from 'zod-invertible'\n\nexport function getInverseArrayElementSchema(schema: z.ZodTypeAny) {\n const elemSchema = getArrayElementSchema(schema)\n if (!elemSchema) throw new Error('field is not an array')\n return invert(elemSchema)\n}\n"],"mappings":";;;;;;AACA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEO,SAASE,4BAA4BA,CAACC,MAAoB,EAAE;EACjE,IAAMC,UAAU,GAAG,IAAAC,4CAAqB,EAACF,MAAM,CAAC;EAChD,IAAI,CAACC,UAAU,EAAE,MAAM,IAAIE,KAAK,CAAC,uBAAuB,CAAC;EACzD,OAAO,IAAAC,qBAAM,EAACH,UAAU,CAAC;AAC3B","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { getArrayElementSchema } from "../../util/getArrayElementSchema.mjs";
2
+ import { invert } from 'zod-invertible';
3
+ export function getInverseArrayElementSchema(schema) {
4
+ const elemSchema = getArrayElementSchema(schema);
5
+ if (!elemSchema) throw new Error('field is not an array');
6
+ return invert(elemSchema);
7
+ }
8
+ //# sourceMappingURL=getInverseArrayElementSchema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInverseArrayElementSchema.mjs","names":["getArrayElementSchema","invert","getInverseArrayElementSchema","schema","elemSchema","Error"],"sources":["../../../src/reducers/util/getInverseArrayElementSchema.ts"],"sourcesContent":["import z from 'zod'\nimport { getArrayElementSchema } from '../../util/getArrayElementSchema'\nimport { invert } from 'zod-invertible'\n\nexport function getInverseArrayElementSchema(schema: z.ZodTypeAny) {\n const elemSchema = getArrayElementSchema(schema)\n if (!elemSchema) throw new Error('field is not an array')\n return invert(elemSchema)\n}\n"],"mappings":"AACA,SAASA,qBAAqB;AAC9B,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,OAAO,SAASC,4BAA4BA,CAACC,MAAoB,EAAE;EACjE,MAAMC,UAAU,GAAGJ,qBAAqB,CAACG,MAAM,CAAC;EAChD,IAAI,CAACC,UAAU,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;EACzD,OAAOJ,MAAM,CAACG,UAAU,CAAC;AAC3B","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import z from 'zod';
2
+ import { Reducer } from 'react';
3
+ import { FieldPath, FieldPathForRawValue } from '../../FieldPath';
4
+ import { FormState } from '../../FormState';
5
+ import { FormAction } from '../../FormAction';
6
+ export declare function updateRawArray<T extends z.ZodTypeAny, Field extends FieldPathForRawValue<any[]>>(reducer: Reducer<FormState<T>, FormAction<T>>, state: FormState<T>, field: FieldPath, updater: (array: z.input<Field['schema']> | undefined) => z.input<Field['schema']> | undefined): FormState<T>;
7
+ //# sourceMappingURL=updateRawArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateRawArray.d.ts","sourceRoot":"","sources":["../../../src/reducers/util/updateRawArray.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C,wBAAgB,cAAc,CAC5B,CAAC,SAAS,CAAC,CAAC,UAAU,EACtB,KAAK,SAAS,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAEzC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,KACxC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,gBAO1C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateRawArray = updateRawArray;
7
+ var _get = require("../../util/get.js");
8
+ var _setRawValue = require("../../actions/setRawValue.js");
9
+ function updateRawArray(reducer, state, field, updater) {
10
+ var oldValue = (0, _get.get)(state.rawValues, field.path);
11
+ var newValue = updater(oldValue);
12
+ return newValue === oldValue ? state : reducer(state, (0, _setRawValue.setRawValue)(field, newValue));
13
+ }
14
+ //# sourceMappingURL=updateRawArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateRawArray.js","names":["_get","require","_setRawValue","updateRawArray","reducer","state","field","updater","oldValue","get","rawValues","path","newValue","setRawValue"],"sources":["../../../src/reducers/util/updateRawArray.ts"],"sourcesContent":["import z from 'zod'\nimport { Reducer } from 'react'\nimport { FieldPath, FieldPathForRawValue } from '../../FieldPath'\nimport { FormState } from '../../FormState'\nimport { FormAction } from '../../FormAction'\nimport { get } from '../../util/get'\nimport { setRawValue } from '../../actions/setRawValue'\n\nexport function updateRawArray<\n T extends z.ZodTypeAny,\n Field extends FieldPathForRawValue<any[]>\n>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n field: FieldPath,\n updater: (\n array: z.input<Field['schema']> | undefined\n ) => z.input<Field['schema']> | undefined\n) {\n const oldValue = get(state.rawValues, field.path)\n const newValue = updater(oldValue as any)\n return newValue === oldValue\n ? state\n : reducer(state, setRawValue(field, newValue))\n}\n"],"mappings":";;;;;;AAKA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,cAAcA,CAI5BC,OAA6C,EAC7CC,KAAmB,EACnBC,KAAgB,EAChBC,OAEyC,EACzC;EACA,IAAMC,QAAQ,GAAG,IAAAC,QAAG,EAACJ,KAAK,CAACK,SAAS,EAAEJ,KAAK,CAACK,IAAI,CAAC;EACjD,IAAMC,QAAQ,GAAGL,OAAO,CAACC,QAAe,CAAC;EACzC,OAAOI,QAAQ,KAAKJ,QAAQ,GACxBH,KAAK,GACLD,OAAO,CAACC,KAAK,EAAE,IAAAQ,wBAAW,EAACP,KAAK,EAAEM,QAAQ,CAAC,CAAC;AAClD","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { get } from "../../util/get.mjs";
2
+ import { setRawValue } from "../../actions/setRawValue.mjs";
3
+ export function updateRawArray(reducer, state, field, updater) {
4
+ const oldValue = get(state.rawValues, field.path);
5
+ const newValue = updater(oldValue);
6
+ return newValue === oldValue ? state : reducer(state, setRawValue(field, newValue));
7
+ }
8
+ //# sourceMappingURL=updateRawArray.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateRawArray.mjs","names":["get","setRawValue","updateRawArray","reducer","state","field","updater","oldValue","rawValues","path","newValue"],"sources":["../../../src/reducers/util/updateRawArray.ts"],"sourcesContent":["import z from 'zod'\nimport { Reducer } from 'react'\nimport { FieldPath, FieldPathForRawValue } from '../../FieldPath'\nimport { FormState } from '../../FormState'\nimport { FormAction } from '../../FormAction'\nimport { get } from '../../util/get'\nimport { setRawValue } from '../../actions/setRawValue'\n\nexport function updateRawArray<\n T extends z.ZodTypeAny,\n Field extends FieldPathForRawValue<any[]>\n>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n field: FieldPath,\n updater: (\n array: z.input<Field['schema']> | undefined\n ) => z.input<Field['schema']> | undefined\n) {\n const oldValue = get(state.rawValues, field.path)\n const newValue = updater(oldValue as any)\n return newValue === oldValue\n ? state\n : reducer(state, setRawValue(field, newValue))\n}\n"],"mappings":"AAKA,SAASA,GAAG;AACZ,SAASC,WAAW;AAEpB,OAAO,SAASC,cAAcA,CAI5BC,OAA6C,EAC7CC,KAAmB,EACnBC,KAAgB,EAChBC,OAEyC,EACzC;EACA,MAAMC,QAAQ,GAAGP,GAAG,CAACI,KAAK,CAACI,SAAS,EAAEH,KAAK,CAACI,IAAI,CAAC;EACjD,MAAMC,QAAQ,GAAGJ,OAAO,CAACC,QAAe,CAAC;EACzC,OAAOG,QAAQ,KAAKH,QAAQ,GACxBH,KAAK,GACLD,OAAO,CAACC,KAAK,EAAEH,WAAW,CAACI,KAAK,EAAEK,QAAQ,CAAC,CAAC;AAClD","ignoreList":[]}
@@ -0,0 +1,215 @@
1
+ import z from 'zod'
2
+ import { pathstring } from './util/pathstring'
3
+ import { SchemaAt } from './util/SchemaAt'
4
+ import { PathInSchema, PathstringInSchema } from './util/PathInSchema'
5
+ import { parsePathstring } from './util/parsePathstring'
6
+
7
+ export type FieldPathForValue<Value, RawValue = any> = FieldPath<
8
+ z.ZodType<Value, any, RawValue>
9
+ >
10
+ export type FieldPathForRawValue<RawValue> = FieldPath<
11
+ z.ZodType<any, any, RawValue>
12
+ >
13
+
14
+ export class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {
15
+ readonly path: BasePath
16
+ readonly pathstring: string
17
+ readonly schema: T
18
+
19
+ private subfields: Map<SubpathKey<T>, FieldPath> | undefined
20
+
21
+ private constructor({ schema, path }: { schema: T; path: BasePath }) {
22
+ this.path = path
23
+ this.schema = schema
24
+ this.pathstring = pathstring(path)
25
+ }
26
+
27
+ static root<T extends z.ZodTypeAny>(schema: T) {
28
+ return new FieldPath({ schema, path: [] })
29
+ }
30
+
31
+ get<Path extends PathInSchema<T>>(
32
+ path: Path
33
+ ): SchemaAt<T, Path> extends never ? never : FieldPath<SchemaAt<T, Path>>
34
+ get<Pathstring extends PathstringInSchema<T>>(
35
+ path: Pathstring
36
+ ): FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>
37
+ get(path: any): FieldPath {
38
+ if (typeof path === 'string') path = parsePathstring(path)
39
+ if (!Array.isArray(path)) throw new Error(`invalid path: ${path}`)
40
+ return path.reduce((field, key) => field.subfield(key), this)
41
+ }
42
+
43
+ subfield<K extends SubpathKey<T>>(key: K): FieldPath<SchemaAt<T, [K]>> {
44
+ const cached = this.subfields?.get(key)
45
+ if (cached) return cached as any
46
+ const schema = subschema(this.schema, key)
47
+ if (!schema) throw new Error(`invalid subschema key: ${key}`)
48
+ const subfield = new FieldPath({
49
+ path: [...this.path, key] as any,
50
+ schema: schema as any,
51
+ })
52
+ if (this.subfields == null) this.subfields = new Map()
53
+ this.subfields.set(key, subfield)
54
+ return subfield
55
+ }
56
+ }
57
+
58
+ export type BasePath = (string | number)[]
59
+
60
+ export type SubpathKey<T extends z.ZodTypeAny> = 0 extends 1 & T
61
+ ? any
62
+ : 0 extends 1 & z.input<T>
63
+ ? any
64
+ : T extends z.ZodObject<infer Shape, infer UnknownKeys>
65
+ ? UnknownKeys extends 'passthrough'
66
+ ? string
67
+ : keyof Shape
68
+ : T extends z.ZodRecord<infer Key, any>
69
+ ? z.input<Key>
70
+ : T extends z.ZodMap<infer Key, any>
71
+ ? z.input<Key>
72
+ : T extends z.ZodArray<any>
73
+ ? number
74
+ : T extends z.ZodTuple<any, any>
75
+ ? number
76
+ : T extends z.ZodLazy<infer U>
77
+ ? SubpathKey<U>
78
+ : T extends z.ZodUnion<infer Options>
79
+ ? SubpathKey<Options[number]>
80
+ : T extends z.ZodDiscriminatedUnion<any, infer Options>
81
+ ? SubpathKey<Options[number]>
82
+ : T extends z.ZodOptional<infer U>
83
+ ? SubpathKey<U>
84
+ : T extends z.ZodNullable<infer U>
85
+ ? SubpathKey<U>
86
+ : T extends z.ZodDefault<infer U>
87
+ ? SubpathKey<U>
88
+ : T extends z.ZodCatch<infer U>
89
+ ? SubpathKey<U>
90
+ : T extends z.ZodEffects<infer U, any>
91
+ ? SubpathKey<U>
92
+ : T extends z.ZodBranded<infer U, any>
93
+ ? SubpathKey<U>
94
+ : never
95
+
96
+ export type AllPaths<T extends z.ZodTypeAny> = SubpathKey<T> extends never
97
+ ? []
98
+ : [] | ValuesOf<SubpathKeyMap<T>>
99
+
100
+ type ValuesOf<O> = O[keyof O]
101
+
102
+ export type SubpathKeyMap<T extends z.ZodTypeAny> = {
103
+ [K in SubpathKey<T>]: [K, ...AllPaths<SchemaAt<T, [K]>>]
104
+ }
105
+
106
+ function subschema(
107
+ schema: z.ZodTypeAny,
108
+ key: string
109
+ ): z.ZodTypeAny | undefined {
110
+ switch (schema._def.typeName) {
111
+ case z.ZodFirstPartyTypeKind.ZodAny:
112
+ case 'ZodArray':
113
+ if (typeof key === 'number') return (schema as z.ZodArray<any>).element
114
+ break
115
+ case 'ZodObject': {
116
+ const {
117
+ shape,
118
+ _def: { unknownKeys, catchall },
119
+ } = schema as z.AnyZodObject
120
+ if (key in shape) return shape[key]
121
+ if (unknownKeys === 'passthrough') return catchall
122
+ break
123
+ }
124
+ case 'ZodUnion': {
125
+ const options = (
126
+ schema as z.ZodUnion<[z.ZodTypeAny, ...z.ZodTypeAny[]]>
127
+ ).options
128
+ .map((opt) => subschema(opt, key))
129
+ .filter((opt): opt is z.ZodTypeAny => opt != null)
130
+ return options.length > 1
131
+ ? z.union(options as any)
132
+ : options.length === 1
133
+ ? options[0]
134
+ : undefined
135
+ }
136
+ case 'ZodDiscriminatedUnion': {
137
+ const discUnion = schema as z.ZodDiscriminatedUnion<
138
+ any,
139
+ [z.AnyZodObject, ...z.AnyZodObject[]]
140
+ >
141
+ const options = discUnion.options
142
+ .map((opt) => subschema(opt, key))
143
+ .filter((opt): opt is z.ZodTypeAny => opt != null)
144
+ return options.length > 1
145
+ ? z.discriminatedUnion(discUnion.discriminator, options as any)
146
+ : options.length === 1
147
+ ? options[0]
148
+ : undefined
149
+ break
150
+ }
151
+ case 'ZodIntersection':
152
+ break
153
+ case 'ZodTuple': {
154
+ const {
155
+ items,
156
+ _def: { rest },
157
+ } = schema as z.ZodTuple<any, any>
158
+ if (typeof key === 'number' && key > 0 && key < items.length) {
159
+ return items[key]
160
+ }
161
+ if (rest) return rest
162
+ break
163
+ }
164
+ case 'ZodRecord': {
165
+ const { keySchema, valueSchema } = schema as z.ZodRecord<
166
+ z.ZodTypeAny,
167
+ z.ZodTypeAny
168
+ >
169
+ if (keySchema.safeParse(key).success) return valueSchema
170
+ break
171
+ }
172
+ case 'ZodMap': {
173
+ const { keySchema, valueSchema } = schema as z.ZodMap<
174
+ z.ZodTypeAny,
175
+ z.ZodTypeAny
176
+ >
177
+ if (keySchema.safeParse(key).success) return valueSchema
178
+ break
179
+ }
180
+ case 'ZodLazy':
181
+ return subschema((schema as z.ZodLazy<z.ZodTypeAny>).schema, key)
182
+ case 'ZodEffects': {
183
+ const {
184
+ _def: {
185
+ effect: { type },
186
+ schema: innerSchema,
187
+ },
188
+ } = schema as z.ZodEffects<z.ZodTypeAny, any>
189
+ if (type === 'refinement') return subschema(innerSchema, key)
190
+ break
191
+ }
192
+ case 'ZodOptional':
193
+ return subschema((schema as z.ZodOptional<z.ZodTypeAny>).unwrap(), key)
194
+ case 'ZodNullable':
195
+ return subschema((schema as z.ZodNullable<z.ZodTypeAny>).unwrap(), key)
196
+ case 'ZodDefault':
197
+ return subschema(
198
+ (schema as z.ZodDefault<z.ZodTypeAny>).removeDefault(),
199
+ key
200
+ )
201
+ case 'ZodCatch':
202
+ return subschema((schema as z.ZodCatch<z.ZodTypeAny>).removeCatch(), key)
203
+ case 'ZodBranded':
204
+ return subschema(
205
+ (schema as z.ZodBranded<z.ZodTypeAny, any>)._def.type,
206
+ key
207
+ )
208
+ case 'ZodPipeline':
209
+ return subschema(
210
+ (schema as z.ZodPipeline<z.ZodTypeAny, z.ZodTypeAny>)._def.out,
211
+ key
212
+ )
213
+ }
214
+ return undefined
215
+ }
@@ -0,0 +1,26 @@
1
+ import z from 'zod'
2
+ import { SetMountedAction } from './actions/setMounted'
3
+ import { InitializeAction } from './actions/initialize'
4
+ import { SetValueAction } from './actions/setValue'
5
+ import { SetRawValueAction } from './actions/setRawValue'
6
+ import { SetMetaAction } from './actions/setMeta'
7
+ import { FieldPath } from './FieldPath'
8
+ import { SubmitAction } from './actions/submit'
9
+ import { SubmitSucceededAction } from './actions/submitSucceeded'
10
+ import { SetSubmitStatusAction } from './actions/setSubmitStatus'
11
+ import { AddHandlersAction } from './actions/addHandlers'
12
+ import { RemoveHandlersAction } from './actions/removeHandlers'
13
+ import { ArrayAction } from './actions/arrayActions'
14
+
15
+ export type FormAction<T extends z.ZodTypeAny> =
16
+ | SetMountedAction
17
+ | InitializeAction<T>
18
+ | SetValueAction<FieldPath>
19
+ | SetRawValueAction<FieldPath>
20
+ | SetMetaAction<FieldPath>
21
+ | AddHandlersAction<T>
22
+ | RemoveHandlersAction<T>
23
+ | SubmitAction
24
+ | SubmitSucceededAction
25
+ | SetSubmitStatusAction<T>
26
+ | ArrayAction
@@ -0,0 +1,44 @@
1
+ import React from 'react'
2
+ import z from 'zod'
3
+ import { FieldPath } from './FieldPath'
4
+ import { initialize } from './actions/initialize'
5
+ import { setRawValue } from './actions/setRawValue'
6
+ import { setValue } from './actions/setValue'
7
+ import { submit } from './actions/submit'
8
+ import { setSubmitStatus } from './actions/setSubmitStatus'
9
+ import { SelectFormValues } from './createSelectFormValues'
10
+ import { SelectFieldErrorMap } from './createSelectFieldErrorMap'
11
+ import {
12
+ createSelectFormStatus,
13
+ SelectFormStatus,
14
+ } from './createSelectFormStatus'
15
+ import { setMeta } from './actions/setMeta'
16
+ import { addHandlers } from './actions/addHandlers'
17
+ import { removeHandlers } from './actions/removeHandlers'
18
+ import { arrayActions } from './actions/arrayActions'
19
+
20
+ export const FormContext =
21
+ React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)
22
+
23
+ export type FormContextProps<T extends z.ZodTypeAny> = {
24
+ schema: T
25
+ inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>
26
+ root: FieldPath<T>
27
+ initialize: typeof initialize<T>
28
+ addHandlers: typeof addHandlers<T>
29
+ removeHandlers: typeof removeHandlers<T>
30
+ setMeta: typeof setMeta
31
+ setRawValue: typeof setRawValue
32
+ setValue: typeof setValue
33
+ submit: typeof submit
34
+ setSubmitStatus: typeof setSubmitStatus<T>
35
+ arrayActions: typeof arrayActions
36
+ selectFormStatus: SelectFormStatus
37
+ selectFieldErrorMap: SelectFieldErrorMap
38
+ selectFormValues: SelectFormValues<T>
39
+ getValues: () => z.output<T> | undefined
40
+ getRawValues: () => unknown
41
+ getInitialValues: () => z.output<T> | undefined
42
+ getRawInitialValues: () => unknown
43
+ getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>
44
+ }
@@ -0,0 +1,36 @@
1
+ import z from 'zod'
2
+
3
+ export type FieldMeta = {
4
+ touched: boolean
5
+ visited: boolean
6
+ }
7
+
8
+ export type SubmitHandler<T extends z.ZodTypeAny> = (
9
+ values: z.output<T>,
10
+ options: { initialValues: z.output<T> }
11
+ ) => void | Promise<void>
12
+
13
+ export type SubmitSuccededHandler = () => void
14
+
15
+ export type SubmitFailedHandler = (error: Error) => void
16
+
17
+ export type FormState<T extends z.ZodTypeAny> = {
18
+ mounted: boolean
19
+ initialized: boolean
20
+ fieldMeta: Record<string, FieldMeta>
21
+ rawValues?: unknown
22
+ values?: z.output<T>
23
+ submittedValues?: z.output<T>
24
+ rawSubmittedValues?: z.input<T>
25
+ rawInitialValues?: unknown
26
+ initialValues?: z.output<T>
27
+ validationError?: any
28
+ submitPromise?: Promise<void>
29
+ onSubmit: Set<SubmitHandler<T>>
30
+ onSubmitSucceeded: Set<SubmitSuccededHandler>
31
+ onSubmitFailed: Set<SubmitFailedHandler>
32
+ submitting: boolean
33
+ submitSucceeded: boolean
34
+ submitFailed: boolean
35
+ submitError?: Error
36
+ }
@@ -0,0 +1,13 @@
1
+ import z from 'zod'
2
+ import React from 'react'
3
+ import { ReactReduxContextValue } from 'react-redux'
4
+ import { FormState } from './FormState'
5
+ import { FormAction } from './FormAction'
6
+
7
+ export const FormStateContext = React.createContext<ReactReduxContextValue<
8
+ FormState<z.ZodTypeAny>,
9
+ FormAction<z.ZodTypeAny>
10
+ > | null>(null)
11
+
12
+ export type FormStateContext<T extends z.ZodTypeAny> =
13
+ React.Context<ReactReduxContextValue<FormState<T>, FormAction<T>> | null>
@@ -0,0 +1,23 @@
1
+ import z from 'zod'
2
+ import {
3
+ SubmitFailedHandler,
4
+ SubmitHandler,
5
+ SubmitSuccededHandler,
6
+ } from '../FormState'
7
+
8
+ export type Handlers<T extends z.ZodTypeAny> = {
9
+ onSubmit?: SubmitHandler<T>
10
+ onSubmitSucceeded?: SubmitSuccededHandler
11
+ onSubmitFailed?: SubmitFailedHandler
12
+ }
13
+
14
+ export type AddHandlersAction<T extends z.ZodTypeAny> = ReturnType<
15
+ typeof addHandlers<T>
16
+ >
17
+
18
+ export function addHandlers<T extends z.ZodTypeAny>(handlers: Handlers<T>) {
19
+ return {
20
+ type: 'addHandlers',
21
+ ...handlers,
22
+ } as const
23
+ }