@jcoreio/zod-forms 1.2.1 → 2.0.0-beta.2

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 (257) hide show
  1. package/FieldPath.d.ts +2 -2
  2. package/FieldPath.d.ts.map +1 -1
  3. package/FieldPath.js.map +1 -1
  4. package/FieldPath.mjs.map +1 -1
  5. package/FormAction.d.ts +2 -2
  6. package/FormAction.d.ts.map +1 -1
  7. package/FormAction.js.map +1 -1
  8. package/FormAction.mjs.map +1 -1
  9. package/FormContext.d.ts +7 -6
  10. package/FormContext.d.ts.map +1 -1
  11. package/FormContext.js.map +1 -1
  12. package/FormContext.mjs.map +1 -1
  13. package/FormState.d.ts +10 -8
  14. package/FormState.d.ts.map +1 -1
  15. package/FormState.js.map +1 -1
  16. package/FormState.mjs.map +1 -1
  17. package/README.md +2 -2
  18. package/actions/arrayActions.d.ts +40 -39
  19. package/actions/arrayActions.d.ts.map +1 -1
  20. package/actions/arrayActions.js +37 -37
  21. package/actions/arrayActions.js.map +1 -1
  22. package/actions/arrayActions.mjs +29 -29
  23. package/actions/arrayActions.mjs.map +1 -1
  24. package/actions/initialize.d.ts +5 -4
  25. package/actions/initialize.d.ts.map +1 -1
  26. package/actions/initialize.js.map +1 -1
  27. package/actions/initialize.mjs.map +1 -1
  28. package/actions/setParsedValue.d.ts +12 -0
  29. package/actions/setParsedValue.d.ts.map +1 -0
  30. package/{reducers/setRawValue.js → actions/setParsedValue.js} +9 -26
  31. package/actions/setParsedValue.js.map +1 -0
  32. package/actions/setParsedValue.mjs +9 -0
  33. package/actions/setParsedValue.mjs.map +1 -0
  34. package/actions/setSubmitStatus.d.ts +3 -3
  35. package/actions/setSubmitStatus.d.ts.map +1 -1
  36. package/actions/setSubmitStatus.js.map +1 -1
  37. package/actions/setSubmitStatus.mjs.map +1 -1
  38. package/actions/setValue.d.ts +3 -5
  39. package/actions/setValue.d.ts.map +1 -1
  40. package/actions/setValue.js +3 -7
  41. package/actions/setValue.js.map +1 -1
  42. package/actions/setValue.mjs +2 -3
  43. package/actions/setValue.mjs.map +1 -1
  44. package/createFormMiddleware.d.ts.map +1 -1
  45. package/createFormMiddleware.js +7 -5
  46. package/createFormMiddleware.js.map +1 -1
  47. package/createFormMiddleware.mjs +7 -5
  48. package/createFormMiddleware.mjs.map +1 -1
  49. package/createFormProvider.d.ts.map +1 -1
  50. package/createFormProvider.js +10 -10
  51. package/createFormProvider.js.map +1 -1
  52. package/createFormProvider.mjs +7 -7
  53. package/createFormProvider.mjs.map +1 -1
  54. package/createFormReducer.js +17 -17
  55. package/createFormReducer.js.map +1 -1
  56. package/createFormReducer.mjs +17 -17
  57. package/createFormReducer.mjs.map +1 -1
  58. package/createSelectFormStatus.d.ts +1 -1
  59. package/createSelectFormStatus.d.ts.map +1 -1
  60. package/createSelectFormStatus.js +6 -6
  61. package/createSelectFormStatus.js.map +1 -1
  62. package/createSelectFormStatus.mjs +1 -1
  63. package/createSelectFormStatus.mjs.map +1 -1
  64. package/createSelectFormValues.d.ts +19 -19
  65. package/createSelectFormValues.d.ts.map +1 -1
  66. package/createSelectFormValues.js +5 -5
  67. package/createSelectFormValues.js.map +1 -1
  68. package/createSelectFormValues.mjs +3 -3
  69. package/createSelectFormValues.mjs.map +1 -1
  70. package/createZodForm.d.ts +4 -4
  71. package/index.d.ts +1 -1
  72. package/index.d.ts.map +1 -1
  73. package/index.js.map +1 -1
  74. package/index.mjs.map +1 -1
  75. package/initFormState.js +1 -1
  76. package/initFormState.js.map +1 -1
  77. package/initFormState.mjs +1 -1
  78. package/initFormState.mjs.map +1 -1
  79. package/package.json +4 -1
  80. package/reducers/addHandlers.d.ts +6 -6
  81. package/reducers/arrayInsert.d.ts.map +1 -1
  82. package/reducers/arrayInsert.js +10 -4
  83. package/reducers/arrayInsert.js.map +1 -1
  84. package/reducers/arrayInsert.mjs +6 -4
  85. package/reducers/arrayInsert.mjs.map +1 -1
  86. package/reducers/arrayInsertParsed.d.ts +7 -0
  87. package/reducers/arrayInsertParsed.d.ts.map +1 -0
  88. package/reducers/arrayInsertParsed.js +16 -0
  89. package/reducers/arrayInsertParsed.js.map +1 -0
  90. package/reducers/arrayInsertParsed.mjs +12 -0
  91. package/reducers/arrayInsertParsed.mjs.map +1 -0
  92. package/reducers/arrayPush.d.ts.map +1 -1
  93. package/reducers/arrayPush.js +6 -4
  94. package/reducers/arrayPush.js.map +1 -1
  95. package/reducers/arrayPush.mjs +2 -4
  96. package/reducers/arrayPush.mjs.map +1 -1
  97. package/reducers/arrayPushParsed.d.ts +7 -0
  98. package/reducers/{arrayUnshiftRaw.d.ts.map → arrayPushParsed.d.ts.map} +1 -1
  99. package/reducers/arrayPushParsed.js +15 -0
  100. package/reducers/arrayPushParsed.js.map +1 -0
  101. package/reducers/arrayPushParsed.mjs +11 -0
  102. package/reducers/arrayPushParsed.mjs.map +1 -0
  103. package/reducers/arraySplice.d.ts.map +1 -1
  104. package/reducers/arraySplice.js +12 -6
  105. package/reducers/arraySplice.js.map +1 -1
  106. package/reducers/arraySplice.mjs +9 -5
  107. package/reducers/arraySplice.mjs.map +1 -1
  108. package/reducers/arraySpliceParsed.d.ts +7 -0
  109. package/reducers/arraySpliceParsed.d.ts.map +1 -0
  110. package/reducers/arraySpliceParsed.js +20 -0
  111. package/reducers/arraySpliceParsed.js.map +1 -0
  112. package/reducers/arraySpliceParsed.mjs +14 -0
  113. package/reducers/arraySpliceParsed.mjs.map +1 -0
  114. package/reducers/arrayUnshift.d.ts.map +1 -1
  115. package/reducers/arrayUnshift.js +6 -4
  116. package/reducers/arrayUnshift.js.map +1 -1
  117. package/reducers/arrayUnshift.mjs +2 -4
  118. package/reducers/arrayUnshift.mjs.map +1 -1
  119. package/reducers/arrayUnshiftParsed.d.ts +7 -0
  120. package/reducers/arrayUnshiftParsed.d.ts.map +1 -0
  121. package/reducers/arrayUnshiftParsed.js +15 -0
  122. package/reducers/arrayUnshiftParsed.js.map +1 -0
  123. package/reducers/arrayUnshiftParsed.mjs +11 -0
  124. package/reducers/arrayUnshiftParsed.mjs.map +1 -0
  125. package/reducers/initialize.d.ts +12 -12
  126. package/reducers/initialize.d.ts.map +1 -1
  127. package/reducers/initialize.js +9 -9
  128. package/reducers/initialize.js.map +1 -1
  129. package/reducers/initialize.mjs +8 -8
  130. package/reducers/initialize.mjs.map +1 -1
  131. package/reducers/removeHandlers.d.ts +6 -6
  132. package/reducers/setParsedValue.d.ts +47 -0
  133. package/reducers/setParsedValue.d.ts.map +1 -0
  134. package/reducers/setParsedValue.js +41 -0
  135. package/reducers/setParsedValue.js.map +1 -0
  136. package/reducers/setParsedValue.mjs +32 -0
  137. package/reducers/setParsedValue.mjs.map +1 -0
  138. package/reducers/setSubmitStatus.d.ts +6 -6
  139. package/reducers/setValue.d.ts +9 -10
  140. package/reducers/setValue.d.ts.map +1 -1
  141. package/reducers/setValue.js +9 -15
  142. package/reducers/setValue.js.map +1 -1
  143. package/reducers/setValue.mjs +9 -15
  144. package/reducers/setValue.mjs.map +1 -1
  145. package/reducers/submitSucceeded.d.ts +6 -6
  146. package/reducers/submitSucceeded.js +2 -2
  147. package/reducers/submitSucceeded.js.map +1 -1
  148. package/reducers/submitSucceeded.mjs +2 -2
  149. package/reducers/submitSucceeded.mjs.map +1 -1
  150. package/reducers/util/updateRawArray.d.ts +2 -2
  151. package/reducers/util/updateRawArray.d.ts.map +1 -1
  152. package/reducers/util/updateRawArray.js +3 -3
  153. package/reducers/util/updateRawArray.js.map +1 -1
  154. package/reducers/util/updateRawArray.mjs +3 -3
  155. package/reducers/util/updateRawArray.mjs.map +1 -1
  156. package/src/FieldPath.ts +3 -5
  157. package/src/FormAction.ts +2 -2
  158. package/src/FormContext.ts +7 -6
  159. package/src/FormState.ts +12 -8
  160. package/src/actions/arrayActions.ts +66 -58
  161. package/src/actions/initialize.ts +3 -2
  162. package/src/actions/setParsedValue.ts +21 -0
  163. package/src/actions/setSubmitStatus.ts +1 -1
  164. package/src/actions/setValue.ts +2 -5
  165. package/src/createFormMiddleware.ts +5 -3
  166. package/src/createFormProvider.tsx +12 -9
  167. package/src/createFormReducer.ts +17 -17
  168. package/src/createSelectFormStatus.ts +5 -5
  169. package/src/createSelectFormValues.ts +2 -2
  170. package/src/index.ts +1 -1
  171. package/src/initFormState.ts +1 -1
  172. package/src/reducers/arrayInsert.ts +9 -6
  173. package/src/reducers/arrayInsertParsed.ts +19 -0
  174. package/src/reducers/arrayPush.ts +5 -7
  175. package/src/reducers/arrayPushParsed.ts +23 -0
  176. package/src/reducers/arraySplice.ts +18 -5
  177. package/src/reducers/arraySpliceParsed.ts +17 -0
  178. package/src/reducers/arrayUnshift.ts +6 -4
  179. package/src/reducers/arrayUnshiftParsed.ts +16 -0
  180. package/src/reducers/initialize.ts +10 -8
  181. package/src/reducers/setParsedValue.ts +61 -0
  182. package/src/reducers/setValue.ts +12 -21
  183. package/src/reducers/submitSucceeded.ts +1 -1
  184. package/src/reducers/util/updateRawArray.ts +5 -5
  185. package/src/useArrayField.ts +13 -12
  186. package/src/useField.ts +26 -24
  187. package/src/useHtmlField.ts +42 -42
  188. package/src/useInitialize.ts +1 -1
  189. package/src/util/maybeParse.ts +2 -2
  190. package/useArrayField.d.ts +4 -4
  191. package/useArrayField.d.ts.map +1 -1
  192. package/useArrayField.js +8 -13
  193. package/useArrayField.js.map +1 -1
  194. package/useArrayField.mjs +3 -7
  195. package/useArrayField.mjs.map +1 -1
  196. package/useField.d.ts +7 -6
  197. package/useField.d.ts.map +1 -1
  198. package/useField.js +24 -24
  199. package/useField.js.map +1 -1
  200. package/useField.mjs +18 -18
  201. package/useField.mjs.map +1 -1
  202. package/useFormValues.d.ts +4 -4
  203. package/useHtmlField.js +40 -40
  204. package/useHtmlField.js.map +1 -1
  205. package/useHtmlField.mjs +36 -36
  206. package/useHtmlField.mjs.map +1 -1
  207. package/useInitialize.d.ts.map +1 -1
  208. package/useInitialize.js +1 -1
  209. package/useInitialize.js.map +1 -1
  210. package/useInitialize.mjs +1 -1
  211. package/useInitialize.mjs.map +1 -1
  212. package/util/maybeParse.d.ts +1 -1
  213. package/util/maybeParse.d.ts.map +1 -1
  214. package/util/maybeParse.js +2 -2
  215. package/util/maybeParse.js.map +1 -1
  216. package/util/maybeParse.mjs +2 -2
  217. package/util/maybeParse.mjs.map +1 -1
  218. package/actions/setRawValue.d.ts +0 -9
  219. package/actions/setRawValue.d.ts.map +0 -1
  220. package/actions/setRawValue.js +0 -14
  221. package/actions/setRawValue.js.map +0 -1
  222. package/actions/setRawValue.mjs +0 -8
  223. package/actions/setRawValue.mjs.map +0 -1
  224. package/reducers/arrayInsertRaw.d.ts +0 -7
  225. package/reducers/arrayInsertRaw.d.ts.map +0 -1
  226. package/reducers/arrayInsertRaw.js +0 -22
  227. package/reducers/arrayInsertRaw.js.map +0 -1
  228. package/reducers/arrayInsertRaw.mjs +0 -14
  229. package/reducers/arrayInsertRaw.mjs.map +0 -1
  230. package/reducers/arrayPushRaw.d.ts +0 -7
  231. package/reducers/arrayPushRaw.d.ts.map +0 -1
  232. package/reducers/arrayPushRaw.js +0 -17
  233. package/reducers/arrayPushRaw.js.map +0 -1
  234. package/reducers/arrayPushRaw.mjs +0 -9
  235. package/reducers/arrayPushRaw.mjs.map +0 -1
  236. package/reducers/arraySpliceRaw.d.ts +0 -7
  237. package/reducers/arraySpliceRaw.d.ts.map +0 -1
  238. package/reducers/arraySpliceRaw.js +0 -26
  239. package/reducers/arraySpliceRaw.js.map +0 -1
  240. package/reducers/arraySpliceRaw.mjs +0 -18
  241. package/reducers/arraySpliceRaw.mjs.map +0 -1
  242. package/reducers/arrayUnshiftRaw.d.ts +0 -7
  243. package/reducers/arrayUnshiftRaw.js +0 -17
  244. package/reducers/arrayUnshiftRaw.js.map +0 -1
  245. package/reducers/arrayUnshiftRaw.mjs +0 -9
  246. package/reducers/arrayUnshiftRaw.mjs.map +0 -1
  247. package/reducers/setRawValue.d.ts +0 -27
  248. package/reducers/setRawValue.d.ts.map +0 -1
  249. package/reducers/setRawValue.js.map +0 -1
  250. package/reducers/setRawValue.mjs +0 -26
  251. package/reducers/setRawValue.mjs.map +0 -1
  252. package/src/actions/setRawValue.ts +0 -17
  253. package/src/reducers/arrayInsertRaw.ts +0 -22
  254. package/src/reducers/arrayPushRaw.ts +0 -18
  255. package/src/reducers/arraySpliceRaw.ts +0 -30
  256. package/src/reducers/arrayUnshiftRaw.ts +0 -18
  257. package/src/reducers/setRawValue.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"useHtmlField.mjs","names":["FieldPath","useField","React","invert","useFormContext","acceptsNumber","acceptsBigint","useHtmlFieldBase","options","field","type","normalizeOnBlur","props","value","rawValue","initialValue","rawInitialValue","setValue","setRawValue","setMeta","meta","schema","tempRawValue","setTempRawValue","useState","tryNumber","useMemo","tryBigint","onChange","useCallback","e","getRawValue","normalized","normalizeRawValue","onFocus","visited","onBlur","parsed","safeParse","formatted","success","data","undefined","touched","input","name","pathstring","String","checked","Boolean","target","HTMLInputElement","normalizeBlank","safeBigInt","BigInt","error","test","num","Number","isNaN","bigint","useHtmlField","rest","root","get"],"sources":["src/useHtmlField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath } from './FieldPath'\nimport { useField, UseFieldProps } from './useField'\nimport React, { ChangeEvent, HTMLInputTypeAttribute } from 'react'\nimport { invert } from 'zod-invertible'\nimport { useFormContext } from './useFormContext'\nimport { acceptsNumber } from './util/acceptsNumber'\nimport { acceptsBigint } from './util/acceptsBigint'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\n\nexport type HtmlFieldInputProps = {\n name: string\n type: HTMLInputTypeAttribute\n value: string\n checked?: boolean\n onChange: React.ChangeEventHandler\n onFocus: React.FocusEventHandler\n onBlur: React.FocusEventHandler\n}\n\nexport type ValidUseHtmlFieldProps<Field extends FieldPath> = {\n input: HtmlFieldInputProps\n meta: UseFieldProps<Field>\n}\n\nexport type UseHtmlFieldProps<Field extends FieldPath> = z.input<\n Field['schema']\n> extends string | number | bigint | boolean | null | undefined\n ? {\n input: HtmlFieldInputProps\n meta: UseFieldProps<Field>\n }\n : {\n ERROR: 'field schema input must be a nullish string, number, boolean or bigint'\n }\n\nexport type UseHtmlFieldOptions<\n Field,\n Schema extends z.ZodTypeAny = Field extends FieldPath<infer S>\n ? S\n : z.ZodTypeAny\n> = {\n field: Field\n type: z.input<Schema> extends boolean | null | undefined\n ? 'checkbox'\n : Exclude<HTMLInputTypeAttribute, 'checkbox'>\n normalizeOnBlur?: boolean\n}\n\nexport interface TypedUseHtmlField<T extends z.ZodTypeAny> {\n <Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n ): UseHtmlFieldProps<Field>\n <Path extends PathInSchema<T>>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, Path>>\n ): UseHtmlFieldProps<FieldPath<SchemaAt<T, Path>>>\n <Path extends PathstringInSchema<T>>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, parsePathstring<Path>>>\n ): UseHtmlFieldProps<FieldPath<SchemaAt<T, parsePathstring<Path>>>>\n}\n\nfunction useHtmlFieldBase<Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n): UseHtmlFieldProps<Field> {\n const { field, type, normalizeOnBlur = true } = options\n const props = useField(field)\n const {\n value,\n rawValue,\n initialValue,\n rawInitialValue,\n setValue,\n setRawValue,\n setMeta,\n ...meta\n } = props\n\n const { schema } = field\n\n // tempRawValue is used for storing blank text when we've coerced the\n // raw value to null or undefined, or storing numeric text when we've\n // coerced the raw value to a number or bigint.\n // This way we can set a raw value that will parse better in the form\n // state without interfering with the text the user is typing.\n const [tempRawValue, setTempRawValue] = React.useState(\n rawValue as string | null | undefined\n )\n\n const tryNumber = React.useMemo(() => acceptsNumber(schema), [schema])\n const tryBigint = React.useMemo(() => acceptsBigint(schema), [schema])\n\n const onChange = React.useCallback(\n (e: React.ChangeEvent) => {\n const rawValue = getRawValue(e)\n const normalized = normalizeRawValue(rawValue, {\n schema,\n tryNumber,\n tryBigint,\n })\n if (typeof rawValue === 'string' && typeof normalized !== 'string') {\n setTempRawValue(rawValue)\n }\n setRawValue(normalized)\n },\n [getRawValue, setRawValue, schema]\n )\n\n const onFocus = React.useCallback(() => {\n setMeta({ visited: true })\n }, [])\n\n const onBlur = React.useCallback(\n (e: React.FocusEvent) => {\n let rawValue = normalizeRawValue(getRawValue(e), {\n schema,\n tryNumber,\n tryBigint,\n })\n if (normalizeOnBlur) {\n const parsed = field.schema.safeParse(rawValue)\n const formatted = parsed.success\n ? invert(field.schema).safeParse(parsed.data)\n : undefined\n if (formatted?.success) rawValue = formatted.data\n setRawValue(rawValue)\n }\n setTempRawValue(undefined)\n setMeta({ visited: true, touched: true })\n },\n [getRawValue, setRawValue, schema]\n )\n\n return React.useMemo(\n (): ValidUseHtmlFieldProps<Field> => ({\n input: {\n name: field.pathstring,\n type,\n value:\n typeof rawValue === 'boolean'\n ? String(rawValue)\n : typeof rawValue === 'string'\n ? rawValue || tempRawValue || ''\n : tempRawValue || (rawValue == null ? '' : String(rawValue) || ''),\n ...(type === 'checkbox' && { checked: Boolean(rawValue) }),\n onChange,\n onFocus,\n onBlur,\n },\n meta: {\n ...meta,\n value,\n rawValue,\n initialValue,\n rawInitialValue,\n setValue,\n setRawValue,\n setMeta,\n },\n }),\n [props, tempRawValue, onChange]\n ) as any\n}\n\nfunction getRawValue(e: ChangeEvent) {\n const { target } = e\n if (target instanceof HTMLInputElement) {\n return target.type === 'checkbox' ? target.checked : target.value\n }\n return (target as any).value\n}\n\nfunction normalizeBlank(schema: z.ZodTypeAny): any {\n if (schema.safeParse(undefined).success) return undefined\n if (schema.safeParse(null).success) return null\n return undefined\n}\n\nfunction safeBigInt(rawValue: string): bigint | undefined {\n try {\n return BigInt(rawValue)\n } catch (error) {\n return undefined\n }\n}\n\nfunction normalizeRawValue(\n rawValue: string | boolean,\n {\n schema,\n tryNumber,\n tryBigint,\n }: { schema: z.ZodTypeAny; tryNumber: boolean; tryBigint: boolean }\n): string | boolean | number | bigint | null | undefined {\n if (typeof rawValue === 'boolean') return rawValue\n if (typeof rawValue === 'string' && !/\\S/.test(rawValue)) {\n return normalizeBlank(schema)\n }\n if (typeof rawValue === 'string' && !schema.safeParse(rawValue).success) {\n if (tryNumber) {\n const num = Number(rawValue)\n if (!isNaN(num)) return num\n }\n if (tryBigint) {\n const bigint = safeBigInt(rawValue)\n if (bigint != null) return bigint\n }\n }\n return rawValue\n}\n\nexport function useHtmlField<Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n): UseHtmlFieldProps<Field>\nexport function useHtmlField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseHtmlField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, Path>>\n): UseHtmlFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useHtmlField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseHtmlField<T> to pass a pathstring'\n >,\n Path extends PathstringInSchema<T> = any\n>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, parsePathstring<Path>>>\n): UseHtmlFieldProps<FieldPath<SchemaAt<T, parsePathstring<Path>>>>\nexport function useHtmlField<T extends z.ZodTypeAny>({\n field,\n ...rest\n}: UseHtmlFieldOptions<FieldPath | BasePath, T>): UseHtmlFieldProps<any> {\n const { root } = useFormContext<T>()\n return useHtmlFieldBase({\n field: field instanceof FieldPath ? field : root.get(field as any),\n ...rest,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useHtmlField.mjs","names":["FieldPath","useField","React","invert","useFormContext","acceptsNumber","acceptsBigint","useHtmlFieldBase","options","field","type","normalizeOnBlur","props","parsedValue","value","initialParsedValue","initialValue","setParsedValue","setValue","setMeta","meta","schema","tempValue","setTempValue","useState","tryNumber","useMemo","tryBigint","onChange","useCallback","e","getValue","normalized","normalizeValue","onFocus","visited","onBlur","parsed","safeParse","formatted","success","data","undefined","touched","input","name","pathstring","String","checked","Boolean","target","HTMLInputElement","normalizeBlank","safeBigInt","BigInt","error","test","num","Number","isNaN","bigint","useHtmlField","rest","root","get"],"sources":["src/useHtmlField.ts"],"sourcesContent":["import z from 'zod'\nimport { BasePath, FieldPath } from './FieldPath'\nimport { useField, UseFieldProps } from './useField'\nimport React, { ChangeEvent, HTMLInputTypeAttribute } from 'react'\nimport { invert } from 'zod-invertible'\nimport { useFormContext } from './useFormContext'\nimport { acceptsNumber } from './util/acceptsNumber'\nimport { acceptsBigint } from './util/acceptsBigint'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\nimport { SchemaAt } from './util/SchemaAt'\n\nexport type HtmlFieldInputProps = {\n name: string\n type: HTMLInputTypeAttribute\n value: string\n checked?: boolean\n onChange: React.ChangeEventHandler\n onFocus: React.FocusEventHandler\n onBlur: React.FocusEventHandler\n}\n\nexport type ValidUseHtmlFieldProps<Field extends FieldPath> = {\n input: HtmlFieldInputProps\n meta: UseFieldProps<Field>\n}\n\nexport type UseHtmlFieldProps<Field extends FieldPath> = z.input<\n Field['schema']\n> extends string | number | bigint | boolean | null | undefined\n ? {\n input: HtmlFieldInputProps\n meta: UseFieldProps<Field>\n }\n : {\n ERROR: 'field schema input must be a nullish string, number, boolean or bigint'\n }\n\nexport type UseHtmlFieldOptions<\n Field,\n Schema extends z.ZodTypeAny = Field extends FieldPath<infer S>\n ? S\n : z.ZodTypeAny\n> = {\n field: Field\n type: z.input<Schema> extends boolean | null | undefined\n ? 'checkbox'\n : Exclude<HTMLInputTypeAttribute, 'checkbox'>\n normalizeOnBlur?: boolean\n}\n\nexport interface TypedUseHtmlField<T extends z.ZodTypeAny> {\n <Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n ): UseHtmlFieldProps<Field>\n <Path extends PathInSchema<T>>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, Path>>\n ): UseHtmlFieldProps<FieldPath<SchemaAt<T, Path>>>\n <Path extends PathstringInSchema<T>>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, parsePathstring<Path>>>\n ): UseHtmlFieldProps<FieldPath<SchemaAt<T, parsePathstring<Path>>>>\n}\n\nfunction useHtmlFieldBase<Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n): UseHtmlFieldProps<Field> {\n const { field, type, normalizeOnBlur = true } = options\n const props = useField(field)\n const {\n parsedValue,\n value,\n initialParsedValue,\n initialValue,\n setParsedValue,\n setValue,\n setMeta,\n ...meta\n } = props\n\n const { schema } = field\n\n // tempValue is used for storing blank text when we've coerced the\n // value to null or undefined, or storing numeric text when we've\n // coerced the value to a number or bigint.\n // This way we can set a value that will parse better in the form\n // state without interfering with the text the user is typing.\n const [tempValue, setTempValue] = React.useState(\n value as string | null | undefined\n )\n\n const tryNumber = React.useMemo(() => acceptsNumber(schema), [schema])\n const tryBigint = React.useMemo(() => acceptsBigint(schema), [schema])\n\n const onChange = React.useCallback(\n (e: React.ChangeEvent) => {\n const value = getValue(e)\n const normalized = normalizeValue(value, {\n schema,\n tryNumber,\n tryBigint,\n })\n if (typeof value === 'string' && typeof normalized !== 'string') {\n setTempValue(value)\n }\n setValue(normalized)\n },\n [getValue, setValue, schema]\n )\n\n const onFocus = React.useCallback(() => {\n setMeta({ visited: true })\n }, [])\n\n const onBlur = React.useCallback(\n (e: React.FocusEvent) => {\n let value = normalizeValue(getValue(e), {\n schema,\n tryNumber,\n tryBigint,\n })\n if (normalizeOnBlur) {\n const parsed = field.schema.safeParse(value)\n const formatted = parsed.success\n ? invert(field.schema).safeParse(parsed.data)\n : undefined\n if (formatted?.success) value = formatted.data\n setValue(value)\n }\n setTempValue(undefined)\n setMeta({ visited: true, touched: true })\n },\n [getValue, setValue, schema]\n )\n\n return React.useMemo(\n (): ValidUseHtmlFieldProps<Field> => ({\n input: {\n name: field.pathstring,\n type,\n value:\n typeof value === 'boolean'\n ? String(value)\n : typeof value === 'string'\n ? value || tempValue || ''\n : tempValue || (value == null ? '' : String(value) || ''),\n ...(type === 'checkbox' && { checked: Boolean(value) }),\n onChange,\n onFocus,\n onBlur,\n },\n meta: {\n ...meta,\n parsedValue,\n value,\n initialParsedValue,\n initialValue,\n setParsedValue,\n setValue,\n setMeta,\n },\n }),\n [props, tempValue, onChange]\n ) as any\n}\n\nfunction getValue(e: ChangeEvent) {\n const { target } = e\n if (target instanceof HTMLInputElement) {\n return target.type === 'checkbox' ? target.checked : target.value\n }\n return (target as any).value\n}\n\nfunction normalizeBlank(schema: z.ZodTypeAny): any {\n if (schema.safeParse(undefined).success) return undefined\n if (schema.safeParse(null).success) return null\n return undefined\n}\n\nfunction safeBigInt(value: string): bigint | undefined {\n try {\n return BigInt(value)\n } catch (error) {\n return undefined\n }\n}\n\nfunction normalizeValue(\n value: string | boolean,\n {\n schema,\n tryNumber,\n tryBigint,\n }: { schema: z.ZodTypeAny; tryNumber: boolean; tryBigint: boolean }\n): string | boolean | number | bigint | null | undefined {\n if (typeof value === 'boolean') return value\n if (typeof value === 'string' && !/\\S/.test(value)) {\n return normalizeBlank(schema)\n }\n if (typeof value === 'string' && !schema.safeParse(value).success) {\n if (tryNumber) {\n const num = Number(value)\n if (!isNaN(num)) return num\n }\n if (tryBigint) {\n const bigint = safeBigInt(value)\n if (bigint != null) return bigint\n }\n }\n return value\n}\n\nexport function useHtmlField<Field extends FieldPath>(\n options: UseHtmlFieldOptions<Field, Field['schema']>\n): UseHtmlFieldProps<Field>\nexport function useHtmlField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseHtmlField<T> to pass a path array'\n >,\n Path extends PathInSchema<T> = any\n>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, Path>>\n): UseHtmlFieldProps<FieldPath<SchemaAt<T, Path>>>\nexport function useHtmlField<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'cast to TypedUseHtmlField<T> to pass a pathstring'\n >,\n Path extends PathstringInSchema<T> = any\n>(\n options: UseHtmlFieldOptions<Path, SchemaAt<T, parsePathstring<Path>>>\n): UseHtmlFieldProps<FieldPath<SchemaAt<T, parsePathstring<Path>>>>\nexport function useHtmlField<T extends z.ZodTypeAny>({\n field,\n ...rest\n}: UseHtmlFieldOptions<FieldPath | BasePath, T>): UseHtmlFieldProps<any> {\n const { root } = useFormContext<T>()\n return useHtmlFieldBase({\n field: field instanceof FieldPath ? field : root.get(field as any),\n ...rest,\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.d.ts","sourceRoot":"","sources":["src/useInitialize.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,wBAAgB,aAAa,CAC3B,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CACnC,CAAC,CAAC,QAAQ,EACV,6BAA6B,CAC9B,EAED,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAC1C,IAAI,GAAE,cAAoD,QAM3D"}
1
+ {"version":3,"file":"useInitialize.d.ts","sourceRoot":"","sources":["src/useInitialize.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,wBAAgB,aAAa,CAC3B,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CACnC,CAAC,CAAC,QAAQ,EACV,6BAA6B,CAC9B,EAED,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAC1C,IAAI,GAAE,cAAuD,QAM9D"}
package/useInitialize.js CHANGED
@@ -8,7 +8,7 @@ exports.useInitialize = useInitialize;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _useFormContext2 = require("./useFormContext.js");
10
10
  function useInitialize(options) {
11
- var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [options.values, options.rawValues];
11
+ var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [options.parsedValues, options.values];
12
12
  var _useFormContext = (0, _useFormContext2.useFormContext)(),
13
13
  initialize = _useFormContext.initialize;
14
14
  _react["default"].useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.js","names":["_react","_interopRequireDefault","require","_useFormContext2","useInitialize","options","deps","arguments","length","undefined","values","rawValues","_useFormContext","useFormContext","initialize","React","useEffect"],"sources":["src/useInitialize.ts"],"sourcesContent":["import z from 'zod'\nimport React, { DependencyList } from 'react'\nimport { useFormContext } from './useFormContext'\nimport { InitializeAction } from './actions/initialize'\n\nexport function useInitialize<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'you must pass a schema type'\n >\n>(\n options: Omit<InitializeAction<T>, 'type'>,\n deps: DependencyList = [options.values, options.rawValues]\n) {\n const { initialize } = useFormContext<T>()\n React.useEffect(() => {\n initialize(options)\n }, deps)\n}\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAGO,SAASE,aAAaA,CAM3BC,OAA0C,EAE1C;EAAA,IADAC,IAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAACF,OAAO,CAACK,MAAM,EAAEL,OAAO,CAACM,SAAS,CAAC;EAE1D,IAAAC,eAAA,GAAuB,IAAAC,+BAAc,EAAI,CAAC;IAAlCC,UAAU,GAAAF,eAAA,CAAVE,UAAU;EAClBC,iBAAK,CAACC,SAAS,CAAC,YAAM;IACpBF,UAAU,CAACT,OAAO,CAAC;EACrB,CAAC,EAAEC,IAAI,CAAC;AACV","ignoreList":[]}
1
+ {"version":3,"file":"useInitialize.js","names":["_react","_interopRequireDefault","require","_useFormContext2","useInitialize","options","deps","arguments","length","undefined","parsedValues","values","_useFormContext","useFormContext","initialize","React","useEffect"],"sources":["src/useInitialize.ts"],"sourcesContent":["import z from 'zod'\nimport React, { DependencyList } from 'react'\nimport { useFormContext } from './useFormContext'\nimport { InitializeAction } from './actions/initialize'\n\nexport function useInitialize<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'you must pass a schema type'\n >\n>(\n options: Omit<InitializeAction<T>, 'type'>,\n deps: DependencyList = [options.parsedValues, options.values]\n) {\n const { initialize } = useFormContext<T>()\n React.useEffect(() => {\n initialize(options)\n }, deps)\n}\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAGO,SAASE,aAAaA,CAM3BC,OAA0C,EAE1C;EAAA,IADAC,IAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAACF,OAAO,CAACK,YAAY,EAAEL,OAAO,CAACM,MAAM,CAAC;EAE7D,IAAAC,eAAA,GAAuB,IAAAC,+BAAc,EAAI,CAAC;IAAlCC,UAAU,GAAAF,eAAA,CAAVE,UAAU;EAClBC,iBAAK,CAACC,SAAS,CAAC,YAAM;IACpBF,UAAU,CAACT,OAAO,CAAC;EACrB,CAAC,EAAEC,IAAI,CAAC;AACV","ignoreList":[]}
package/useInitialize.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useFormContext } from "./useFormContext.mjs";
3
- export function useInitialize(options, deps = [options.values, options.rawValues]) {
3
+ export function useInitialize(options, deps = [options.parsedValues, options.values]) {
4
4
  const {
5
5
  initialize
6
6
  } = useFormContext();
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialize.mjs","names":["React","useFormContext","useInitialize","options","deps","values","rawValues","initialize","useEffect"],"sources":["src/useInitialize.ts"],"sourcesContent":["import z from 'zod'\nimport React, { DependencyList } from 'react'\nimport { useFormContext } from './useFormContext'\nimport { InitializeAction } from './actions/initialize'\n\nexport function useInitialize<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'you must pass a schema type'\n >\n>(\n options: Omit<InitializeAction<T>, 'type'>,\n deps: DependencyList = [options.values, options.rawValues]\n) {\n const { initialize } = useFormContext<T>()\n React.useEffect(() => {\n initialize(options)\n }, deps)\n}\n"],"mappings":"AACA,OAAOA,KAAK,MAA0B,OAAO;AAC7C,SAASC,cAAc;AAGvB,OAAO,SAASC,aAAaA,CAM3BC,OAA0C,EAC1CC,IAAoB,GAAG,CAACD,OAAO,CAACE,MAAM,EAAEF,OAAO,CAACG,SAAS,CAAC,EAC1D;EACA,MAAM;IAAEC;EAAW,CAAC,GAAGN,cAAc,CAAI,CAAC;EAC1CD,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpBD,UAAU,CAACJ,OAAO,CAAC;EACrB,CAAC,EAAEC,IAAI,CAAC;AACV","ignoreList":[]}
1
+ {"version":3,"file":"useInitialize.mjs","names":["React","useFormContext","useInitialize","options","deps","parsedValues","values","initialize","useEffect"],"sources":["src/useInitialize.ts"],"sourcesContent":["import z from 'zod'\nimport React, { DependencyList } from 'react'\nimport { useFormContext } from './useFormContext'\nimport { InitializeAction } from './actions/initialize'\n\nexport function useInitialize<\n T extends z.ZodTypeAny = z.ZodBranded<\n z.ZodNever,\n 'you must pass a schema type'\n >\n>(\n options: Omit<InitializeAction<T>, 'type'>,\n deps: DependencyList = [options.parsedValues, options.values]\n) {\n const { initialize } = useFormContext<T>()\n React.useEffect(() => {\n initialize(options)\n }, deps)\n}\n"],"mappings":"AACA,OAAOA,KAAK,MAA0B,OAAO;AAC7C,SAASC,cAAc;AAGvB,OAAO,SAASC,aAAaA,CAM3BC,OAA0C,EAC1CC,IAAoB,GAAG,CAACD,OAAO,CAACE,YAAY,EAAEF,OAAO,CAACG,MAAM,CAAC,EAC7D;EACA,MAAM;IAAEC;EAAW,CAAC,GAAGN,cAAc,CAAI,CAAC;EAC1CD,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpBD,UAAU,CAACJ,OAAO,CAAC;EACrB,CAAC,EAAEC,IAAI,CAAC;AACV","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import z from 'zod';
2
- export declare function maybeParse<T extends z.ZodTypeAny>(schema: T, rawValue: unknown): z.output<T> | undefined;
2
+ export declare function maybeParse<T extends z.ZodTypeAny>(schema: T, value: unknown): z.output<T> | undefined;
3
3
  //# sourceMappingURL=maybeParse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybeParse.d.ts","sourceRoot":"","sources":["../../src/util/maybeParse.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC/C,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,OAAO,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAGzB"}
1
+ {"version":3,"file":"maybeParse.d.ts","sourceRoot":"","sources":["../../src/util/maybeParse.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC/C,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAGzB"}
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.maybeParse = maybeParse;
7
- function maybeParse(schema, rawValue) {
8
- var parsed = schema.safeParse(rawValue);
7
+ function maybeParse(schema, value) {
8
+ var parsed = schema.safeParse(value);
9
9
  return parsed.success ? parsed.data : undefined;
10
10
  }
11
11
  //# sourceMappingURL=maybeParse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybeParse.js","names":["maybeParse","schema","rawValue","parsed","safeParse","success","data","undefined"],"sources":["../../src/util/maybeParse.ts"],"sourcesContent":["import z from 'zod'\n\nexport function maybeParse<T extends z.ZodTypeAny>(\n schema: T,\n rawValue: unknown\n): z.output<T> | undefined {\n const parsed = schema.safeParse(rawValue)\n return parsed.success ? parsed.data : undefined\n}\n"],"mappings":";;;;;;AAEO,SAASA,UAAUA,CACxBC,MAAS,EACTC,QAAiB,EACQ;EACzB,IAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACF,QAAQ,CAAC;EACzC,OAAOC,MAAM,CAACE,OAAO,GAAGF,MAAM,CAACG,IAAI,GAAGC,SAAS;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"maybeParse.js","names":["maybeParse","schema","value","parsed","safeParse","success","data","undefined"],"sources":["../../src/util/maybeParse.ts"],"sourcesContent":["import z from 'zod'\n\nexport function maybeParse<T extends z.ZodTypeAny>(\n schema: T,\n value: unknown\n): z.output<T> | undefined {\n const parsed = schema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n"],"mappings":";;;;;;AAEO,SAASA,UAAUA,CACxBC,MAAS,EACTC,KAAc,EACW;EACzB,IAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACF,KAAK,CAAC;EACtC,OAAOC,MAAM,CAACE,OAAO,GAAGF,MAAM,CAACG,IAAI,GAAGC,SAAS;AACjD","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- export function maybeParse(schema, rawValue) {
2
- const parsed = schema.safeParse(rawValue);
1
+ export function maybeParse(schema, value) {
2
+ const parsed = schema.safeParse(value);
3
3
  return parsed.success ? parsed.data : undefined;
4
4
  }
5
5
  //# sourceMappingURL=maybeParse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybeParse.mjs","names":["maybeParse","schema","rawValue","parsed","safeParse","success","data","undefined"],"sources":["../../src/util/maybeParse.ts"],"sourcesContent":["import z from 'zod'\n\nexport function maybeParse<T extends z.ZodTypeAny>(\n schema: T,\n rawValue: unknown\n): z.output<T> | undefined {\n const parsed = schema.safeParse(rawValue)\n return parsed.success ? parsed.data : undefined\n}\n"],"mappings":"AAEA,OAAO,SAASA,UAAUA,CACxBC,MAAS,EACTC,QAAiB,EACQ;EACzB,MAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACF,QAAQ,CAAC;EACzC,OAAOC,MAAM,CAACE,OAAO,GAAGF,MAAM,CAACG,IAAI,GAAGC,SAAS;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"maybeParse.mjs","names":["maybeParse","schema","value","parsed","safeParse","success","data","undefined"],"sources":["../../src/util/maybeParse.ts"],"sourcesContent":["import z from 'zod'\n\nexport function maybeParse<T extends z.ZodTypeAny>(\n schema: T,\n value: unknown\n): z.output<T> | undefined {\n const parsed = schema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n"],"mappings":"AAEA,OAAO,SAASA,UAAUA,CACxBC,MAAS,EACTC,KAAc,EACW;EACzB,MAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACF,KAAK,CAAC;EACtC,OAAOC,MAAM,CAACE,OAAO,GAAGF,MAAM,CAACG,IAAI,GAAGC,SAAS;AACjD","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import z from 'zod';
2
- import { FieldPath } from '../FieldPath';
3
- export type SetRawValueAction<Field extends FieldPath> = ReturnType<typeof setRawValue<Field>>;
4
- export declare function setRawValue<Field extends FieldPath>(field: Field, rawValue: z.input<Field['schema']>): {
5
- readonly type: "setRawValue";
6
- readonly field: Field;
7
- readonly rawValue: z.input<Field["schema"]>;
8
- };
9
- //# sourceMappingURL=setRawValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.d.ts","sourceRoot":"","sources":["../../src/actions/setRawValue.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,SAAS,IAAI,UAAU,CACjE,OAAO,WAAW,CAAC,KAAK,CAAC,CAC1B,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,SAAS,EACjD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;;;EAOnC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setRawValue = setRawValue;
7
- function setRawValue(field, rawValue) {
8
- return {
9
- type: 'setRawValue',
10
- field: field,
11
- rawValue: rawValue
12
- };
13
- }
14
- //# sourceMappingURL=setRawValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.js","names":["setRawValue","field","rawValue","type"],"sources":["../../src/actions/setRawValue.ts"],"sourcesContent":["import z from 'zod'\nimport { FieldPath } from '../FieldPath'\n\nexport type SetRawValueAction<Field extends FieldPath> = ReturnType<\n typeof setRawValue<Field>\n>\n\nexport function setRawValue<Field extends FieldPath>(\n field: Field,\n rawValue: z.input<Field['schema']>\n) {\n return {\n type: 'setRawValue',\n field,\n rawValue,\n } as const\n}\n"],"mappings":";;;;;;AAOO,SAASA,WAAWA,CACzBC,KAAY,EACZC,QAAkC,EAClC;EACA,OAAO;IACLC,IAAI,EAAE,aAAa;IACnBF,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- export function setRawValue(field, rawValue) {
2
- return {
3
- type: 'setRawValue',
4
- field,
5
- rawValue
6
- };
7
- }
8
- //# sourceMappingURL=setRawValue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.mjs","names":["setRawValue","field","rawValue","type"],"sources":["../../src/actions/setRawValue.ts"],"sourcesContent":["import z from 'zod'\nimport { FieldPath } from '../FieldPath'\n\nexport type SetRawValueAction<Field extends FieldPath> = ReturnType<\n typeof setRawValue<Field>\n>\n\nexport function setRawValue<Field extends FieldPath>(\n field: Field,\n rawValue: z.input<Field['schema']>\n) {\n return {\n type: 'setRawValue',\n field,\n rawValue,\n } as const\n}\n"],"mappings":"AAOA,OAAO,SAASA,WAAWA,CACzBC,KAAY,EACZC,QAAkC,EAClC;EACA,OAAO;IACLC,IAAI,EAAE,aAAa;IACnBF,KAAK;IACLC;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import z from 'zod';
2
- import { FormState } from '../FormState';
3
- import { ArrayInsertRawAction } from '../actions/arrayActions';
4
- import { Reducer } from 'redux';
5
- import { FormAction } from '../FormAction';
6
- export declare function arrayInsertRawReducer<T extends z.ZodTypeAny>(reducer: Reducer<FormState<T>, FormAction<T>>, state: FormState<T>, action: ArrayInsertRawAction): FormState<T>;
7
- //# sourceMappingURL=arrayInsertRaw.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayInsertRaw.d.ts","sourceRoot":"","sources":["../../src/reducers/arrayInsertRaw.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC1D,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,oBAAoB,gBAM7B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.arrayInsertRawReducer = arrayInsertRawReducer;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _updateRawArray = require("./util/updateRawArray.js");
10
- function arrayInsertRawReducer(reducer, state, action) {
11
- var field = action.field,
12
- index = action.index,
13
- rawValue = action.rawValue;
14
- return (0, _updateRawArray.updateRawArray)(reducer, state, field, function (array) {
15
- return insert(array !== null && array !== void 0 ? array : [], index, rawValue);
16
- });
17
- }
18
- function insert(array, index, value) {
19
- if (index < 0 || index > array.length) throw new Error("index out of range");
20
- return [].concat((0, _toConsumableArray2["default"])(array.slice(0, index)), [value], (0, _toConsumableArray2["default"])(array.slice(index)));
21
- }
22
- //# sourceMappingURL=arrayInsertRaw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayInsertRaw.js","names":["_updateRawArray","require","arrayInsertRawReducer","reducer","state","action","field","index","rawValue","updateRawArray","array","insert","value","length","Error","concat","_toConsumableArray2","slice"],"sources":["../../src/reducers/arrayInsertRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayInsertRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayInsertRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayInsertRawAction\n) {\n const { field, index, rawValue } = action\n return updateRawArray(reducer, state, field, (array) =>\n insert(array ?? [], index, rawValue)\n )\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n if (index < 0 || index > array.length) throw new Error(`index out of range`)\n return [...array.slice(0, index), value, ...array.slice(index)]\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAEO,SAASC,qBAAqBA,CACnCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA4B,EAC5B;EACA,IAAQC,KAAK,GAAsBD,MAAM,CAAjCC,KAAK;IAAEC,KAAK,GAAeF,MAAM,CAA1BE,KAAK;IAAEC,QAAQ,GAAKH,MAAM,CAAnBG,QAAQ;EAC9B,OAAO,IAAAC,8BAAc,EAACN,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAE,UAACI,KAAK;IAAA,OACjDC,MAAM,CAACD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAEH,KAAK,EAAEC,QAAQ,CAAC;EAAA,CACtC,CAAC;AACH;AAEA,SAASG,MAAMA,CAAID,KAAU,EAAEH,KAAa,EAAEK,KAAQ,EAAE;EACtD,IAAIL,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGG,KAAK,CAACG,MAAM,EAAE,MAAM,IAAIC,KAAK,qBAAqB,CAAC;EAC5E,UAAAC,MAAA,KAAAC,mBAAA,aAAWN,KAAK,CAACO,KAAK,CAAC,CAAC,EAAEV,KAAK,CAAC,IAAEK,KAAK,OAAAI,mBAAA,aAAKN,KAAK,CAACO,KAAK,CAACV,KAAK,CAAC;AAChE","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- import { updateRawArray } from "./util/updateRawArray.mjs";
2
- export function arrayInsertRawReducer(reducer, state, action) {
3
- const {
4
- field,
5
- index,
6
- rawValue
7
- } = action;
8
- return updateRawArray(reducer, state, field, array => insert(array ?? [], index, rawValue));
9
- }
10
- function insert(array, index, value) {
11
- if (index < 0 || index > array.length) throw new Error(`index out of range`);
12
- return [...array.slice(0, index), value, ...array.slice(index)];
13
- }
14
- //# sourceMappingURL=arrayInsertRaw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayInsertRaw.mjs","names":["updateRawArray","arrayInsertRawReducer","reducer","state","action","field","index","rawValue","array","insert","value","length","Error","slice"],"sources":["../../src/reducers/arrayInsertRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayInsertRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayInsertRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayInsertRawAction\n) {\n const { field, index, rawValue } = action\n return updateRawArray(reducer, state, field, (array) =>\n insert(array ?? [], index, rawValue)\n )\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n if (index < 0 || index > array.length) throw new Error(`index out of range`)\n return [...array.slice(0, index), value, ...array.slice(index)]\n}\n"],"mappings":"AAKA,SAASA,cAAc;AAEvB,OAAO,SAASC,qBAAqBA,CACnCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA4B,EAC5B;EACA,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGH,MAAM;EACzC,OAAOJ,cAAc,CAACE,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAGG,KAAK,IACjDC,MAAM,CAACD,KAAK,IAAI,EAAE,EAAEF,KAAK,EAAEC,QAAQ,CACrC,CAAC;AACH;AAEA,SAASE,MAAMA,CAAID,KAAU,EAAEF,KAAa,EAAEI,KAAQ,EAAE;EACtD,IAAIJ,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGE,KAAK,CAACG,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAC,oBAAoB,CAAC;EAC5E,OAAO,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAAC,CAAC,EAAEP,KAAK,CAAC,EAAEI,KAAK,EAAE,GAAGF,KAAK,CAACK,KAAK,CAACP,KAAK,CAAC,CAAC;AACjE","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import z from 'zod';
2
- import { FormState } from '../FormState';
3
- import { ArrayPushRawAction } from '../actions/arrayActions';
4
- import { Reducer } from 'redux';
5
- import { FormAction } from '../FormAction';
6
- export declare function arrayPushRawReducer<T extends z.ZodTypeAny>(reducer: Reducer<FormState<T>, FormAction<T>>, state: FormState<T>, action: ArrayPushRawAction): FormState<T>;
7
- //# sourceMappingURL=arrayPushRaw.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayPushRaw.d.ts","sourceRoot":"","sources":["../../src/reducers/arrayPushRaw.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACxD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,kBAAkB,gBAO3B"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.arrayPushRawReducer = arrayPushRawReducer;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _updateRawArray = require("./util/updateRawArray.js");
10
- function arrayPushRawReducer(reducer, state, action) {
11
- var field = action.field,
12
- rawValue = action.rawValue;
13
- return (0, _updateRawArray.updateRawArray)(reducer, state, field, function (array) {
14
- return [].concat((0, _toConsumableArray2["default"])(array !== null && array !== void 0 ? array : []), [rawValue]);
15
- });
16
- }
17
- //# sourceMappingURL=arrayPushRaw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayPushRaw.js","names":["_updateRawArray","require","arrayPushRawReducer","reducer","state","action","field","rawValue","updateRawArray","array","concat","_toConsumableArray2"],"sources":["../../src/reducers/arrayPushRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayPushRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayPushRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayPushRawAction\n) {\n const { field, rawValue } = action\n return updateRawArray(reducer, state, field, (array) => [\n ...(array ?? []),\n rawValue,\n ])\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAEO,SAASC,mBAAmBA,CACjCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA0B,EAC1B;EACA,IAAQC,KAAK,GAAeD,MAAM,CAA1BC,KAAK;IAAEC,QAAQ,GAAKF,MAAM,CAAnBE,QAAQ;EACvB,OAAO,IAAAC,8BAAc,EAACL,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAE,UAACG,KAAK;IAAA,UAAAC,MAAA,KAAAC,mBAAA,aAC7CF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,IACfF,QAAQ;EAAA,CACT,CAAC;AACJ","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import { updateRawArray } from "./util/updateRawArray.mjs";
2
- export function arrayPushRawReducer(reducer, state, action) {
3
- const {
4
- field,
5
- rawValue
6
- } = action;
7
- return updateRawArray(reducer, state, field, array => [...(array ?? []), rawValue]);
8
- }
9
- //# sourceMappingURL=arrayPushRaw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayPushRaw.mjs","names":["updateRawArray","arrayPushRawReducer","reducer","state","action","field","rawValue","array"],"sources":["../../src/reducers/arrayPushRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayPushRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayPushRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayPushRawAction\n) {\n const { field, rawValue } = action\n return updateRawArray(reducer, state, field, (array) => [\n ...(array ?? []),\n rawValue,\n ])\n}\n"],"mappings":"AAKA,SAASA,cAAc;AAEvB,OAAO,SAASC,mBAAmBA,CACjCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA0B,EAC1B;EACA,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,MAAM;EAClC,OAAOJ,cAAc,CAACE,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAGE,KAAK,IAAK,CACtD,IAAIA,KAAK,IAAI,EAAE,CAAC,EAChBD,QAAQ,CACT,CAAC;AACJ","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import z from 'zod';
2
- import { FormState } from '../FormState';
3
- import { ArraySpliceRawAction } from '../actions/arrayActions';
4
- import { Reducer } from 'redux';
5
- import { FormAction } from '../FormAction';
6
- export declare function arraySpliceRawReducer<T extends z.ZodTypeAny>(reducer: Reducer<FormState<T>, FormAction<T>>, state: FormState<T>, action: ArraySpliceRawAction): FormState<T>;
7
- //# sourceMappingURL=arraySpliceRaw.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arraySpliceRaw.d.ts","sourceRoot":"","sources":["../../src/reducers/arraySpliceRaw.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC1D,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,oBAAoB,gBAM7B"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.arraySpliceRawReducer = arraySpliceRawReducer;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _updateRawArray = require("./util/updateRawArray.js");
10
- function arraySpliceRawReducer(reducer, state, action) {
11
- var field = action.field,
12
- index = action.index,
13
- deleteCount = action.deleteCount,
14
- rawValues = action.rawValues;
15
- return (0, _updateRawArray.updateRawArray)(reducer, state, field, function (array) {
16
- return splice(array !== null && array !== void 0 ? array : [], index, deleteCount, rawValues);
17
- });
18
- }
19
- function splice(array, index, deleteCount, values) {
20
- if (index < 0 || index > array.length) throw new Error("index out of range");
21
- if (!deleteCount && !values.length) return array;
22
- var result = (0, _toConsumableArray2["default"])(array);
23
- result.splice.apply(result, [index, deleteCount].concat((0, _toConsumableArray2["default"])(values)));
24
- return result;
25
- }
26
- //# sourceMappingURL=arraySpliceRaw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arraySpliceRaw.js","names":["_updateRawArray","require","arraySpliceRawReducer","reducer","state","action","field","index","deleteCount","rawValues","updateRawArray","array","splice","values","length","Error","result","_toConsumableArray2","apply","concat"],"sources":["../../src/reducers/arraySpliceRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArraySpliceRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arraySpliceRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArraySpliceRawAction\n) {\n const { field, index, deleteCount, rawValues } = action\n return updateRawArray(reducer, state, field, (array) =>\n splice(array ?? [], index, deleteCount, rawValues)\n )\n}\n\nfunction splice<T>(\n array: T[],\n index: number,\n deleteCount: number,\n values: T[]\n) {\n if (index < 0 || index > array.length) throw new Error(`index out of range`)\n if (!deleteCount && !values.length) return array\n const result = [...array]\n result.splice(index, deleteCount, ...values)\n return result\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAEO,SAASC,qBAAqBA,CACnCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA4B,EAC5B;EACA,IAAQC,KAAK,GAAoCD,MAAM,CAA/CC,KAAK;IAAEC,KAAK,GAA6BF,MAAM,CAAxCE,KAAK;IAAEC,WAAW,GAAgBH,MAAM,CAAjCG,WAAW;IAAEC,SAAS,GAAKJ,MAAM,CAApBI,SAAS;EAC5C,OAAO,IAAAC,8BAAc,EAACP,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAE,UAACK,KAAK;IAAA,OACjDC,MAAM,CAACD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAEJ,KAAK,EAAEC,WAAW,EAAEC,SAAS,CAAC;EAAA,CACpD,CAAC;AACH;AAEA,SAASG,MAAMA,CACbD,KAAU,EACVJ,KAAa,EACbC,WAAmB,EACnBK,MAAW,EACX;EACA,IAAIN,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGI,KAAK,CAACG,MAAM,EAAE,MAAM,IAAIC,KAAK,qBAAqB,CAAC;EAC5E,IAAI,CAACP,WAAW,IAAI,CAACK,MAAM,CAACC,MAAM,EAAE,OAAOH,KAAK;EAChD,IAAMK,MAAM,OAAAC,mBAAA,aAAON,KAAK,CAAC;EACzBK,MAAM,CAACJ,MAAM,CAAAM,KAAA,CAAbF,MAAM,GAAQT,KAAK,EAAEC,WAAW,EAAAW,MAAA,KAAAF,mBAAA,aAAKJ,MAAM,GAAC;EAC5C,OAAOG,MAAM;AACf","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- import { updateRawArray } from "./util/updateRawArray.mjs";
2
- export function arraySpliceRawReducer(reducer, state, action) {
3
- const {
4
- field,
5
- index,
6
- deleteCount,
7
- rawValues
8
- } = action;
9
- return updateRawArray(reducer, state, field, array => splice(array ?? [], index, deleteCount, rawValues));
10
- }
11
- function splice(array, index, deleteCount, values) {
12
- if (index < 0 || index > array.length) throw new Error(`index out of range`);
13
- if (!deleteCount && !values.length) return array;
14
- const result = [...array];
15
- result.splice(index, deleteCount, ...values);
16
- return result;
17
- }
18
- //# sourceMappingURL=arraySpliceRaw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arraySpliceRaw.mjs","names":["updateRawArray","arraySpliceRawReducer","reducer","state","action","field","index","deleteCount","rawValues","array","splice","values","length","Error","result"],"sources":["../../src/reducers/arraySpliceRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArraySpliceRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arraySpliceRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArraySpliceRawAction\n) {\n const { field, index, deleteCount, rawValues } = action\n return updateRawArray(reducer, state, field, (array) =>\n splice(array ?? [], index, deleteCount, rawValues)\n )\n}\n\nfunction splice<T>(\n array: T[],\n index: number,\n deleteCount: number,\n values: T[]\n) {\n if (index < 0 || index > array.length) throw new Error(`index out of range`)\n if (!deleteCount && !values.length) return array\n const result = [...array]\n result.splice(index, deleteCount, ...values)\n return result\n}\n"],"mappings":"AAKA,SAASA,cAAc;AAEvB,OAAO,SAASC,qBAAqBA,CACnCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA4B,EAC5B;EACA,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAU,CAAC,GAAGJ,MAAM;EACvD,OAAOJ,cAAc,CAACE,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAGI,KAAK,IACjDC,MAAM,CAACD,KAAK,IAAI,EAAE,EAAEH,KAAK,EAAEC,WAAW,EAAEC,SAAS,CACnD,CAAC;AACH;AAEA,SAASE,MAAMA,CACbD,KAAU,EACVH,KAAa,EACbC,WAAmB,EACnBI,MAAW,EACX;EACA,IAAIL,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGG,KAAK,CAACG,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAC,oBAAoB,CAAC;EAC5E,IAAI,CAACN,WAAW,IAAI,CAACI,MAAM,CAACC,MAAM,EAAE,OAAOH,KAAK;EAChD,MAAMK,MAAM,GAAG,CAAC,GAAGL,KAAK,CAAC;EACzBK,MAAM,CAACJ,MAAM,CAACJ,KAAK,EAAEC,WAAW,EAAE,GAAGI,MAAM,CAAC;EAC5C,OAAOG,MAAM;AACf","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import z from 'zod';
2
- import { FormState } from '../FormState';
3
- import { ArrayUnshiftRawAction } from '../actions/arrayActions';
4
- import { Reducer } from 'redux';
5
- import { FormAction } from '../FormAction';
6
- export declare function arrayUnshiftRawReducer<T extends z.ZodTypeAny>(reducer: Reducer<FormState<T>, FormAction<T>>, state: FormState<T>, action: ArrayUnshiftRawAction): FormState<T>;
7
- //# sourceMappingURL=arrayUnshiftRaw.d.ts.map
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.arrayUnshiftRawReducer = arrayUnshiftRawReducer;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _updateRawArray = require("./util/updateRawArray.js");
10
- function arrayUnshiftRawReducer(reducer, state, action) {
11
- var field = action.field,
12
- rawValue = action.rawValue;
13
- return (0, _updateRawArray.updateRawArray)(reducer, state, field, function (array) {
14
- return [rawValue].concat((0, _toConsumableArray2["default"])(array !== null && array !== void 0 ? array : []));
15
- });
16
- }
17
- //# sourceMappingURL=arrayUnshiftRaw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayUnshiftRaw.js","names":["_updateRawArray","require","arrayUnshiftRawReducer","reducer","state","action","field","rawValue","updateRawArray","array","concat","_toConsumableArray2"],"sources":["../../src/reducers/arrayUnshiftRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayUnshiftRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayUnshiftRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayUnshiftRawAction\n) {\n const { field, rawValue } = action\n return updateRawArray(reducer, state, field, (array) => [\n rawValue,\n ...(array ?? []),\n ])\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAEO,SAASC,sBAAsBA,CACpCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA6B,EAC7B;EACA,IAAQC,KAAK,GAAeD,MAAM,CAA1BC,KAAK;IAAEC,QAAQ,GAAKF,MAAM,CAAnBE,QAAQ;EACvB,OAAO,IAAAC,8BAAc,EAACL,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAE,UAACG,KAAK;IAAA,QACjDF,QAAQ,EAAAG,MAAA,KAAAC,mBAAA,aACJF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;EAAA,CAChB,CAAC;AACJ","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import { updateRawArray } from "./util/updateRawArray.mjs";
2
- export function arrayUnshiftRawReducer(reducer, state, action) {
3
- const {
4
- field,
5
- rawValue
6
- } = action;
7
- return updateRawArray(reducer, state, field, array => [rawValue, ...(array ?? [])]);
8
- }
9
- //# sourceMappingURL=arrayUnshiftRaw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayUnshiftRaw.mjs","names":["updateRawArray","arrayUnshiftRawReducer","reducer","state","action","field","rawValue","array"],"sources":["../../src/reducers/arrayUnshiftRaw.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { ArrayUnshiftRawAction } from '../actions/arrayActions'\nimport { Reducer } from 'redux'\nimport { FormAction } from '../FormAction'\nimport { updateRawArray } from './util/updateRawArray'\n\nexport function arrayUnshiftRawReducer<T extends z.ZodTypeAny>(\n reducer: Reducer<FormState<T>, FormAction<T>>,\n state: FormState<T>,\n action: ArrayUnshiftRawAction\n) {\n const { field, rawValue } = action\n return updateRawArray(reducer, state, field, (array) => [\n rawValue,\n ...(array ?? []),\n ])\n}\n"],"mappings":"AAKA,SAASA,cAAc;AAEvB,OAAO,SAASC,sBAAsBA,CACpCC,OAA6C,EAC7CC,KAAmB,EACnBC,MAA6B,EAC7B;EACA,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,MAAM;EAClC,OAAOJ,cAAc,CAACE,OAAO,EAAEC,KAAK,EAAEE,KAAK,EAAGE,KAAK,IAAK,CACtDD,QAAQ,EACR,IAAIC,KAAK,IAAI,EAAE,CAAC,CACjB,CAAC;AACJ","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- import z from 'zod';
2
- import { FormState } from '../FormState';
3
- import { SetRawValueAction } from '../actions/setRawValue';
4
- import { FieldPath } from '../FieldPath';
5
- export declare const createSetRawValueReducer: <T extends z.ZodTypeAny>({ schema, }: {
6
- schema: T;
7
- }) => <Field extends FieldPath>(state: FormState<T>, action: SetRawValueAction<Field>) => FormState<T> | {
8
- submitError: undefined;
9
- validationError: undefined;
10
- rawValues: unknown;
11
- values: any;
12
- mounted: boolean;
13
- initialized: boolean;
14
- fieldMeta: Record<string, import("../FormState").FieldMeta>;
15
- submittedValues?: z.output<T> | undefined;
16
- rawSubmittedValues?: z.input<T> | undefined;
17
- rawInitialValues?: unknown;
18
- initialValues?: z.output<T> | undefined;
19
- submitPromise?: Promise<void>;
20
- onSubmit: Set<import("../FormState").SubmitHandler<T>>;
21
- onSubmitSucceeded: Set<import("../FormState").SubmitSuccededHandler>;
22
- onSubmitFailed: Set<import("../FormState").SubmitFailedHandler>;
23
- submitting: boolean;
24
- submitSucceeded: boolean;
25
- submitFailed: boolean;
26
- };
27
- //# sourceMappingURL=setRawValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.d.ts","sourceRoot":"","sources":["../../src/reducers/setRawValue.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,eAE5D;IACD,MAAM,EAAE,CAAC,CAAA;CACV,MAC6B,KAAK,SAAS,SAAS,SAC1C,SAAS,CAAC,CAAC,CAAC,UACX,iBAAiB,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;CA0BjC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.js","names":["_set","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","createSetRawValueReducer","exports","_ref","schema","setRawValueReducer","state","action","newRawValues","set","rawValues","field","path","rawValue","newValues","parse","submitError","undefined","validationError","values","error"],"sources":["../../src/reducers/setRawValue.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { SetRawValueAction } from '../actions/setRawValue'\nimport { set } from '../util/set'\nimport { FieldPath } from '../FieldPath'\n\nexport const createSetRawValueReducer = <T extends z.ZodTypeAny>({\n schema,\n}: {\n schema: T\n}) =>\n function setRawValueReducer<Field extends FieldPath>(\n state: FormState<T>,\n action: SetRawValueAction<Field>\n ) {\n const newRawValues = set(\n state.rawValues,\n action.field.path,\n action.rawValue\n )\n if (newRawValues === state.rawValues) return state\n try {\n const newValues = schema.parse(newRawValues)\n return {\n ...state,\n submitError: undefined,\n validationError: undefined,\n rawValues: newRawValues,\n values: newValues,\n }\n } catch (error) {\n return {\n ...state,\n submitError: undefined,\n validationError: error,\n rawValues: newRawValues,\n values: undefined,\n }\n }\n }\n"],"mappings":";;;;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAAiC,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAG1B,IAAMoB,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CAAAE,IAAA;EAAA,IACnCC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAAA,OAIN,SAASC,kBAAkBA,CACzBC,KAAmB,EACnBC,MAAgC,EAChC;IACA,IAAMC,YAAY,GAAG,IAAAC,QAAG,EACtBH,KAAK,CAACI,SAAS,EACfH,MAAM,CAACI,KAAK,CAACC,IAAI,EACjBL,MAAM,CAACM,QACT,CAAC;IACD,IAAIL,YAAY,KAAKF,KAAK,CAACI,SAAS,EAAE,OAAOJ,KAAK;IAClD,IAAI;MACF,IAAMQ,SAAS,GAAGV,MAAM,CAACW,KAAK,CAACP,YAAY,CAAC;MAC5C,OAAAf,aAAA,CAAAA,aAAA,KACKa,KAAK;QACRU,WAAW,EAAEC,SAAS;QACtBC,eAAe,EAAED,SAAS;QAC1BP,SAAS,EAAEF,YAAY;QACvBW,MAAM,EAAEL;MAAS;IAErB,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd,OAAA3B,aAAA,CAAAA,aAAA,KACKa,KAAK;QACRU,WAAW,EAAEC,SAAS;QACtBC,eAAe,EAAEE,KAAK;QACtBV,SAAS,EAAEF,YAAY;QACvBW,MAAM,EAAEF;MAAS;IAErB;EACF,CAAC;AAAA","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- import { set } from "../util/set.mjs";
2
- export const createSetRawValueReducer = ({
3
- schema
4
- }) => function setRawValueReducer(state, action) {
5
- const newRawValues = set(state.rawValues, action.field.path, action.rawValue);
6
- if (newRawValues === state.rawValues) return state;
7
- try {
8
- const newValues = schema.parse(newRawValues);
9
- return {
10
- ...state,
11
- submitError: undefined,
12
- validationError: undefined,
13
- rawValues: newRawValues,
14
- values: newValues
15
- };
16
- } catch (error) {
17
- return {
18
- ...state,
19
- submitError: undefined,
20
- validationError: error,
21
- rawValues: newRawValues,
22
- values: undefined
23
- };
24
- }
25
- };
26
- //# sourceMappingURL=setRawValue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setRawValue.mjs","names":["set","createSetRawValueReducer","schema","setRawValueReducer","state","action","newRawValues","rawValues","field","path","rawValue","newValues","parse","submitError","undefined","validationError","values","error"],"sources":["../../src/reducers/setRawValue.ts"],"sourcesContent":["import z from 'zod'\nimport { FormState } from '../FormState'\nimport { SetRawValueAction } from '../actions/setRawValue'\nimport { set } from '../util/set'\nimport { FieldPath } from '../FieldPath'\n\nexport const createSetRawValueReducer = <T extends z.ZodTypeAny>({\n schema,\n}: {\n schema: T\n}) =>\n function setRawValueReducer<Field extends FieldPath>(\n state: FormState<T>,\n action: SetRawValueAction<Field>\n ) {\n const newRawValues = set(\n state.rawValues,\n action.field.path,\n action.rawValue\n )\n if (newRawValues === state.rawValues) return state\n try {\n const newValues = schema.parse(newRawValues)\n return {\n ...state,\n submitError: undefined,\n validationError: undefined,\n rawValues: newRawValues,\n values: newValues,\n }\n } catch (error) {\n return {\n ...state,\n submitError: undefined,\n validationError: error,\n rawValues: newRawValues,\n values: undefined,\n }\n }\n }\n"],"mappings":"AAGA,SAASA,GAAG;AAGZ,OAAO,MAAMC,wBAAwB,GAAGA,CAAyB;EAC/DC;AAGF,CAAC,KACC,SAASC,kBAAkBA,CACzBC,KAAmB,EACnBC,MAAgC,EAChC;EACA,MAAMC,YAAY,GAAGN,GAAG,CACtBI,KAAK,CAACG,SAAS,EACfF,MAAM,CAACG,KAAK,CAACC,IAAI,EACjBJ,MAAM,CAACK,QACT,CAAC;EACD,IAAIJ,YAAY,KAAKF,KAAK,CAACG,SAAS,EAAE,OAAOH,KAAK;EAClD,IAAI;IACF,MAAMO,SAAS,GAAGT,MAAM,CAACU,KAAK,CAACN,YAAY,CAAC;IAC5C,OAAO;MACL,GAAGF,KAAK;MACRS,WAAW,EAAEC,SAAS;MACtBC,eAAe,EAAED,SAAS;MAC1BP,SAAS,EAAED,YAAY;MACvBU,MAAM,EAAEL;IACV,CAAC;EACH,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,OAAO;MACL,GAAGb,KAAK;MACRS,WAAW,EAAEC,SAAS;MACtBC,eAAe,EAAEE,KAAK;MACtBV,SAAS,EAAED,YAAY;MACvBU,MAAM,EAAEF;IACV,CAAC;EACH;AACF,CAAC","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- import z from 'zod'
2
- import { FieldPath } from '../FieldPath'
3
-
4
- export type SetRawValueAction<Field extends FieldPath> = ReturnType<
5
- typeof setRawValue<Field>
6
- >
7
-
8
- export function setRawValue<Field extends FieldPath>(
9
- field: Field,
10
- rawValue: z.input<Field['schema']>
11
- ) {
12
- return {
13
- type: 'setRawValue',
14
- field,
15
- rawValue,
16
- } as const
17
- }
@@ -1,22 +0,0 @@
1
- import z from 'zod'
2
- import { FormState } from '../FormState'
3
- import { ArrayInsertRawAction } from '../actions/arrayActions'
4
- import { Reducer } from 'redux'
5
- import { FormAction } from '../FormAction'
6
- import { updateRawArray } from './util/updateRawArray'
7
-
8
- export function arrayInsertRawReducer<T extends z.ZodTypeAny>(
9
- reducer: Reducer<FormState<T>, FormAction<T>>,
10
- state: FormState<T>,
11
- action: ArrayInsertRawAction
12
- ) {
13
- const { field, index, rawValue } = action
14
- return updateRawArray(reducer, state, field, (array) =>
15
- insert(array ?? [], index, rawValue)
16
- )
17
- }
18
-
19
- function insert<T>(array: T[], index: number, value: T) {
20
- if (index < 0 || index > array.length) throw new Error(`index out of range`)
21
- return [...array.slice(0, index), value, ...array.slice(index)]
22
- }
@@ -1,18 +0,0 @@
1
- import z from 'zod'
2
- import { FormState } from '../FormState'
3
- import { ArrayPushRawAction } from '../actions/arrayActions'
4
- import { Reducer } from 'redux'
5
- import { FormAction } from '../FormAction'
6
- import { updateRawArray } from './util/updateRawArray'
7
-
8
- export function arrayPushRawReducer<T extends z.ZodTypeAny>(
9
- reducer: Reducer<FormState<T>, FormAction<T>>,
10
- state: FormState<T>,
11
- action: ArrayPushRawAction
12
- ) {
13
- const { field, rawValue } = action
14
- return updateRawArray(reducer, state, field, (array) => [
15
- ...(array ?? []),
16
- rawValue,
17
- ])
18
- }