@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.
- package/FieldPath.d.ts +2 -2
- package/FieldPath.d.ts.map +1 -1
- package/FieldPath.js.map +1 -1
- package/FieldPath.mjs.map +1 -1
- package/FormAction.d.ts +2 -2
- package/FormAction.d.ts.map +1 -1
- package/FormAction.js.map +1 -1
- package/FormAction.mjs.map +1 -1
- package/FormContext.d.ts +7 -6
- package/FormContext.d.ts.map +1 -1
- package/FormContext.js.map +1 -1
- package/FormContext.mjs.map +1 -1
- package/FormState.d.ts +10 -8
- package/FormState.d.ts.map +1 -1
- package/FormState.js.map +1 -1
- package/FormState.mjs.map +1 -1
- package/README.md +2 -2
- package/actions/arrayActions.d.ts +40 -39
- package/actions/arrayActions.d.ts.map +1 -1
- package/actions/arrayActions.js +37 -37
- package/actions/arrayActions.js.map +1 -1
- package/actions/arrayActions.mjs +29 -29
- package/actions/arrayActions.mjs.map +1 -1
- package/actions/initialize.d.ts +5 -4
- package/actions/initialize.d.ts.map +1 -1
- package/actions/initialize.js.map +1 -1
- package/actions/initialize.mjs.map +1 -1
- package/actions/setParsedValue.d.ts +12 -0
- package/actions/setParsedValue.d.ts.map +1 -0
- package/{reducers/setRawValue.js → actions/setParsedValue.js} +9 -26
- package/actions/setParsedValue.js.map +1 -0
- package/actions/setParsedValue.mjs +9 -0
- package/actions/setParsedValue.mjs.map +1 -0
- package/actions/setSubmitStatus.d.ts +3 -3
- package/actions/setSubmitStatus.d.ts.map +1 -1
- package/actions/setSubmitStatus.js.map +1 -1
- package/actions/setSubmitStatus.mjs.map +1 -1
- package/actions/setValue.d.ts +3 -5
- package/actions/setValue.d.ts.map +1 -1
- package/actions/setValue.js +3 -7
- package/actions/setValue.js.map +1 -1
- package/actions/setValue.mjs +2 -3
- package/actions/setValue.mjs.map +1 -1
- package/createFormMiddleware.d.ts.map +1 -1
- package/createFormMiddleware.js +7 -5
- package/createFormMiddleware.js.map +1 -1
- package/createFormMiddleware.mjs +7 -5
- package/createFormMiddleware.mjs.map +1 -1
- package/createFormProvider.d.ts.map +1 -1
- package/createFormProvider.js +10 -10
- package/createFormProvider.js.map +1 -1
- package/createFormProvider.mjs +7 -7
- package/createFormProvider.mjs.map +1 -1
- package/createFormReducer.js +17 -17
- package/createFormReducer.js.map +1 -1
- package/createFormReducer.mjs +17 -17
- package/createFormReducer.mjs.map +1 -1
- package/createSelectFormStatus.d.ts +1 -1
- package/createSelectFormStatus.d.ts.map +1 -1
- package/createSelectFormStatus.js +6 -6
- package/createSelectFormStatus.js.map +1 -1
- package/createSelectFormStatus.mjs +1 -1
- package/createSelectFormStatus.mjs.map +1 -1
- package/createSelectFormValues.d.ts +19 -19
- package/createSelectFormValues.d.ts.map +1 -1
- package/createSelectFormValues.js +5 -5
- package/createSelectFormValues.js.map +1 -1
- package/createSelectFormValues.mjs +3 -3
- package/createSelectFormValues.mjs.map +1 -1
- package/createZodForm.d.ts +4 -4
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js.map +1 -1
- package/index.mjs.map +1 -1
- package/initFormState.js +1 -1
- package/initFormState.js.map +1 -1
- package/initFormState.mjs +1 -1
- package/initFormState.mjs.map +1 -1
- package/package.json +4 -1
- package/reducers/addHandlers.d.ts +6 -6
- package/reducers/arrayInsert.d.ts.map +1 -1
- package/reducers/arrayInsert.js +10 -4
- package/reducers/arrayInsert.js.map +1 -1
- package/reducers/arrayInsert.mjs +6 -4
- package/reducers/arrayInsert.mjs.map +1 -1
- package/reducers/arrayInsertParsed.d.ts +7 -0
- package/reducers/arrayInsertParsed.d.ts.map +1 -0
- package/reducers/arrayInsertParsed.js +16 -0
- package/reducers/arrayInsertParsed.js.map +1 -0
- package/reducers/arrayInsertParsed.mjs +12 -0
- package/reducers/arrayInsertParsed.mjs.map +1 -0
- package/reducers/arrayPush.d.ts.map +1 -1
- package/reducers/arrayPush.js +6 -4
- package/reducers/arrayPush.js.map +1 -1
- package/reducers/arrayPush.mjs +2 -4
- package/reducers/arrayPush.mjs.map +1 -1
- package/reducers/arrayPushParsed.d.ts +7 -0
- package/reducers/{arrayUnshiftRaw.d.ts.map → arrayPushParsed.d.ts.map} +1 -1
- package/reducers/arrayPushParsed.js +15 -0
- package/reducers/arrayPushParsed.js.map +1 -0
- package/reducers/arrayPushParsed.mjs +11 -0
- package/reducers/arrayPushParsed.mjs.map +1 -0
- package/reducers/arraySplice.d.ts.map +1 -1
- package/reducers/arraySplice.js +12 -6
- package/reducers/arraySplice.js.map +1 -1
- package/reducers/arraySplice.mjs +9 -5
- package/reducers/arraySplice.mjs.map +1 -1
- package/reducers/arraySpliceParsed.d.ts +7 -0
- package/reducers/arraySpliceParsed.d.ts.map +1 -0
- package/reducers/arraySpliceParsed.js +20 -0
- package/reducers/arraySpliceParsed.js.map +1 -0
- package/reducers/arraySpliceParsed.mjs +14 -0
- package/reducers/arraySpliceParsed.mjs.map +1 -0
- package/reducers/arrayUnshift.d.ts.map +1 -1
- package/reducers/arrayUnshift.js +6 -4
- package/reducers/arrayUnshift.js.map +1 -1
- package/reducers/arrayUnshift.mjs +2 -4
- package/reducers/arrayUnshift.mjs.map +1 -1
- package/reducers/arrayUnshiftParsed.d.ts +7 -0
- package/reducers/arrayUnshiftParsed.d.ts.map +1 -0
- package/reducers/arrayUnshiftParsed.js +15 -0
- package/reducers/arrayUnshiftParsed.js.map +1 -0
- package/reducers/arrayUnshiftParsed.mjs +11 -0
- package/reducers/arrayUnshiftParsed.mjs.map +1 -0
- package/reducers/initialize.d.ts +12 -12
- package/reducers/initialize.d.ts.map +1 -1
- package/reducers/initialize.js +9 -9
- package/reducers/initialize.js.map +1 -1
- package/reducers/initialize.mjs +8 -8
- package/reducers/initialize.mjs.map +1 -1
- package/reducers/removeHandlers.d.ts +6 -6
- package/reducers/setParsedValue.d.ts +47 -0
- package/reducers/setParsedValue.d.ts.map +1 -0
- package/reducers/setParsedValue.js +41 -0
- package/reducers/setParsedValue.js.map +1 -0
- package/reducers/setParsedValue.mjs +32 -0
- package/reducers/setParsedValue.mjs.map +1 -0
- package/reducers/setSubmitStatus.d.ts +6 -6
- package/reducers/setValue.d.ts +9 -10
- package/reducers/setValue.d.ts.map +1 -1
- package/reducers/setValue.js +9 -15
- package/reducers/setValue.js.map +1 -1
- package/reducers/setValue.mjs +9 -15
- package/reducers/setValue.mjs.map +1 -1
- package/reducers/submitSucceeded.d.ts +6 -6
- package/reducers/submitSucceeded.js +2 -2
- package/reducers/submitSucceeded.js.map +1 -1
- package/reducers/submitSucceeded.mjs +2 -2
- package/reducers/submitSucceeded.mjs.map +1 -1
- package/reducers/util/updateRawArray.d.ts +2 -2
- package/reducers/util/updateRawArray.d.ts.map +1 -1
- package/reducers/util/updateRawArray.js +3 -3
- package/reducers/util/updateRawArray.js.map +1 -1
- package/reducers/util/updateRawArray.mjs +3 -3
- package/reducers/util/updateRawArray.mjs.map +1 -1
- package/src/FieldPath.ts +3 -5
- package/src/FormAction.ts +2 -2
- package/src/FormContext.ts +7 -6
- package/src/FormState.ts +12 -8
- package/src/actions/arrayActions.ts +66 -58
- package/src/actions/initialize.ts +3 -2
- package/src/actions/setParsedValue.ts +21 -0
- package/src/actions/setSubmitStatus.ts +1 -1
- package/src/actions/setValue.ts +2 -5
- package/src/createFormMiddleware.ts +5 -3
- package/src/createFormProvider.tsx +12 -9
- package/src/createFormReducer.ts +17 -17
- package/src/createSelectFormStatus.ts +5 -5
- package/src/createSelectFormValues.ts +2 -2
- package/src/index.ts +1 -1
- package/src/initFormState.ts +1 -1
- package/src/reducers/arrayInsert.ts +9 -6
- package/src/reducers/arrayInsertParsed.ts +19 -0
- package/src/reducers/arrayPush.ts +5 -7
- package/src/reducers/arrayPushParsed.ts +23 -0
- package/src/reducers/arraySplice.ts +18 -5
- package/src/reducers/arraySpliceParsed.ts +17 -0
- package/src/reducers/arrayUnshift.ts +6 -4
- package/src/reducers/arrayUnshiftParsed.ts +16 -0
- package/src/reducers/initialize.ts +10 -8
- package/src/reducers/setParsedValue.ts +61 -0
- package/src/reducers/setValue.ts +12 -21
- package/src/reducers/submitSucceeded.ts +1 -1
- package/src/reducers/util/updateRawArray.ts +5 -5
- package/src/useArrayField.ts +13 -12
- package/src/useField.ts +26 -24
- package/src/useHtmlField.ts +42 -42
- package/src/useInitialize.ts +1 -1
- package/src/util/maybeParse.ts +2 -2
- package/useArrayField.d.ts +4 -4
- package/useArrayField.d.ts.map +1 -1
- package/useArrayField.js +8 -13
- package/useArrayField.js.map +1 -1
- package/useArrayField.mjs +3 -7
- package/useArrayField.mjs.map +1 -1
- package/useField.d.ts +7 -6
- package/useField.d.ts.map +1 -1
- package/useField.js +24 -24
- package/useField.js.map +1 -1
- package/useField.mjs +18 -18
- package/useField.mjs.map +1 -1
- package/useFormValues.d.ts +4 -4
- package/useHtmlField.js +40 -40
- package/useHtmlField.js.map +1 -1
- package/useHtmlField.mjs +36 -36
- package/useHtmlField.mjs.map +1 -1
- package/useInitialize.d.ts.map +1 -1
- package/useInitialize.js +1 -1
- package/useInitialize.js.map +1 -1
- package/useInitialize.mjs +1 -1
- package/useInitialize.mjs.map +1 -1
- package/util/maybeParse.d.ts +1 -1
- package/util/maybeParse.d.ts.map +1 -1
- package/util/maybeParse.js +2 -2
- package/util/maybeParse.js.map +1 -1
- package/util/maybeParse.mjs +2 -2
- package/util/maybeParse.mjs.map +1 -1
- package/actions/setRawValue.d.ts +0 -9
- package/actions/setRawValue.d.ts.map +0 -1
- package/actions/setRawValue.js +0 -14
- package/actions/setRawValue.js.map +0 -1
- package/actions/setRawValue.mjs +0 -8
- package/actions/setRawValue.mjs.map +0 -1
- package/reducers/arrayInsertRaw.d.ts +0 -7
- package/reducers/arrayInsertRaw.d.ts.map +0 -1
- package/reducers/arrayInsertRaw.js +0 -22
- package/reducers/arrayInsertRaw.js.map +0 -1
- package/reducers/arrayInsertRaw.mjs +0 -14
- package/reducers/arrayInsertRaw.mjs.map +0 -1
- package/reducers/arrayPushRaw.d.ts +0 -7
- package/reducers/arrayPushRaw.d.ts.map +0 -1
- package/reducers/arrayPushRaw.js +0 -17
- package/reducers/arrayPushRaw.js.map +0 -1
- package/reducers/arrayPushRaw.mjs +0 -9
- package/reducers/arrayPushRaw.mjs.map +0 -1
- package/reducers/arraySpliceRaw.d.ts +0 -7
- package/reducers/arraySpliceRaw.d.ts.map +0 -1
- package/reducers/arraySpliceRaw.js +0 -26
- package/reducers/arraySpliceRaw.js.map +0 -1
- package/reducers/arraySpliceRaw.mjs +0 -18
- package/reducers/arraySpliceRaw.mjs.map +0 -1
- package/reducers/arrayUnshiftRaw.d.ts +0 -7
- package/reducers/arrayUnshiftRaw.js +0 -17
- package/reducers/arrayUnshiftRaw.js.map +0 -1
- package/reducers/arrayUnshiftRaw.mjs +0 -9
- package/reducers/arrayUnshiftRaw.mjs.map +0 -1
- package/reducers/setRawValue.d.ts +0 -27
- package/reducers/setRawValue.d.ts.map +0 -1
- package/reducers/setRawValue.js.map +0 -1
- package/reducers/setRawValue.mjs +0 -26
- package/reducers/setRawValue.mjs.map +0 -1
- package/src/actions/setRawValue.ts +0 -17
- package/src/reducers/arrayInsertRaw.ts +0 -22
- package/src/reducers/arrayPushRaw.ts +0 -18
- package/src/reducers/arraySpliceRaw.ts +0 -30
- package/src/reducers/arrayUnshiftRaw.ts +0 -18
- package/src/reducers/setRawValue.ts +0 -40
package/useHtmlField.mjs.map
CHANGED
|
@@ -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":[]}
|
package/useInitialize.d.ts.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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 () {
|
package/useInitialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitialize.js","names":["_react","_interopRequireDefault","require","_useFormContext2","useInitialize","options","deps","arguments","length","undefined","
|
|
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.
|
|
3
|
+
export function useInitialize(options, deps = [options.parsedValues, options.values]) {
|
|
4
4
|
const {
|
|
5
5
|
initialize
|
|
6
6
|
} = useFormContext();
|
package/useInitialize.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitialize.mjs","names":["React","useFormContext","useInitialize","options","deps","
|
|
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":[]}
|
package/util/maybeParse.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
-
export declare function maybeParse<T extends z.ZodTypeAny>(schema: T,
|
|
2
|
+
export declare function maybeParse<T extends z.ZodTypeAny>(schema: T, value: unknown): z.output<T> | undefined;
|
|
3
3
|
//# sourceMappingURL=maybeParse.d.ts.map
|
package/util/maybeParse.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/util/maybeParse.js
CHANGED
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.maybeParse = maybeParse;
|
|
7
|
-
function maybeParse(schema,
|
|
8
|
-
var parsed = schema.safeParse(
|
|
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
|
package/util/maybeParse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybeParse.js","names":["maybeParse","schema","
|
|
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":[]}
|
package/util/maybeParse.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export function maybeParse(schema,
|
|
2
|
-
const parsed = schema.safeParse(
|
|
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
|
package/util/maybeParse.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybeParse.mjs","names":["maybeParse","schema","
|
|
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":[]}
|
package/actions/setRawValue.d.ts
DELETED
|
@@ -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"}
|
package/actions/setRawValue.js
DELETED
|
@@ -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":[]}
|
package/actions/setRawValue.mjs
DELETED
|
@@ -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"}
|
package/reducers/arrayPushRaw.js
DELETED
|
@@ -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":[]}
|
package/reducers/setRawValue.mjs
DELETED
|
@@ -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
|
-
}
|