@mantine/form 6.0.16 → 7.0.0-alpha.21
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/cjs/src/mantine-form/src/Form/Form.js +61 -0
- package/cjs/src/mantine-form/src/Form/Form.js.map +1 -0
- package/cjs/src/mantine-form/src/FormProvider/FormProvider.js +28 -0
- package/cjs/src/mantine-form/src/FormProvider/FormProvider.js.map +1 -0
- package/cjs/src/mantine-form/src/filter-errors/filter-errors.js +19 -0
- package/cjs/src/mantine-form/src/filter-errors/filter-errors.js.map +1 -0
- package/cjs/src/mantine-form/src/form-index.js +8 -0
- package/cjs/src/mantine-form/src/form-index.js.map +1 -0
- package/cjs/src/mantine-form/src/get-input-on-change/get-input-on-change.js +29 -0
- package/cjs/src/mantine-form/src/get-input-on-change/get-input-on-change.js.map +1 -0
- package/cjs/src/mantine-form/src/get-status/get-status.js +15 -0
- package/cjs/src/mantine-form/src/get-status/get-status.js.map +1 -0
- package/cjs/src/mantine-form/src/index.js +36 -0
- package/cjs/src/mantine-form/src/index.js.map +1 -0
- package/cjs/src/mantine-form/src/lists/change-error-indices.js +63 -0
- package/cjs/src/mantine-form/src/lists/change-error-indices.js.map +1 -0
- package/cjs/src/mantine-form/src/lists/clear-list-state.js +35 -0
- package/cjs/src/mantine-form/src/lists/clear-list-state.js.map +1 -0
- package/cjs/src/mantine-form/src/lists/reorder-errors.js +49 -0
- package/cjs/src/mantine-form/src/lists/reorder-errors.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/get-path.js +23 -0
- package/cjs/src/mantine-form/src/paths/get-path.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/get-splitted-path.js +13 -0
- package/cjs/src/mantine-form/src/paths/get-splitted-path.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/insert-path.js +19 -0
- package/cjs/src/mantine-form/src/paths/insert-path.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/remove-path.js +21 -0
- package/cjs/src/mantine-form/src/paths/remove-path.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/reorder-path.js +21 -0
- package/cjs/src/mantine-form/src/paths/reorder-path.js.map +1 -0
- package/cjs/src/mantine-form/src/paths/set-path.js +30 -0
- package/cjs/src/mantine-form/src/paths/set-path.js.map +1 -0
- package/cjs/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js +37 -0
- package/cjs/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js.map +1 -0
- package/cjs/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js +22 -0
- package/cjs/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js.map +1 -0
- package/cjs/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js +23 -0
- package/cjs/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js.map +1 -0
- package/cjs/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js +20 -0
- package/cjs/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js.map +1 -0
- package/cjs/src/mantine-form/src/use-form.js +247 -0
- package/cjs/src/mantine-form/src/use-form.js.map +1 -0
- package/cjs/src/mantine-form/src/validate/should-validate-on-change.js +21 -0
- package/cjs/src/mantine-form/src/validate/should-validate-on-change.js.map +1 -0
- package/cjs/src/mantine-form/src/validate/validate-field-value.js +19 -0
- package/cjs/src/mantine-form/src/validate/validate-field-value.js.map +1 -0
- package/cjs/src/mantine-form/src/validate/validate-values.js +46 -0
- package/cjs/src/mantine-form/src/validate/validate-values.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/has-length/has-length.js +33 -0
- package/cjs/src/mantine-form/src/validators/has-length/has-length.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/is-email/is-email.js +12 -0
- package/cjs/src/mantine-form/src/validators/is-email/is-email.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/is-in-range/is-in-range.js +23 -0
- package/cjs/src/mantine-form/src/validators/is-in-range/is-in-range.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/is-not-empty/is-not-empty.js +25 -0
- package/cjs/src/mantine-form/src/validators/is-not-empty/is-not-empty.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/matches/matches.js +16 -0
- package/cjs/src/mantine-form/src/validators/matches/matches.js.map +1 -0
- package/cjs/src/mantine-form/src/validators/matches-field/matches-field.js +16 -0
- package/cjs/src/mantine-form/src/validators/matches-field/matches-field.js.map +1 -0
- package/esm/src/mantine-form/src/Form/Form.js +53 -0
- package/esm/src/mantine-form/src/Form/Form.js.map +1 -0
- package/esm/src/mantine-form/src/FormProvider/FormProvider.js +20 -0
- package/esm/src/mantine-form/src/FormProvider/FormProvider.js.map +1 -0
- package/esm/src/mantine-form/src/filter-errors/filter-errors.js +15 -0
- package/esm/src/mantine-form/src/filter-errors/filter-errors.js.map +1 -0
- package/esm/src/mantine-form/src/form-index.js +4 -0
- package/esm/src/mantine-form/src/form-index.js.map +1 -0
- package/esm/src/mantine-form/src/get-input-on-change/get-input-on-change.js +25 -0
- package/esm/src/mantine-form/src/get-input-on-change/get-input-on-change.js.map +1 -0
- package/esm/src/mantine-form/src/get-status/get-status.js +11 -0
- package/esm/src/mantine-form/src/get-status/get-status.js.map +1 -0
- package/esm/src/mantine-form/src/index.js +15 -0
- package/esm/src/mantine-form/src/index.js.map +1 -0
- package/esm/src/mantine-form/src/lists/change-error-indices.js +59 -0
- package/esm/src/mantine-form/src/lists/change-error-indices.js.map +1 -0
- package/esm/src/mantine-form/src/lists/clear-list-state.js +31 -0
- package/esm/src/mantine-form/src/lists/clear-list-state.js.map +1 -0
- package/esm/src/mantine-form/src/lists/reorder-errors.js +45 -0
- package/esm/src/mantine-form/src/lists/reorder-errors.js.map +1 -0
- package/esm/src/mantine-form/src/paths/get-path.js +19 -0
- package/esm/src/mantine-form/src/paths/get-path.js.map +1 -0
- package/esm/src/mantine-form/src/paths/get-splitted-path.js +9 -0
- package/esm/src/mantine-form/src/paths/get-splitted-path.js.map +1 -0
- package/esm/src/mantine-form/src/paths/insert-path.js +15 -0
- package/esm/src/mantine-form/src/paths/insert-path.js.map +1 -0
- package/esm/src/mantine-form/src/paths/remove-path.js +17 -0
- package/esm/src/mantine-form/src/paths/remove-path.js.map +1 -0
- package/esm/src/mantine-form/src/paths/reorder-path.js +17 -0
- package/esm/src/mantine-form/src/paths/reorder-path.js.map +1 -0
- package/esm/src/mantine-form/src/paths/set-path.js +26 -0
- package/esm/src/mantine-form/src/paths/set-path.js.map +1 -0
- package/esm/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js +33 -0
- package/esm/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js.map +1 -0
- package/esm/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js +18 -0
- package/esm/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js.map +1 -0
- package/esm/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js +19 -0
- package/esm/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js.map +1 -0
- package/esm/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js +16 -0
- package/esm/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js.map +1 -0
- package/esm/src/mantine-form/src/use-form.js +239 -0
- package/esm/src/mantine-form/src/use-form.js.map +1 -0
- package/esm/src/mantine-form/src/validate/should-validate-on-change.js +17 -0
- package/esm/src/mantine-form/src/validate/should-validate-on-change.js.map +1 -0
- package/esm/src/mantine-form/src/validate/validate-field-value.js +15 -0
- package/esm/src/mantine-form/src/validate/validate-field-value.js.map +1 -0
- package/esm/src/mantine-form/src/validate/validate-values.js +42 -0
- package/esm/src/mantine-form/src/validate/validate-values.js.map +1 -0
- package/esm/src/mantine-form/src/validators/has-length/has-length.js +29 -0
- package/esm/src/mantine-form/src/validators/has-length/has-length.js.map +1 -0
- package/esm/src/mantine-form/src/validators/is-email/is-email.js +8 -0
- package/esm/src/mantine-form/src/validators/is-email/is-email.js.map +1 -0
- package/esm/src/mantine-form/src/validators/is-in-range/is-in-range.js +19 -0
- package/esm/src/mantine-form/src/validators/is-in-range/is-in-range.js.map +1 -0
- package/esm/src/mantine-form/src/validators/is-not-empty/is-not-empty.js +21 -0
- package/esm/src/mantine-form/src/validators/is-not-empty/is-not-empty.js.map +1 -0
- package/esm/src/mantine-form/src/validators/matches/matches.js +12 -0
- package/esm/src/mantine-form/src/validators/matches/matches.js.map +1 -0
- package/esm/src/mantine-form/src/validators/matches-field/matches-field.js +12 -0
- package/esm/src/mantine-form/src/validators/matches-field/matches-field.js.map +1 -0
- package/lib/Form/Form.d.ts +1 -1
- package/lib/Form/Form.d.ts.map +1 -1
- package/lib/get-input-on-change/get-input-on-change.d.ts +1 -0
- package/lib/get-input-on-change/get-input-on-change.d.ts.map +1 -1
- package/lib/lists/change-error-indices.d.ts +1 -1
- package/lib/lists/change-error-indices.d.ts.map +1 -1
- package/lib/paths/insert-path.d.ts +1 -1
- package/lib/paths/insert-path.d.ts.map +1 -1
- package/lib/paths/set-path.d.ts.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/validate/validate-field-value.d.ts +1 -1
- package/lib/validate/validate-field-value.d.ts.map +1 -1
- package/lib/validate/validate-values.d.ts +1 -1
- package/lib/validate/validate-values.d.ts.map +1 -1
- package/lib/validators/has-length/has-length.d.ts +1 -1
- package/lib/validators/has-length/has-length.d.ts.map +1 -1
- package/lib/validators/is-email/is-email.d.ts +1 -1
- package/lib/validators/is-email/is-email.d.ts.map +1 -1
- package/lib/validators/is-in-range/is-in-range.d.ts +1 -1
- package/lib/validators/is-in-range/is-in-range.d.ts.map +1 -1
- package/lib/validators/is-not-empty/is-not-empty.d.ts +1 -1
- package/lib/validators/is-not-empty/is-not-empty.d.ts.map +1 -1
- package/lib/validators/matches/matches.d.ts +1 -1
- package/lib/validators/matches/matches.d.ts.map +1 -1
- package/lib/validators/matches-field/matches-field.d.ts +1 -1
- package/lib/validators/matches-field/matches-field.d.ts.map +1 -1
- package/package.json +10 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matches-field.js","sources":["../../../../../../src/validators/matches-field/matches-field.ts"],"sourcesContent":["import React from 'react';\n\nexport function matchesField(field: string, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown, values: Record<string, unknown>) => {\n if (!values || !(field in values)) {\n return _error;\n }\n\n return value === values[field] ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE;AAC3C,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/B,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK;AAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,EAAE;AACvC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AACnD,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __objRest = (source, exclude) => {
|
|
23
|
+
var target = {};
|
|
24
|
+
for (var prop in source)
|
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
}
|
|
32
|
+
return target;
|
|
33
|
+
};
|
|
34
|
+
const Form = forwardRef(
|
|
35
|
+
(_a, ref) => {
|
|
36
|
+
var _b = _a, { form, onSubmit, onReset } = _b, others = __objRest(_b, ["form", "onSubmit", "onReset"]);
|
|
37
|
+
return /* @__PURE__ */ React.createElement(
|
|
38
|
+
"form",
|
|
39
|
+
__spreadProps(__spreadValues({}, others), {
|
|
40
|
+
onSubmit: form.onSubmit(typeof onSubmit === "function" ? onSubmit : () => {
|
|
41
|
+
}),
|
|
42
|
+
onReset: (event) => {
|
|
43
|
+
onReset == null ? void 0 : onReset(event);
|
|
44
|
+
form.onReset(event);
|
|
45
|
+
},
|
|
46
|
+
ref
|
|
47
|
+
})
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
export { Form };
|
|
53
|
+
//# sourceMappingURL=Form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../../../../src/Form/Form.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { UseFormReturnType, TransformedValues } from '../types';\n\nexport interface FormProps<Form extends UseFormReturnType<any>>\n extends React.ComponentPropsWithRef<'form'> {\n form: Form;\n onSubmit?(values: TransformedValues<Form>): void;\n}\n\nexport type FormComponent = <Form extends UseFormReturnType<any>>(\n props: FormProps<Form>\n) => JSX.Element | React.ReactNode;\n\nexport const Form: FormComponent = forwardRef(\n <Form extends UseFormReturnType<any>>(\n { form, onSubmit, onReset, ...others }: FormProps<Form>,\n ref: React.ForwardedRef<HTMLFormElement>\n ) => (\n <form\n {...others}\n onSubmit={form.onSubmit(typeof onSubmit === 'function' ? onSubmit : () => {})}\n onReset={(event) => {\n onReset?.(event);\n form.onReset(event);\n }}\n ref={ref}\n />\n )\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { createContext, useContext } from 'react';
|
|
2
|
+
import { useForm } from '../use-form.js';
|
|
3
|
+
|
|
4
|
+
function createFormContext() {
|
|
5
|
+
const FormContext = createContext(null);
|
|
6
|
+
function FormProvider({ form, children }) {
|
|
7
|
+
return /* @__PURE__ */ React.createElement(FormContext.Provider, { value: form }, children);
|
|
8
|
+
}
|
|
9
|
+
function useFormContext() {
|
|
10
|
+
const ctx = useContext(FormContext);
|
|
11
|
+
if (!ctx) {
|
|
12
|
+
throw new Error("useFormContext was called outside of FormProvider context");
|
|
13
|
+
}
|
|
14
|
+
return ctx;
|
|
15
|
+
}
|
|
16
|
+
return [FormProvider, useFormContext, useForm];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { createFormContext };
|
|
20
|
+
//# sourceMappingURL=FormProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormProvider.js","sources":["../../../../../src/FormProvider/FormProvider.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport { useForm } from '../use-form';\nimport { UseFormReturnType, UseForm, _TransformValues } from '../types';\n\nexport interface FormProviderProps<Form> {\n form: Form;\n children: React.ReactNode;\n}\n\nexport function createFormContext<\n Values,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>() {\n type Form = UseFormReturnType<Values, TransformValues>;\n\n const FormContext = createContext<Form | null>(null);\n\n function FormProvider({ form, children }: FormProviderProps<Form>) {\n return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n }\n\n function useFormContext() {\n const ctx = useContext(FormContext);\n if (!ctx) {\n throw new Error('useFormContext was called outside of FormProvider context');\n }\n\n return ctx;\n }\n\n return [FormProvider, useFormContext, useForm] as [\n React.FC<FormProviderProps<Form>>,\n () => Form,\n UseForm<Values, TransformValues>,\n ];\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,iBAAiB,GAAG;AACpC,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AAC1C,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AAC5C,IAAI,uBAAuB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChG,GAAG;AACH,EAAE,SAAS,cAAc,GAAG;AAC5B,IAAI,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACjD;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function filterErrors(errors) {
|
|
2
|
+
if (errors === null || typeof errors !== "object") {
|
|
3
|
+
return {};
|
|
4
|
+
}
|
|
5
|
+
return Object.keys(errors).reduce((acc, key) => {
|
|
6
|
+
const errorValue = errors[key];
|
|
7
|
+
if (errorValue !== void 0 && errorValue !== null && errorValue !== false) {
|
|
8
|
+
acc[key] = errorValue;
|
|
9
|
+
}
|
|
10
|
+
return acc;
|
|
11
|
+
}, {});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { filterErrors };
|
|
15
|
+
//# sourceMappingURL=filter-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-errors.js","sources":["../../../../../src/filter-errors/filter-errors.ts"],"sourcesContent":["import type { FormErrors } from '../types';\n\nexport function filterErrors(errors: FormErrors): FormErrors {\n if (errors === null || typeof errors !== 'object') {\n return {};\n }\n\n return Object.keys(errors).reduce<FormErrors>((acc, key) => {\n const errorValue = errors[key];\n\n if (errorValue !== undefined && errorValue !== null && errorValue !== false) {\n acc[key] = errorValue;\n }\n\n return acc;\n }, {});\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,CAAC,MAAM,EAAE;AACrC,EAAE,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACrD,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAClD,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK,EAAE;AAC9E,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-index.js","sources":["../../../../src/form-index.ts"],"sourcesContent":["export const FORM_INDEX = '__MANTINE_FORM_INDEX__';\n"],"names":[],"mappings":"AAAY,MAAC,UAAU,GAAG;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function getInputOnChange(setValue) {
|
|
2
|
+
return (val) => {
|
|
3
|
+
if (!val) {
|
|
4
|
+
setValue(val);
|
|
5
|
+
} else if (typeof val === "function") {
|
|
6
|
+
setValue(val);
|
|
7
|
+
} else if (typeof val === "object" && "nativeEvent" in val) {
|
|
8
|
+
const { currentTarget } = val;
|
|
9
|
+
if (currentTarget instanceof HTMLInputElement) {
|
|
10
|
+
if (currentTarget.type === "checkbox") {
|
|
11
|
+
setValue(currentTarget.checked);
|
|
12
|
+
} else {
|
|
13
|
+
setValue(currentTarget.value);
|
|
14
|
+
}
|
|
15
|
+
} else if (currentTarget instanceof HTMLTextAreaElement || currentTarget instanceof HTMLSelectElement) {
|
|
16
|
+
setValue(currentTarget.value);
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
setValue(val);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { getInputOnChange };
|
|
25
|
+
//# sourceMappingURL=get-input-on-change.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-input-on-change.js","sources":["../../../../../src/get-input-on-change/get-input-on-change.ts"],"sourcesContent":["export function getInputOnChange<Value>(\n setValue: (value: Value | ((current: Value) => Value)) => void\n) {\n return (val: Value | React.ChangeEvent<unknown> | ((current: Value) => Value)) => {\n if (!val) {\n setValue(val as Value);\n } else if (typeof val === 'function') {\n setValue(val);\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === 'checkbox') {\n setValue(currentTarget.checked as any);\n } else {\n setValue(currentTarget.value as any);\n }\n } else if (\n currentTarget instanceof HTMLTextAreaElement ||\n currentTarget instanceof HTMLSelectElement\n ) {\n setValue(currentTarget.value as any);\n }\n } else {\n setValue(val);\n }\n };\n}\n"],"names":[],"mappings":"AAAO,SAAS,gBAAgB,CAAC,QAAQ,EAAE;AAC3C,EAAE,OAAO,CAAC,GAAG,KAAK;AAClB,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;AAC1C,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,aAAa,IAAI,GAAG,EAAE;AAChE,MAAM,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;AACpC,MAAM,IAAI,aAAa,YAAY,gBAAgB,EAAE;AACrD,QAAQ,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE;AAC/C,UAAU,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAS,MAAM;AACf,UAAU,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxC,SAAS;AACT,OAAO,MAAM,IAAI,aAAa,YAAY,mBAAmB,IAAI,aAAa,YAAY,iBAAiB,EAAE;AAC7G,QAAQ,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACtC,OAAO;AACP,KAAK,MAAM;AACX,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
function getStatus(status, path) {
|
|
2
|
+
const paths = Object.keys(status);
|
|
3
|
+
if (typeof path === "string") {
|
|
4
|
+
const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));
|
|
5
|
+
return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;
|
|
6
|
+
}
|
|
7
|
+
return paths.some((statusPath) => status[statusPath]);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { getStatus };
|
|
11
|
+
//# sourceMappingURL=get-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-status.js","sources":["../../../../../src/get-status/get-status.ts"],"sourcesContent":["import { FormStatus } from '../types';\n\nexport function getStatus(status: FormStatus, path?: unknown) {\n const paths = Object.keys(status);\n\n if (typeof path === 'string') {\n const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));\n return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;\n }\n\n return paths.some((statusPath) => status[statusPath]);\n}\n"],"names":[],"mappings":"AAAO,SAAS,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;AACxC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC;AACzF,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACxD;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { useForm } from './use-form.js';
|
|
2
|
+
export { createFormContext } from './FormProvider/FormProvider.js';
|
|
3
|
+
export { Form } from './Form/Form.js';
|
|
4
|
+
export { FORM_INDEX } from './form-index.js';
|
|
5
|
+
export { zodResolver } from './resolvers/zod-resolver/zod-resolver.js';
|
|
6
|
+
export { superstructResolver } from './resolvers/superstruct-resolver/superstruct-resolver.js';
|
|
7
|
+
export { yupResolver } from './resolvers/yup-resolver/yup-resolver.js';
|
|
8
|
+
export { joiResolver } from './resolvers/joi-resolver/joi-resolver.js';
|
|
9
|
+
export { isNotEmpty } from './validators/is-not-empty/is-not-empty.js';
|
|
10
|
+
export { matches } from './validators/matches/matches.js';
|
|
11
|
+
export { isEmail } from './validators/is-email/is-email.js';
|
|
12
|
+
export { hasLength } from './validators/has-length/has-length.js';
|
|
13
|
+
export { isInRange } from './validators/is-in-range/is-in-range.js';
|
|
14
|
+
export { matchesField } from './validators/matches-field/matches-field.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { clearListState } from './clear-list-state.js';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
function getIndexFromKeyAfterPath(key, path) {
|
|
20
|
+
const split = key.substring(path.length + 1).split(".")[0];
|
|
21
|
+
return parseInt(split, 10);
|
|
22
|
+
}
|
|
23
|
+
function changeErrorIndices(path, index, errors, change) {
|
|
24
|
+
if (index === void 0) {
|
|
25
|
+
return errors;
|
|
26
|
+
}
|
|
27
|
+
const pathString = `${String(path)}`;
|
|
28
|
+
let clearedErrors = errors;
|
|
29
|
+
if (change === -1) {
|
|
30
|
+
clearedErrors = clearListState(`${pathString}.${index}`, clearedErrors);
|
|
31
|
+
}
|
|
32
|
+
const cloned = __spreadValues({}, clearedErrors);
|
|
33
|
+
const changedKeys = /* @__PURE__ */ new Set();
|
|
34
|
+
Object.entries(clearedErrors).filter(([key]) => {
|
|
35
|
+
if (!key.startsWith(`${pathString}.`)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const currIndex = getIndexFromKeyAfterPath(key, pathString);
|
|
39
|
+
if (Number.isNaN(currIndex)) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return currIndex >= index;
|
|
43
|
+
}).forEach(([key, value]) => {
|
|
44
|
+
const currIndex = getIndexFromKeyAfterPath(key, pathString);
|
|
45
|
+
const newKey = key.replace(
|
|
46
|
+
`${pathString}.${currIndex}`,
|
|
47
|
+
`${pathString}.${currIndex + change}`
|
|
48
|
+
);
|
|
49
|
+
cloned[newKey] = value;
|
|
50
|
+
changedKeys.add(newKey);
|
|
51
|
+
if (!changedKeys.has(key)) {
|
|
52
|
+
delete cloned[key];
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return cloned;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { changeErrorIndices };
|
|
59
|
+
//# sourceMappingURL=change-error-indices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-error-indices.js","sources":["../../../../../src/lists/change-error-indices.ts"],"sourcesContent":["import { clearListState } from './clear-list-state';\n\n/**\n * Gets the part of the key after the path which can be an index\n */\nfunction getIndexFromKeyAfterPath(key: string, path: string): number {\n const split = key.substring(path.length + 1).split('.')[0];\n return parseInt(split, 10);\n}\n\n/**\n * Changes the indices of every error that is after the given `index` with the given `change` at the given `path`.\n * This requires that the errors are in the format of `path.index` and that the index is a number.\n */\nexport function changeErrorIndices<T extends Record<PropertyKey, any>>(\n path: PropertyKey,\n index: number | undefined,\n errors: T,\n change: 1 | -1\n): T {\n if (index === undefined) {\n return errors;\n }\n const pathString = `${String(path)}`;\n let clearedErrors = errors;\n // Remove all errors if the corresponding item was removed\n if (change === -1) {\n clearedErrors = clearListState(`${pathString}.${index}`, clearedErrors);\n }\n\n const cloned = { ...clearedErrors };\n const changedKeys = new Set<string>();\n Object.entries(clearedErrors)\n .filter(([key]) => {\n if (!key.startsWith(`${pathString}.`)) {\n return false;\n }\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n if (Number.isNaN(currIndex)) {\n return false;\n }\n return currIndex >= index;\n })\n .forEach(([key, value]) => {\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n\n const newKey: keyof T = key.replace(\n `${pathString}.${currIndex}`,\n `${pathString}.${currIndex + change}`\n );\n cloned[newKey] = value;\n changedKeys.add(newKey);\n if (!changedKeys.has(key)) {\n delete cloned[key];\n }\n });\n\n return cloned;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
function clearListState(field, state) {
|
|
18
|
+
if (state === null || typeof state !== "object") {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
const clone = __spreadValues({}, state);
|
|
22
|
+
Object.keys(state).forEach((errorKey) => {
|
|
23
|
+
if (errorKey.includes(`${String(field)}.`)) {
|
|
24
|
+
delete clone[errorKey];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return clone;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { clearListState };
|
|
31
|
+
//# sourceMappingURL=clear-list-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-list-state.js","sources":["../../../../../src/lists/clear-list-state.ts"],"sourcesContent":["export function clearListState<T extends Record<PropertyKey, any>>(\n field: PropertyKey,\n state: T\n): T {\n if (state === null || typeof state !== 'object') {\n return {} as T;\n }\n\n const clone = { ...state };\n Object.keys(state).forEach((errorKey) => {\n if (errorKey.includes(`${String(field)}.`)) {\n delete clone[errorKey];\n }\n });\n\n return clone;\n}\n"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACK,SAAS,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE;AAC7C,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnD,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC1C,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AAC3C,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAChD,MAAM,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
function reorderErrors(path, { from, to }, errors) {
|
|
18
|
+
const oldKeyStart = `${path}.${from}`;
|
|
19
|
+
const newKeyStart = `${path}.${to}`;
|
|
20
|
+
const clone = __spreadValues({}, errors);
|
|
21
|
+
Object.keys(errors).every((key) => {
|
|
22
|
+
let oldKey;
|
|
23
|
+
let newKey;
|
|
24
|
+
if (key.startsWith(oldKeyStart)) {
|
|
25
|
+
oldKey = key;
|
|
26
|
+
newKey = key.replace(oldKeyStart, newKeyStart);
|
|
27
|
+
}
|
|
28
|
+
if (key.startsWith(newKeyStart)) {
|
|
29
|
+
oldKey = key.replace(newKeyStart, oldKeyStart);
|
|
30
|
+
newKey = key;
|
|
31
|
+
}
|
|
32
|
+
if (oldKey && newKey) {
|
|
33
|
+
const value1 = clone[oldKey];
|
|
34
|
+
const value2 = clone[newKey];
|
|
35
|
+
value2 === void 0 ? delete clone[oldKey] : clone[oldKey] = value2;
|
|
36
|
+
value1 === void 0 ? delete clone[newKey] : clone[newKey] = value1;
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
});
|
|
41
|
+
return clone;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { reorderErrors };
|
|
45
|
+
//# sourceMappingURL=reorder-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorder-errors.js","sources":["../../../../../src/lists/reorder-errors.ts"],"sourcesContent":["import { ReorderPayload } from '../types';\n\nexport function reorderErrors<T>(path: unknown, { from, to }: ReorderPayload, errors: T): T {\n const oldKeyStart = `${path}.${from}`;\n const newKeyStart = `${path}.${to}`;\n\n const clone: any = { ...errors };\n Object.keys(errors as any).every((key) => {\n let oldKey;\n let newKey;\n if (key.startsWith(oldKeyStart)) {\n oldKey = key;\n newKey = key.replace(oldKeyStart, newKeyStart);\n }\n if (key.startsWith(newKeyStart)) {\n oldKey = key.replace(newKeyStart, oldKeyStart);\n newKey = key;\n }\n if (oldKey && newKey) {\n const value1 = clone[oldKey];\n const value2 = clone[newKey];\n value2 === undefined ? delete clone[oldKey] : (clone[oldKey] = value2);\n value1 === undefined ? delete clone[newKey] : (clone[newKey] = value1);\n return false;\n }\n return true;\n });\n\n return clone;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getSplittedPath } from './get-splitted-path.js';
|
|
2
|
+
|
|
3
|
+
function getPath(path, values) {
|
|
4
|
+
const splittedPath = getSplittedPath(path);
|
|
5
|
+
if (splittedPath.length === 0 || typeof values !== "object" || values === null) {
|
|
6
|
+
return void 0;
|
|
7
|
+
}
|
|
8
|
+
let value = values[splittedPath[0]];
|
|
9
|
+
for (let i = 1; i < splittedPath.length; i += 1) {
|
|
10
|
+
if (value === void 0) {
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
13
|
+
value = value[splittedPath[i]];
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { getPath };
|
|
19
|
+
//# sourceMappingURL=get-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-path.js","sources":["../../../../../src/paths/get-path.ts"],"sourcesContent":["import { getSplittedPath } from './get-splitted-path';\n\nexport function getPath(path: unknown, values: unknown): unknown {\n const splittedPath = getSplittedPath(path);\n\n if (splittedPath.length === 0 || typeof values !== 'object' || values === null) {\n return undefined;\n }\n\n let value = values[splittedPath[0] as keyof typeof values];\n for (let i = 1; i < splittedPath.length; i += 1) {\n if (value === undefined) {\n break;\n }\n\n value = value[splittedPath[i]];\n }\n\n return value;\n}\n"],"names":[],"mappings":";;AACO,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;AACtC,EAAE,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAClF,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG;AACH,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACnD,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AAC1B,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-splitted-path.js","sources":["../../../../../src/paths/get-splitted-path.ts"],"sourcesContent":["export function getSplittedPath(path: unknown) {\n if (typeof path !== 'string') {\n return [];\n }\n\n return path.split('.');\n}\n"],"names":[],"mappings":"AAAO,SAAS,eAAe,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getPath } from './get-path.js';
|
|
2
|
+
import { setPath } from './set-path.js';
|
|
3
|
+
|
|
4
|
+
function insertPath(path, value, index, values) {
|
|
5
|
+
const currentValue = getPath(path, values);
|
|
6
|
+
if (!Array.isArray(currentValue)) {
|
|
7
|
+
return values;
|
|
8
|
+
}
|
|
9
|
+
const cloned = [...currentValue];
|
|
10
|
+
cloned.splice(typeof index === "number" ? index : cloned.length, 0, value);
|
|
11
|
+
return setPath(path, cloned, values);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { insertPath };
|
|
15
|
+
//# sourceMappingURL=insert-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-path.js","sources":["../../../../../src/paths/insert-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function insertPath<T>(path: unknown, value: unknown, index: number | undefined, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n const cloned = [...currentValue];\n cloned.splice(typeof index === 'number' ? index : cloned.length, 0, value);\n\n return setPath(path, cloned, values);\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;AACvD,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;AACnC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7E,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getPath } from './get-path.js';
|
|
2
|
+
import { setPath } from './set-path.js';
|
|
3
|
+
|
|
4
|
+
function removePath(path, index, values) {
|
|
5
|
+
const currentValue = getPath(path, values);
|
|
6
|
+
if (!Array.isArray(currentValue)) {
|
|
7
|
+
return values;
|
|
8
|
+
}
|
|
9
|
+
return setPath(
|
|
10
|
+
path,
|
|
11
|
+
currentValue.filter((_, itemIndex) => itemIndex !== index),
|
|
12
|
+
values
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { removePath };
|
|
17
|
+
//# sourceMappingURL=remove-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-path.js","sources":["../../../../../src/paths/remove-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function removePath<T>(path: unknown, index: number, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n return setPath(\n path,\n currentValue.filter((_, itemIndex) => itemIndex !== index),\n values\n );\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AAChD,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,OAAO,OAAO;AAChB,IAAI,IAAI;AACR,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,KAAK,SAAS,KAAK,KAAK,CAAC;AAC9D,IAAI,MAAM;AACV,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getPath } from './get-path.js';
|
|
2
|
+
import { setPath } from './set-path.js';
|
|
3
|
+
|
|
4
|
+
function reorderPath(path, { from, to }, values) {
|
|
5
|
+
const currentValue = getPath(path, values);
|
|
6
|
+
if (!Array.isArray(currentValue)) {
|
|
7
|
+
return values;
|
|
8
|
+
}
|
|
9
|
+
const cloned = [...currentValue];
|
|
10
|
+
const item = currentValue[from];
|
|
11
|
+
cloned.splice(from, 1);
|
|
12
|
+
cloned.splice(to, 0, item);
|
|
13
|
+
return setPath(path, cloned, values);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { reorderPath };
|
|
17
|
+
//# sourceMappingURL=reorder-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorder-path.js","sources":["../../../../../src/paths/reorder-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\nimport { ReorderPayload } from '../types';\n\nexport function reorderPath<T>(path: unknown, { from, to }: ReorderPayload, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n const cloned = [...currentValue];\n const item = currentValue[from];\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n\n return setPath(path, cloned, values);\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;AACxD,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;AACnC,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7B,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { klona } from '../../../../node_modules/klona/full/index.mjs.js';
|
|
2
|
+
import { getSplittedPath } from './get-splitted-path.js';
|
|
3
|
+
|
|
4
|
+
function setPath(path, value, values) {
|
|
5
|
+
const splittedPath = getSplittedPath(path);
|
|
6
|
+
if (splittedPath.length === 0) {
|
|
7
|
+
return values;
|
|
8
|
+
}
|
|
9
|
+
const cloned = klona(values);
|
|
10
|
+
if (splittedPath.length === 1) {
|
|
11
|
+
cloned[splittedPath[0]] = value;
|
|
12
|
+
return cloned;
|
|
13
|
+
}
|
|
14
|
+
let val = cloned[splittedPath[0]];
|
|
15
|
+
for (let i = 1; i < splittedPath.length - 1; i += 1) {
|
|
16
|
+
if (val === void 0) {
|
|
17
|
+
return cloned;
|
|
18
|
+
}
|
|
19
|
+
val = val[splittedPath[i]];
|
|
20
|
+
}
|
|
21
|
+
val[splittedPath[splittedPath.length - 1]] = value;
|
|
22
|
+
return cloned;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { setPath };
|
|
26
|
+
//# sourceMappingURL=set-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-path.js","sources":["../../../../../src/paths/set-path.ts"],"sourcesContent":["import { klona } from 'klona/full';\nimport { getSplittedPath } from './get-splitted-path';\n\nexport function setPath<T>(path: unknown, value: unknown, values: T): T {\n const splittedPath = getSplittedPath(path);\n\n if (splittedPath.length === 0) {\n return values;\n }\n\n const cloned: any = klona(values);\n\n if (splittedPath.length === 1) {\n cloned[splittedPath[0]] = value;\n return cloned;\n }\n\n let val = cloned[splittedPath[0]];\n\n for (let i = 1; i < splittedPath.length - 1; i += 1) {\n if (val === undefined) {\n return cloned;\n }\n\n val = val[splittedPath[i]];\n }\n\n val[splittedPath[splittedPath.length - 1]] = value;\n\n return cloned;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7C,EAAE,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/B,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACvD,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;AACxB,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrD,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
function joiResolver(schema, options) {
|
|
18
|
+
const _schema = schema;
|
|
19
|
+
return (values) => {
|
|
20
|
+
const parsed = _schema.validate(values, __spreadValues({ abortEarly: false }, options));
|
|
21
|
+
if (!parsed.error) {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
const results = {};
|
|
25
|
+
parsed.error.details.forEach((error) => {
|
|
26
|
+
results[error.path.join(".")] = error.message;
|
|
27
|
+
});
|
|
28
|
+
return results;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { joiResolver };
|
|
33
|
+
//# sourceMappingURL=joi-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joi-resolver.js","sources":["../../../../../../src/resolvers/joi-resolver/joi-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface JoiError {\n path: (string | number)[];\n message: string;\n}\n\ninterface JoiResults {\n success: boolean;\n error: {\n details: JoiError[];\n };\n}\n\ninterface JoiSchema {\n validate(values: Record<string, any>, options: { abortEarly: boolean }): JoiResults;\n}\n\nexport function joiResolver(schema: any, options?: any) {\n const _schema: JoiSchema = schema;\n return (values: Record<string, any>): FormErrors => {\n const parsed = _schema.validate(values, { abortEarly: false, ...options });\n\n if (!parsed.error) {\n return {};\n }\n\n const results: Record<string, any> = {};\n parsed.error.details.forEach((error) => {\n results[error.path.join('.')] = error.message;\n });\n\n return results;\n };\n}\n"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACK,SAAS,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;AAC7C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC;AACzB,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACvB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC5C,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACpD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function superstructResolver(schema) {
|
|
2
|
+
function structValidation(values) {
|
|
3
|
+
const formErrors = {};
|
|
4
|
+
const [err] = schema.validate(values);
|
|
5
|
+
if (!err) {
|
|
6
|
+
return formErrors;
|
|
7
|
+
}
|
|
8
|
+
err.failures().forEach((fieldFailure) => {
|
|
9
|
+
const fieldName = fieldFailure.path.join(" ");
|
|
10
|
+
formErrors[fieldFailure.path.join(".")] = `${fieldName}: ${fieldFailure.message}`;
|
|
11
|
+
});
|
|
12
|
+
return formErrors;
|
|
13
|
+
}
|
|
14
|
+
return structValidation;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { superstructResolver };
|
|
18
|
+
//# sourceMappingURL=superstruct-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superstruct-resolver.js","sources":["../../../../../../src/resolvers/superstruct-resolver/superstruct-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ntype StructFailure = {\n value: any;\n key: any;\n type: string;\n refinement: string | undefined;\n message: string;\n explanation?: string;\n branch: Array<any>;\n path: Array<any>;\n};\n\ntype StructValidationError = {\n failures: () => Array<StructFailure>;\n};\n\nexport function superstructResolver(schema: any) {\n function structValidation(values: Record<string, any>): FormErrors {\n const formErrors: FormErrors = {};\n\n const [err]: [StructValidationError | null, unknown] = schema.validate(values);\n if (!err) {\n return formErrors;\n }\n\n err.failures().forEach((fieldFailure) => {\n const fieldName = fieldFailure.path.join(' ');\n formErrors[fieldFailure.path.join('.')] = `${fieldName}: ${fieldFailure.message}`;\n });\n\n return formErrors;\n }\n\n return structValidation;\n}\n"],"names":[],"mappings":"AAAO,SAAS,mBAAmB,CAAC,MAAM,EAAE;AAC5C,EAAE,SAAS,gBAAgB,CAAC,MAAM,EAAE;AACpC,IAAI,MAAM,UAAU,GAAG,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,OAAO,UAAU,CAAC;AACxB,KAAK;AACL,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK;AAC7C,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACxF,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,gBAAgB,CAAC;AAC1B;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
function yupResolver(schema) {
|
|
2
|
+
const _schema = schema;
|
|
3
|
+
return (values) => {
|
|
4
|
+
try {
|
|
5
|
+
_schema.validateSync(values, { abortEarly: false });
|
|
6
|
+
return {};
|
|
7
|
+
} catch (_yupError) {
|
|
8
|
+
const yupError = _yupError;
|
|
9
|
+
const results = {};
|
|
10
|
+
yupError.inner.forEach((error) => {
|
|
11
|
+
results[error.path.replaceAll("[", ".").replaceAll("]", "")] = error.message;
|
|
12
|
+
});
|
|
13
|
+
return results;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { yupResolver };
|
|
19
|
+
//# sourceMappingURL=yup-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yup-resolver.js","sources":["../../../../../../src/resolvers/yup-resolver/yup-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface YupError {\n path: string;\n message: string;\n}\n\ninterface YupValidationResult {\n inner: YupError[];\n}\n\ninterface YupSchema {\n validateSync(values: Record<string, any>, options: { abortEarly: boolean }): void;\n}\n\nexport function yupResolver(schema: any) {\n const _schema: YupSchema = schema;\n\n return (values: Record<string, any>): FormErrors => {\n try {\n _schema.validateSync(values, { abortEarly: false });\n return {};\n } catch (_yupError) {\n const yupError = _yupError as YupValidationResult;\n const results: Record<string, any> = {};\n\n yupError.inner.forEach((error) => {\n results[error.path.replaceAll('[', '.').replaceAll(']', '')] = error.message;\n });\n\n return results;\n }\n };\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,CAAC,MAAM,EAAE;AACpC,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC;AACzB,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,IAAI;AACR,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1D,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK,CAAC,OAAO,SAAS,EAAE;AACxB,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACxC,QAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACrF,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function zodResolver(schema) {
|
|
2
|
+
return (values) => {
|
|
3
|
+
const parsed = schema.safeParse(values);
|
|
4
|
+
if (parsed.success) {
|
|
5
|
+
return {};
|
|
6
|
+
}
|
|
7
|
+
const results = {};
|
|
8
|
+
parsed.error.errors.forEach((error) => {
|
|
9
|
+
results[error.path.join(".")] = error.message;
|
|
10
|
+
});
|
|
11
|
+
return results;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { zodResolver };
|
|
16
|
+
//# sourceMappingURL=zod-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-resolver.js","sources":["../../../../../../src/resolvers/zod-resolver/zod-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface ZodError {\n path: (string | number)[];\n message: string;\n}\n\ninterface ZodParseSuccess {\n success: true;\n}\n\ninterface ZodParseError {\n success: false;\n error: {\n errors: ZodError[];\n };\n}\n\ninterface ZodSchema<T extends Record<string, any>> {\n safeParse(values: T): ZodParseSuccess | ZodParseError;\n}\n\nexport function zodResolver<T extends Record<string, any>>(schema: ZodSchema<T>) {\n return (values: T): FormErrors => {\n const parsed = schema.safeParse(values);\n\n if (parsed.success) {\n return {};\n }\n\n const results: Record<string, any> = {};\n\n (parsed as ZodParseError).error.errors.forEach((error) => {\n results[error.path.join('.')] = error.message;\n });\n\n return results;\n };\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,CAAC,MAAM,EAAE;AACpC,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC5C,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE;AACxB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC3C,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACpD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,CAAC;AACJ;;;;"}
|