@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,186 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createFormMiddleware = createFormMiddleware;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _setSubmitStatus = require("./actions/setSubmitStatus.js");
11
+ var _submitSucceeded = require("./actions/submitSucceeded.js");
12
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function createFormMiddleware() {
16
+ return function (store) {
17
+ return function (next) {
18
+ return function (action) {
19
+ var result = next(action);
20
+ var nextState = store.getState();
21
+ if (isSubmitAction(action) && !nextState.submitting) {
22
+ var onSubmit = nextState.onSubmit,
23
+ onSubmitSucceeded = nextState.onSubmitSucceeded,
24
+ onSubmitFailed = nextState.onSubmitFailed,
25
+ values = nextState.values,
26
+ rawValues = nextState.rawValues,
27
+ initialValues = nextState.initialValues;
28
+ var submitPromise = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
29
+ var _iterator, _step, fn;
30
+ return _regenerator["default"].wrap(function _callee$(_context) {
31
+ while (1) switch (_context.prev = _context.next) {
32
+ case 0:
33
+ if (!nextState.validationError) {
34
+ _context.next = 2;
35
+ break;
36
+ }
37
+ throw nextState.validationError;
38
+ case 2:
39
+ _iterator = _createForOfIteratorHelper(onSubmit);
40
+ _context.prev = 3;
41
+ _iterator.s();
42
+ case 5:
43
+ if ((_step = _iterator.n()).done) {
44
+ _context.next = 11;
45
+ break;
46
+ }
47
+ fn = _step.value;
48
+ _context.next = 9;
49
+ return fn(values, {
50
+ initialValues: initialValues
51
+ });
52
+ case 9:
53
+ _context.next = 5;
54
+ break;
55
+ case 11:
56
+ _context.next = 16;
57
+ break;
58
+ case 13:
59
+ _context.prev = 13;
60
+ _context.t0 = _context["catch"](3);
61
+ _iterator.e(_context.t0);
62
+ case 16:
63
+ _context.prev = 16;
64
+ _iterator.f();
65
+ return _context.finish(16);
66
+ case 19:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee, null, [[3, 13, 16, 19]]);
71
+ }))();
72
+ store.dispatch((0, _setSubmitStatus.setSubmitStatus)({
73
+ submitting: true,
74
+ submittedValues: values,
75
+ rawSubmittedValues: rawValues,
76
+ submitError: undefined,
77
+ submitSucceeded: false,
78
+ submitFailed: false,
79
+ submitPromise: submitPromise
80
+ }));
81
+ submitPromise.then( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
82
+ var _iterator2, _step2, fn;
83
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
84
+ while (1) switch (_context2.prev = _context2.next) {
85
+ case 0:
86
+ if (!(store.getState().submitPromise !== submitPromise)) {
87
+ _context2.next = 2;
88
+ break;
89
+ }
90
+ return _context2.abrupt("return");
91
+ case 2:
92
+ store.dispatch((0, _submitSucceeded.submitSucceeded)());
93
+ _iterator2 = _createForOfIteratorHelper(onSubmitSucceeded);
94
+ _context2.prev = 4;
95
+ _iterator2.s();
96
+ case 6:
97
+ if ((_step2 = _iterator2.n()).done) {
98
+ _context2.next = 12;
99
+ break;
100
+ }
101
+ fn = _step2.value;
102
+ _context2.next = 10;
103
+ return fn();
104
+ case 10:
105
+ _context2.next = 6;
106
+ break;
107
+ case 12:
108
+ _context2.next = 17;
109
+ break;
110
+ case 14:
111
+ _context2.prev = 14;
112
+ _context2.t0 = _context2["catch"](4);
113
+ _iterator2.e(_context2.t0);
114
+ case 17:
115
+ _context2.prev = 17;
116
+ _iterator2.f();
117
+ return _context2.finish(17);
118
+ case 20:
119
+ case "end":
120
+ return _context2.stop();
121
+ }
122
+ }, _callee2, null, [[4, 14, 17, 20]]);
123
+ })), /*#__PURE__*/function () {
124
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(error) {
125
+ var _iterator3, _step3, fn;
126
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
127
+ while (1) switch (_context3.prev = _context3.next) {
128
+ case 0:
129
+ if (!(store.getState().submitPromise !== submitPromise)) {
130
+ _context3.next = 2;
131
+ break;
132
+ }
133
+ return _context3.abrupt("return");
134
+ case 2:
135
+ store.dispatch((0, _setSubmitStatus.setSubmitStatus)({
136
+ submitting: false,
137
+ submitError: error,
138
+ submitSucceeded: false,
139
+ submitFailed: true,
140
+ submitPromise: undefined
141
+ }));
142
+ _iterator3 = _createForOfIteratorHelper(onSubmitFailed);
143
+ _context3.prev = 4;
144
+ _iterator3.s();
145
+ case 6:
146
+ if ((_step3 = _iterator3.n()).done) {
147
+ _context3.next = 12;
148
+ break;
149
+ }
150
+ fn = _step3.value;
151
+ _context3.next = 10;
152
+ return fn(error);
153
+ case 10:
154
+ _context3.next = 6;
155
+ break;
156
+ case 12:
157
+ _context3.next = 17;
158
+ break;
159
+ case 14:
160
+ _context3.prev = 14;
161
+ _context3.t0 = _context3["catch"](4);
162
+ _iterator3.e(_context3.t0);
163
+ case 17:
164
+ _context3.prev = 17;
165
+ _iterator3.f();
166
+ return _context3.finish(17);
167
+ case 20:
168
+ case "end":
169
+ return _context3.stop();
170
+ }
171
+ }, _callee3, null, [[4, 14, 17, 20]]);
172
+ }));
173
+ return function (_x) {
174
+ return _ref3.apply(this, arguments);
175
+ };
176
+ }());
177
+ }
178
+ return result;
179
+ };
180
+ };
181
+ };
182
+ }
183
+ function isSubmitAction(action) {
184
+ return action instanceof Object && 'type' in action && action.type === 'submit';
185
+ }
186
+ //# sourceMappingURL=createFormMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormMiddleware.js","names":["_setSubmitStatus","require","_submitSucceeded","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","createFormMiddleware","store","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","values","rawValues","initialValues","submitPromise","_asyncToGenerator2","_regenerator","mark","_callee","_iterator","_step","fn","wrap","_callee$","_context","prev","validationError","t0","finish","stop","dispatch","setSubmitStatus","submittedValues","rawSubmittedValues","submitError","undefined","submitSucceeded","submitFailed","then","_callee2","_iterator2","_step2","_callee2$","_context2","abrupt","_ref3","_callee3","error","_iterator3","_step3","_callee3$","_context3","_x","apply","arguments","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/ban-types\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n values,\n rawValues,\n initialValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit) await fn(values, { initialValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedValues: values,\n rawSubmittedValues: rawValues,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ import { setSubmitStatus } from "./actions/setSubmitStatus.mjs";
2
+ import { submitSucceeded } from "./actions/submitSucceeded.mjs";
3
+ export function createFormMiddleware() {
4
+ return store => next => action => {
5
+ const result = next(action);
6
+ const nextState = store.getState();
7
+ if (isSubmitAction(action) && !nextState.submitting) {
8
+ const {
9
+ onSubmit,
10
+ onSubmitSucceeded,
11
+ onSubmitFailed,
12
+ values,
13
+ rawValues,
14
+ initialValues
15
+ } = nextState;
16
+ const submitPromise = (async () => {
17
+ if (nextState.validationError) throw nextState.validationError;
18
+ for (const fn of onSubmit) await fn(values, {
19
+ initialValues
20
+ });
21
+ })();
22
+ store.dispatch(setSubmitStatus({
23
+ submitting: true,
24
+ submittedValues: values,
25
+ rawSubmittedValues: rawValues,
26
+ submitError: undefined,
27
+ submitSucceeded: false,
28
+ submitFailed: false,
29
+ submitPromise
30
+ }));
31
+ submitPromise.then(async () => {
32
+ if (store.getState().submitPromise !== submitPromise) return;
33
+ store.dispatch(submitSucceeded());
34
+ for (const fn of onSubmitSucceeded) await fn();
35
+ }, async error => {
36
+ if (store.getState().submitPromise !== submitPromise) return;
37
+ store.dispatch(setSubmitStatus({
38
+ submitting: false,
39
+ submitError: error,
40
+ submitSucceeded: false,
41
+ submitFailed: true,
42
+ submitPromise: undefined
43
+ }));
44
+ for (const fn of onSubmitFailed) await fn(error);
45
+ });
46
+ }
47
+ return result;
48
+ };
49
+ }
50
+ function isSubmitAction(action) {
51
+ return action instanceof Object && 'type' in action && action.type === 'submit';
52
+ }
53
+ //# sourceMappingURL=createFormMiddleware.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormMiddleware.mjs","names":["setSubmitStatus","submitSucceeded","createFormMiddleware","store","next","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","values","rawValues","initialValues","submitPromise","validationError","fn","dispatch","submittedValues","rawSubmittedValues","submitError","undefined","submitFailed","then","error","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/ban-types\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n values,\n rawValues,\n initialValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit) await fn(values, { initialValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedValues: values,\n rawSubmittedValues: rawValues,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"AAKA,SAASA,eAAe;AACxB,SAASC,eAAe;AAExB,OAAO,SAASC,oBAAoBA,CAAA,EAKlC;EACA,OAAQC,KAAK,IAAMC,IAAI,IAAMC,MAAM,IAAK;IACtC,MAAMC,MAAoB,GAAGF,IAAI,CAACC,MAAM,CAAQ;IAEhD,MAAME,SAAS,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;IAElC,IAAIC,cAAc,CAACJ,MAAM,CAAC,IAAI,CAACE,SAAS,CAACG,UAAU,EAAE;MACnD,MAAM;QACJC,QAAQ;QACRC,iBAAiB;QACjBC,cAAc;QACdC,MAAM;QACNC,SAAS;QACTC;MACF,CAAC,GAAGT,SAAS;MACb,MAAMU,aAAa,GAAG,CAAC,YAAY;QACjC,IAAIV,SAAS,CAACW,eAAe,EAAE,MAAMX,SAAS,CAACW,eAAe;QAC9D,KAAK,MAAMC,EAAE,IAAIR,QAAQ,EAAE,MAAMQ,EAAE,CAACL,MAAM,EAAE;UAAEE;QAAc,CAAC,CAAC;MAChE,CAAC,EAAE,CAAC;MACJb,KAAK,CAACiB,QAAQ,CACZpB,eAAe,CAAC;QACdU,UAAU,EAAE,IAAI;QAChBW,eAAe,EAAEP,MAAM;QACvBQ,kBAAkB,EAAEP,SAAS;QAC7BQ,WAAW,EAAEC,SAAS;QACtBvB,eAAe,EAAE,KAAK;QACtBwB,YAAY,EAAE,KAAK;QACnBR;MACF,CAAC,CACH,CAAC;MACDA,aAAa,CAACS,IAAI,CAChB,YAAY;QACV,IAAIvB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACS,aAAa,KAAKA,aAAa,EAAE;QACtDd,KAAK,CAACiB,QAAQ,CAACnB,eAAe,CAAC,CAAC,CAAC;QACjC,KAAK,MAAMkB,EAAE,IAAIP,iBAAiB,EAAE,MAAMO,EAAE,CAAC,CAAC;MAChD,CAAC,EACD,MAAOQ,KAAK,IAAK;QACf,IAAIxB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACS,aAAa,KAAKA,aAAa,EAAE;QACtDd,KAAK,CAACiB,QAAQ,CACZpB,eAAe,CAAC;UACdU,UAAU,EAAE,KAAK;UACjBa,WAAW,EAAEI,KAAK;UAClB1B,eAAe,EAAE,KAAK;UACtBwB,YAAY,EAAE,IAAI;UAClBR,aAAa,EAAEO;QACjB,CAAC,CACH,CAAC;QACD,KAAK,MAAML,EAAE,IAAIN,cAAc,EAAE,MAAMM,EAAE,CAACQ,KAAK,CAAC;MAClD,CACF,CAAC;IACH;IAEA,OAAOrB,MAAM;EACf,CAAC;AACH;AAEA,SAASG,cAAcA,CAACJ,MAAW,EAA0B;EAC3D,OACEA,MAAM,YAAYuB,MAAM,IAAI,MAAM,IAAIvB,MAAM,IAAIA,MAAM,CAACwB,IAAI,KAAK,QAAQ;AAE5E","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import z from 'zod';
3
+ import { FormContextProps } from './FormContext';
4
+ export declare const createFormProvider: <T extends z.ZodTypeAny>(props: Pick<FormContextProps<T>, "root" | "schema" | "inverseSchema" | "selectFormStatus" | "selectFieldErrorMap" | "selectFormValues">) => ({ children }: {
5
+ children: React.ReactElement;
6
+ }) => React.JSX.Element;
7
+ //# sourceMappingURL=createFormProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormProvider.d.ts","sourceRoot":"","sources":["src/createFormProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,CAAC,MAAM,KAAK,CAAA;AASnB,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAU7D,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,SAChD,IAAI,CACT,gBAAgB,CAAC,CAAC,CAAC,EACjB,MAAM,GACN,QAAQ,GACR,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,CACrB,oBAEmC;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,sBAoEnE,CAAA"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createFormProvider = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _redux = require("redux");
11
+ var _setMounted = require("./actions/setMounted.js");
12
+ var _createFormReducer = require("./createFormReducer.js");
13
+ var _reactRedux = require("react-redux");
14
+ var _initialize = require("./actions/initialize.js");
15
+ var _setRawValue = require("./actions/setRawValue.js");
16
+ var _setValue = require("./actions/setValue.js");
17
+ var _FormContext = require("./FormContext.js");
18
+ var _FormStateContext = require("./FormStateContext.js");
19
+ var _createFormMiddleware = require("./createFormMiddleware.js");
20
+ var _submit = require("./actions/submit.js");
21
+ var _setSubmitStatus = require("./actions/setSubmitStatus.js");
22
+ var _setMeta = require("./actions/setMeta.js");
23
+ var _addHandlers = require("./actions/addHandlers.js");
24
+ var _removeHandlers = require("./actions/removeHandlers.js");
25
+ var _arrayActions = require("./actions/arrayActions.js");
26
+ 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; }
27
+ 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; }
28
+ var createFormProvider = exports.createFormProvider = function createFormProvider(props) {
29
+ return function FormProvider(_ref) {
30
+ var children = _ref.children;
31
+ var storeRef = _react["default"].useRef();
32
+ if (!storeRef.current) {
33
+ storeRef.current = (0, _redux.createStore)((0, _createFormReducer.createFormReducer)(props), (0, _redux.applyMiddleware)((0, _createFormMiddleware.createFormMiddleware)()));
34
+ }
35
+ var store = storeRef.current;
36
+ var dispatch = store.dispatch;
37
+ var getValues = _react["default"].useCallback(function () {
38
+ return store.getState().values;
39
+ }, []);
40
+ var getRawValues = _react["default"].useCallback(function () {
41
+ return store.getState().rawValues;
42
+ }, []);
43
+ var getInitialValues = _react["default"].useCallback(function () {
44
+ return store.getState().initialValues;
45
+ }, []);
46
+ var getRawInitialValues = _react["default"].useCallback(function () {
47
+ return store.getState().rawInitialValues;
48
+ }, []);
49
+ var getStatus = _react["default"].useCallback(function () {
50
+ return props.selectFormStatus(store.getState());
51
+ }, []);
52
+ _react["default"].useEffect(function () {
53
+ return function () {
54
+ store.dispatch((0, _setMounted.setMounted)(false));
55
+ };
56
+ }, []);
57
+ var formContext = _react["default"].useMemo(function () {
58
+ return _objectSpread(_objectSpread(_objectSpread({}, props), {}, {
59
+ getValues: getValues,
60
+ getRawValues: getRawValues,
61
+ getInitialValues: getInitialValues,
62
+ getRawInitialValues: getRawInitialValues,
63
+ getStatus: getStatus
64
+ }, (0, _redux.bindActionCreators)({
65
+ initialize: _initialize.initialize,
66
+ addHandlers: _addHandlers.addHandlers,
67
+ removeHandlers: _removeHandlers.removeHandlers,
68
+ submit: _submit.submit,
69
+ setSubmitStatus: _setSubmitStatus.setSubmitStatus,
70
+ setMeta: _setMeta.setMeta,
71
+ setRawValue: _setRawValue.setRawValue,
72
+ setValue: _setValue.setValue
73
+ }, dispatch)), {}, {
74
+ arrayActions: (0, _redux.bindActionCreators)(_arrayActions.arrayActions, dispatch)
75
+ });
76
+ }, []);
77
+ return /*#__PURE__*/_react["default"].createElement(_FormContext.FormContext.Provider, {
78
+ value: formContext
79
+ }, /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
80
+ store: store,
81
+ context: _FormStateContext.FormStateContext
82
+ }, children));
83
+ };
84
+ };
85
+ //# sourceMappingURL=createFormProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormProvider.js","names":["_react","_interopRequireDefault","require","_redux","_setMounted","_createFormReducer","_reactRedux","_initialize","_setRawValue","_setValue","_FormContext","_FormStateContext","_createFormMiddleware","_submit","_setSubmitStatus","_setMeta","_addHandlers","_removeHandlers","_arrayActions","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","createFormProvider","exports","props","FormProvider","_ref","children","storeRef","React","useRef","current","createStore","createFormReducer","applyMiddleware","createFormMiddleware","store","dispatch","getValues","useCallback","getState","values","getRawValues","rawValues","getInitialValues","initialValues","getRawInitialValues","rawInitialValues","getStatus","selectFormStatus","useEffect","setMounted","formContext","useMemo","bindActionCreators","initialize","addHandlers","removeHandlers","submit","setSubmitStatus","setMeta","setRawValue","setValue","arrayActions","createElement","FormContext","Provider","value","context","FormStateContext"],"sources":["src/createFormProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { Store, applyMiddleware, bindActionCreators, createStore } from 'redux'\nimport z from 'zod'\nimport { setMounted } from './actions/setMounted'\nimport { createFormReducer } from './createFormReducer'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { Provider } from 'react-redux'\nimport { initialize } from './actions/initialize'\nimport { setRawValue } from './actions/setRawValue'\nimport { setValue } from './actions/setValue'\nimport { FormContext, FormContextProps } from './FormContext'\nimport { FormStateContext } from './FormStateContext'\nimport { createFormMiddleware } from './createFormMiddleware'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\n\nexport const createFormProvider = <T extends z.ZodTypeAny>(\n props: Pick<\n FormContextProps<T>,\n | 'root'\n | 'schema'\n | 'inverseSchema'\n | 'selectFormStatus'\n | 'selectFieldErrorMap'\n | 'selectFormValues'\n >\n) =>\n function FormProvider({ children }: { children: React.ReactElement }) {\n const storeRef = React.useRef<Store<FormState<T>, FormAction<T>>>()\n if (!storeRef.current) {\n storeRef.current = createStore(\n createFormReducer(props),\n applyMiddleware(createFormMiddleware())\n )\n }\n const store = storeRef.current\n const { dispatch } = store\n\n const getValues = React.useCallback(() => store.getState().values, [])\n const getRawValues = React.useCallback(() => store.getState().rawValues, [])\n const getInitialValues = React.useCallback(\n () => store.getState().initialValues,\n []\n )\n const getRawInitialValues = React.useCallback(\n () => store.getState().rawInitialValues,\n []\n )\n const getStatus = React.useCallback(\n () => props.selectFormStatus(store.getState()),\n []\n )\n\n React.useEffect(\n () => () => {\n store.dispatch(setMounted(false))\n },\n []\n )\n const formContext = React.useMemo(\n (): FormContextProps<T> => ({\n ...props,\n getValues,\n getRawValues,\n getInitialValues,\n getRawInitialValues,\n getStatus,\n ...bindActionCreators(\n {\n initialize: initialize<T>,\n addHandlers: addHandlers<T>,\n removeHandlers: removeHandlers<T>,\n submit,\n setSubmitStatus: setSubmitStatus<T>,\n setMeta: setMeta as any,\n setRawValue: setRawValue as any,\n setValue: setValue as any,\n },\n dispatch\n ),\n arrayActions: bindActionCreators(arrayActions, dispatch),\n }),\n []\n )\n\n return (\n <FormContext.Provider value={formContext as any}>\n <Provider\n store={store}\n context={FormStateContext as FormStateContext<T>}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n )\n }\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { applyMiddleware, bindActionCreators, createStore } from 'redux';
3
+ import { setMounted } from "./actions/setMounted.mjs";
4
+ import { createFormReducer } from "./createFormReducer.mjs";
5
+ import { Provider } from 'react-redux';
6
+ import { initialize } from "./actions/initialize.mjs";
7
+ import { setRawValue } from "./actions/setRawValue.mjs";
8
+ import { setValue } from "./actions/setValue.mjs";
9
+ import { FormContext } from "./FormContext.mjs";
10
+ import { FormStateContext } from "./FormStateContext.mjs";
11
+ import { createFormMiddleware } from "./createFormMiddleware.mjs";
12
+ import { submit } from "./actions/submit.mjs";
13
+ import { setSubmitStatus } from "./actions/setSubmitStatus.mjs";
14
+ import { setMeta } from "./actions/setMeta.mjs";
15
+ import { addHandlers } from "./actions/addHandlers.mjs";
16
+ import { removeHandlers } from "./actions/removeHandlers.mjs";
17
+ import { arrayActions } from "./actions/arrayActions.mjs";
18
+ export const createFormProvider = props => function FormProvider({
19
+ children
20
+ }) {
21
+ const storeRef = React.useRef();
22
+ if (!storeRef.current) {
23
+ storeRef.current = createStore(createFormReducer(props), applyMiddleware(createFormMiddleware()));
24
+ }
25
+ const store = storeRef.current;
26
+ const {
27
+ dispatch
28
+ } = store;
29
+ const getValues = React.useCallback(() => store.getState().values, []);
30
+ const getRawValues = React.useCallback(() => store.getState().rawValues, []);
31
+ const getInitialValues = React.useCallback(() => store.getState().initialValues, []);
32
+ const getRawInitialValues = React.useCallback(() => store.getState().rawInitialValues, []);
33
+ const getStatus = React.useCallback(() => props.selectFormStatus(store.getState()), []);
34
+ React.useEffect(() => () => {
35
+ store.dispatch(setMounted(false));
36
+ }, []);
37
+ const formContext = React.useMemo(() => ({
38
+ ...props,
39
+ getValues,
40
+ getRawValues,
41
+ getInitialValues,
42
+ getRawInitialValues,
43
+ getStatus,
44
+ ...bindActionCreators({
45
+ initialize: initialize,
46
+ addHandlers: addHandlers,
47
+ removeHandlers: removeHandlers,
48
+ submit,
49
+ setSubmitStatus: setSubmitStatus,
50
+ setMeta: setMeta,
51
+ setRawValue: setRawValue,
52
+ setValue: setValue
53
+ }, dispatch),
54
+ arrayActions: bindActionCreators(arrayActions, dispatch)
55
+ }), []);
56
+ return /*#__PURE__*/React.createElement(FormContext.Provider, {
57
+ value: formContext
58
+ }, /*#__PURE__*/React.createElement(Provider, {
59
+ store: store,
60
+ context: FormStateContext
61
+ }, children));
62
+ };
63
+ //# sourceMappingURL=createFormProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormProvider.mjs","names":["React","applyMiddleware","bindActionCreators","createStore","setMounted","createFormReducer","Provider","initialize","setRawValue","setValue","FormContext","FormStateContext","createFormMiddleware","submit","setSubmitStatus","setMeta","addHandlers","removeHandlers","arrayActions","createFormProvider","props","FormProvider","children","storeRef","useRef","current","store","dispatch","getValues","useCallback","getState","values","getRawValues","rawValues","getInitialValues","initialValues","getRawInitialValues","rawInitialValues","getStatus","selectFormStatus","useEffect","formContext","useMemo","createElement","value","context"],"sources":["src/createFormProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { Store, applyMiddleware, bindActionCreators, createStore } from 'redux'\nimport z from 'zod'\nimport { setMounted } from './actions/setMounted'\nimport { createFormReducer } from './createFormReducer'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { Provider } from 'react-redux'\nimport { initialize } from './actions/initialize'\nimport { setRawValue } from './actions/setRawValue'\nimport { setValue } from './actions/setValue'\nimport { FormContext, FormContextProps } from './FormContext'\nimport { FormStateContext } from './FormStateContext'\nimport { createFormMiddleware } from './createFormMiddleware'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\n\nexport const createFormProvider = <T extends z.ZodTypeAny>(\n props: Pick<\n FormContextProps<T>,\n | 'root'\n | 'schema'\n | 'inverseSchema'\n | 'selectFormStatus'\n | 'selectFieldErrorMap'\n | 'selectFormValues'\n >\n) =>\n function FormProvider({ children }: { children: React.ReactElement }) {\n const storeRef = React.useRef<Store<FormState<T>, FormAction<T>>>()\n if (!storeRef.current) {\n storeRef.current = createStore(\n createFormReducer(props),\n applyMiddleware(createFormMiddleware())\n )\n }\n const store = storeRef.current\n const { dispatch } = store\n\n const getValues = React.useCallback(() => store.getState().values, [])\n const getRawValues = React.useCallback(() => store.getState().rawValues, [])\n const getInitialValues = React.useCallback(\n () => store.getState().initialValues,\n []\n )\n const getRawInitialValues = React.useCallback(\n () => store.getState().rawInitialValues,\n []\n )\n const getStatus = React.useCallback(\n () => props.selectFormStatus(store.getState()),\n []\n )\n\n React.useEffect(\n () => () => {\n store.dispatch(setMounted(false))\n },\n []\n )\n const formContext = React.useMemo(\n (): FormContextProps<T> => ({\n ...props,\n getValues,\n getRawValues,\n getInitialValues,\n getRawInitialValues,\n getStatus,\n ...bindActionCreators(\n {\n initialize: initialize<T>,\n addHandlers: addHandlers<T>,\n removeHandlers: removeHandlers<T>,\n submit,\n setSubmitStatus: setSubmitStatus<T>,\n setMeta: setMeta as any,\n setRawValue: setRawValue as any,\n setValue: setValue as any,\n },\n dispatch\n ),\n arrayActions: bindActionCreators(arrayActions, dispatch),\n }),\n []\n )\n\n return (\n <FormContext.Provider value={formContext as any}>\n <Provider\n store={store}\n context={FormStateContext as FormStateContext<T>}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n )\n }\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { Reducer } from 'redux';
2
+ import z from 'zod';
3
+ import { FormAction } from './FormAction';
4
+ import { FormState } from './FormState';
5
+ export declare function createFormReducer<T extends z.ZodTypeAny>(options: {
6
+ schema: T;
7
+ inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>;
8
+ }): Reducer<FormState<T>, FormAction<T>>;
9
+ //# sourceMappingURL=createFormReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormReducer.d.ts","sourceRoot":"","sources":["src/createFormReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAyBvC,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE;IACjE,MAAM,EAAE,CAAC,CAAA;IACT,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;CACvD,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CA2DvC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createFormReducer = createFormReducer;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _initFormState = require("./initFormState.js");
10
+ var _addHandlers = require("./reducers/addHandlers.js");
11
+ var _removeHandlers = require("./reducers/removeHandlers.js");
12
+ var _setValue = require("./reducers/setValue.js");
13
+ var _setRawValue = require("./reducers/setRawValue.js");
14
+ var _setMeta = require("./reducers/setMeta.js");
15
+ var _submitSucceeded = require("./reducers/submitSucceeded.js");
16
+ var _setSubmitStatus = require("./reducers/setSubmitStatus.js");
17
+ var _initialize = require("./reducers/initialize.js");
18
+ var _arrayPop = require("./reducers/arrayPop.js");
19
+ var _arrayMove = require("./reducers/arrayMove.js");
20
+ var _arrayRemove = require("./reducers/arrayRemove.js");
21
+ var _arrayRemoveAll = require("./reducers/arrayRemoveAll.js");
22
+ var _arrayShift = require("./reducers/arrayShift.js");
23
+ var _arraySwap = require("./reducers/arraySwap.js");
24
+ var _arrayPushRaw = require("./reducers/arrayPushRaw.js");
25
+ var _arrayInsertRaw = require("./reducers/arrayInsertRaw.js");
26
+ var _arraySpliceRaw = require("./reducers/arraySpliceRaw.js");
27
+ var _arrayUnshiftRaw = require("./reducers/arrayUnshiftRaw.js");
28
+ var _arrayPush = require("./reducers/arrayPush.js");
29
+ var _arrayUnshift = require("./reducers/arrayUnshift.js");
30
+ var _arrayInsert = require("./reducers/arrayInsert.js");
31
+ var _arraySplice = require("./reducers/arraySplice.js");
32
+ 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; }
33
+ 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; }
34
+ function createFormReducer(options) {
35
+ var initializeReducer = (0, _initialize.createInitializeReducer)(options);
36
+ var setValueReducer = (0, _setValue.createSetValueReducer)(options);
37
+ var setRawValueReducer = (0, _setRawValue.createSetRawValueReducer)(options);
38
+ var formReducer = function formReducer() {
39
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _initFormState.initFormState)();
40
+ var action = arguments.length > 1 ? arguments[1] : undefined;
41
+ switch (action.type) {
42
+ case 'setMounted':
43
+ return _objectSpread(_objectSpread({}, state), {}, {
44
+ mounted: action.mounted
45
+ });
46
+ case 'addHandlers':
47
+ return (0, _addHandlers.addHandlersReducer)(state, action);
48
+ case 'removeHandlers':
49
+ return (0, _removeHandlers.removeHandlersReducer)(state, action);
50
+ case 'initialize':
51
+ return initializeReducer(state, action);
52
+ case 'setSubmitStatus':
53
+ return (0, _setSubmitStatus.setSubmitStatusReducer)(state, action);
54
+ case 'submitSucceeded':
55
+ return (0, _submitSucceeded.submitSucceededReducer)(state);
56
+ case 'setValue':
57
+ return setValueReducer(state, action);
58
+ case 'setRawValue':
59
+ return setRawValueReducer(state, action);
60
+ case 'setMeta':
61
+ return (0, _setMeta.setMetaReducer)(state, action);
62
+ case 'arrayInsert':
63
+ return (0, _arrayInsert.arrayInsertReducer)(formReducer, state, action);
64
+ case 'arrayInsertRaw':
65
+ return (0, _arrayInsertRaw.arrayInsertRawReducer)(formReducer, state, action);
66
+ case 'arrayMove':
67
+ return (0, _arrayMove.arrayMoveReducer)(formReducer, state, action);
68
+ case 'arrayPop':
69
+ return (0, _arrayPop.arrayPopReducer)(formReducer, state, action);
70
+ case 'arrayPush':
71
+ return (0, _arrayPush.arrayPushReducer)(formReducer, state, action);
72
+ case 'arrayPushRaw':
73
+ return (0, _arrayPushRaw.arrayPushRawReducer)(formReducer, state, action);
74
+ case 'arrayRemove':
75
+ return (0, _arrayRemove.arrayRemoveReducer)(formReducer, state, action);
76
+ case 'arrayRemoveAll':
77
+ return (0, _arrayRemoveAll.arrayRemoveAllReducer)(formReducer, state, action);
78
+ case 'arrayShift':
79
+ return (0, _arrayShift.arrayShiftReducer)(formReducer, state, action);
80
+ case 'arraySplice':
81
+ return (0, _arraySplice.arraySpliceReducer)(formReducer, state, action);
82
+ case 'arraySpliceRaw':
83
+ return (0, _arraySpliceRaw.arraySpliceRawReducer)(formReducer, state, action);
84
+ case 'arraySwap':
85
+ return (0, _arraySwap.arraySwapReducer)(formReducer, state, action);
86
+ case 'arrayUnshift':
87
+ return (0, _arrayUnshift.arrayUnshiftReducer)(formReducer, state, action);
88
+ case 'arrayUnshiftRaw':
89
+ return (0, _arrayUnshiftRaw.arrayUnshiftRawReducer)(formReducer, state, action);
90
+ }
91
+ return state;
92
+ };
93
+ return formReducer;
94
+ }
95
+ //# sourceMappingURL=createFormReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormReducer.js","names":["_initFormState","require","_addHandlers","_removeHandlers","_setValue","_setRawValue","_setMeta","_submitSucceeded","_setSubmitStatus","_initialize","_arrayPop","_arrayMove","_arrayRemove","_arrayRemoveAll","_arrayShift","_arraySwap","_arrayPushRaw","_arrayInsertRaw","_arraySpliceRaw","_arrayUnshiftRaw","_arrayPush","_arrayUnshift","_arrayInsert","_arraySplice","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","createFormReducer","options","initializeReducer","createInitializeReducer","setValueReducer","createSetValueReducer","setRawValueReducer","createSetRawValueReducer","formReducer","state","undefined","initFormState","action","type","mounted","addHandlersReducer","removeHandlersReducer","setSubmitStatusReducer","submitSucceededReducer","setMetaReducer","arrayInsertReducer","arrayInsertRawReducer","arrayMoveReducer","arrayPopReducer","arrayPushReducer","arrayPushRawReducer","arrayRemoveReducer","arrayRemoveAllReducer","arrayShiftReducer","arraySpliceReducer","arraySpliceRawReducer","arraySwapReducer","arrayUnshiftReducer","arrayUnshiftRawReducer"],"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":"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","ignoreList":[]}