@jcoreio/zod-forms 1.2.0 → 2.0.0-beta.1
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/ConditionalValidator.d.ts +2 -0
- package/ConditionalValidator.d.ts.map +1 -1
- package/ConditionalValidator.js +6 -2
- package/ConditionalValidator.js.map +1 -1
- package/ConditionalValidator.mjs +2 -0
- package/ConditionalValidator.mjs.map +1 -1
- 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 +5 -2
- 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/ConditionalValidator.ts +4 -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 +17 -14
- package/src/useField.ts +27 -25
- 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 +16 -16
- package/useArrayField.js.map +1 -1
- package/useArrayField.mjs +12 -12
- package/useArrayField.mjs.map +1 -1
- package/useField.d.ts +7 -6
- package/useField.d.ts.map +1 -1
- package/useField.js +25 -25
- package/useField.js.map +1 -1
- package/useField.mjs +19 -19
- 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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
+
import { IgnoreEffect } from 'zod-invertible';
|
|
2
3
|
import { DeepPartial } from './util/DeepPartial';
|
|
3
4
|
type ConditionalCheck<T extends z.ZodTypeAny> = {
|
|
4
5
|
schema: T;
|
|
@@ -12,6 +13,7 @@ type ConditionalRefineMessage<Output> = string | z.CustomErrorParams | z.CustomE
|
|
|
12
13
|
type ConditionalRefineSchema<T extends z.ZodTypeAny> = z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>> | ((schema: T) => z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>);
|
|
13
14
|
export declare class ConditionalValidator<T extends z.ZodTypeAny, Output = z.output<T>, Input = z.input<T>> extends z.ZodEffects<T, Output, Input> {
|
|
14
15
|
_def: ConditionalValidatorDef<T>;
|
|
16
|
+
[IgnoreEffect]: boolean;
|
|
15
17
|
constructor(schema: T, checks: ConditionalCheck<any>[]);
|
|
16
18
|
conditionalRefine(schema: ConditionalRefineSchema<T>, check: (value: z.output<T>) => unknown, message: ConditionalRefineMessage<z.output<T>>): ConditionalValidator<T, z.output<T>, z.input<T>>;
|
|
17
19
|
conditionalRefineAsync(schema: ConditionalRefineSchema<T>, check: (value: z.output<T>) => unknown | Promise<unknown>, message: ConditionalRefineMessage<z.output<T>>): ConditionalValidator<T, z.output<T>, z.input<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalValidator.d.ts","sourceRoot":"","sources":["src/ConditionalValidator.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,KAAK,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IAC9C,MAAM,EAAE,CAAC,CAAA;IACT,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,UAAU,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CACtD,SAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAA;CAChC;AAED,KAAK,wBAAwB,CAAC,MAAM,IAChC,MAAM,GACN,CAAC,CAAC,iBAAiB,GACnB,CAAC,CAAC,iBAAiB,EAAE,GACrB,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAA;AAEpE,KAAK,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAC/C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GACjE,CAAC,CACC,MAAM,EAAE,CAAC,KACN,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAW3E,qBAAa,oBAAoB,CAC/B,CAAC,SAAS,CAAC,CAAC,UAAU,EACtB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EACpB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAClB,SAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IAC9B,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ConditionalValidator.d.ts","sourceRoot":"","sources":["src/ConditionalValidator.ts"],"names":[],"mappings":"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"}
|
package/ConditionalValidator.js
CHANGED
|
@@ -9,13 +9,14 @@ exports.conditionalValidate = conditionalValidate;
|
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
16
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
18
|
var _zod = _interopRequireDefault(require("zod"));
|
|
19
|
+
var _zodInvertible = require("zod-invertible");
|
|
19
20
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
20
21
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
21
22
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -28,10 +29,13 @@ function resolveSchema(baseSchema, refineSchema) {
|
|
|
28
29
|
}
|
|
29
30
|
var ConditionalValidator = exports.ConditionalValidator = /*#__PURE__*/function (_z$ZodEffects) {
|
|
30
31
|
function ConditionalValidator(schema, checks) {
|
|
32
|
+
var _this;
|
|
31
33
|
(0, _classCallCheck2["default"])(this, ConditionalValidator);
|
|
32
|
-
|
|
34
|
+
_this = _callSuper(this, ConditionalValidator, [_objectSpread(_objectSpread({}, makePreprocess(schema, checks)._def), {}, {
|
|
33
35
|
checks: checks
|
|
34
36
|
})]);
|
|
37
|
+
(0, _defineProperty2["default"])(_this, _zodInvertible.IgnoreEffect, true);
|
|
38
|
+
return _this;
|
|
35
39
|
}
|
|
36
40
|
(0, _inherits2["default"])(ConditionalValidator, _z$ZodEffects);
|
|
37
41
|
return (0, _createClass2["default"])(ConditionalValidator, [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalValidator.js","names":["_zod","_interopRequireDefault","require","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","resolveSchema","baseSchema","refineSchema","ConditionalValidator","exports","_z$ZodEffects","schema","checks","_classCallCheck2","makePreprocess","_def","_inherits2","_createClass2","key","conditionalRefine","check","message","conditionalSuperRefine","ctx","addIssues","conditionalRefineAsync","conditionalSuperRefineAsync","_ref","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","sent","stop","_x","_x2","concat","_toConsumableArray2","async","z","ZodEffects","conditionalValidate","preprocess","input","results","map","_ref2","handleParsed","parsed","success","data","safeParseAsync","then","safeParse","some","c","Promise","all","asArray","issues","_iterator","_step","issue","addIssue","code","ZodIssueCode","custom","err"],"sources":["src/ConditionalValidator.ts"],"sourcesContent":["import z from 'zod'\nimport { DeepPartial } from './util/DeepPartial'\n\ntype ConditionalCheck<T extends z.ZodTypeAny> = {\n schema: T\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n async: boolean\n}\n\ninterface ConditionalValidatorDef<T extends z.ZodTypeAny>\n extends z.ZodEffectsDef<T> {\n checks: ConditionalCheck<any>[]\n}\n\ntype ConditionalRefineMessage<Output> =\n | string\n | z.CustomErrorParams\n | z.CustomErrorParams[]\n | ((value: Output) => z.CustomErrorParams | z.CustomErrorParams[])\n\ntype ConditionalRefineSchema<T extends z.ZodTypeAny> =\n | z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>\n | ((\n schema: T\n ) => z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>)\n\nfunction resolveSchema<T extends z.ZodTypeAny>(\n baseSchema: T,\n refineSchema: ConditionalRefineSchema<T>\n) {\n return typeof refineSchema === 'function'\n ? refineSchema(baseSchema)\n : refineSchema\n}\n\nexport class ConditionalValidator<\n T extends z.ZodTypeAny,\n Output = z.output<T>,\n Input = z.input<T>\n> extends z.ZodEffects<T, Output, Input> {\n declare _def: ConditionalValidatorDef<T>\n\n constructor(schema: T, checks: ConditionalCheck<any>[]) {\n super({\n ...makePreprocess(schema, checks)._def,\n checks,\n } satisfies ConditionalValidatorDef<T> as z.ZodEffectsDef<T>)\n }\n\n conditionalRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefine(schema, (value, ctx) => {\n if (!check(value)) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown | Promise<unknown>,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefineAsync(schema, async (value, ctx) => {\n if (!(await check(value))) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalSuperRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: false },\n ])\n }\n conditionalSuperRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: true },\n ])\n }\n}\n\nexport function conditionalValidate<T extends z.ZodTypeAny>(\n schema: T\n): ConditionalValidator<T> {\n return new ConditionalValidator(schema, [])\n}\n\nfunction makePreprocess<T extends z.ZodTypeAny>(\n schema: T,\n checks: ConditionalCheck<any>[]\n): z.ZodEffects<T> {\n return z.preprocess((input, ctx) => {\n const results = checks.map(({ schema, check, async }) => {\n function handleParsed(\n parsed: z.SafeParseReturnType<z.input<T>, z.output<T>>\n ) {\n if (!parsed.success) return\n return check(parsed.data, ctx)\n }\n return async\n ? schema.safeParseAsync(input).then(handleParsed)\n : handleParsed(schema.safeParse(input))\n })\n return checks.some((c) => c.async)\n ? Promise.all(results).then(() => input)\n : input\n }, schema)\n}\n\nconst asArray = <T>(value: T | T[]) => (Array.isArray(value) ? value : [value])\n\nfunction addIssues<Output>(\n ctx: z.RefinementCtx,\n value: Output,\n message: ConditionalRefineMessage<Output>\n) {\n const issues = asArray(\n typeof message === 'function'\n ? message(value)\n : typeof message === 'string'\n ? { message }\n : message\n )\n for (const issue of issues) {\n ctx.addIssue({ code: z.ZodIssueCode.custom, ...issue })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConditionalValidator.js","names":["_zod","_interopRequireDefault","require","_zodInvertible","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","resolveSchema","baseSchema","refineSchema","ConditionalValidator","exports","_z$ZodEffects","schema","checks","_this","_classCallCheck2","makePreprocess","_def","IgnoreEffect","_inherits2","_createClass2","key","conditionalRefine","check","message","conditionalSuperRefine","ctx","addIssues","conditionalRefineAsync","conditionalSuperRefineAsync","_ref","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","sent","stop","_x","_x2","concat","_toConsumableArray2","async","z","ZodEffects","conditionalValidate","preprocess","input","results","map","_ref2","handleParsed","parsed","success","data","safeParseAsync","then","safeParse","some","c","Promise","all","asArray","issues","_iterator","_step","issue","addIssue","code","ZodIssueCode","custom","err"],"sources":["src/ConditionalValidator.ts"],"sourcesContent":["import z from 'zod'\nimport { IgnoreEffect } from 'zod-invertible'\nimport { DeepPartial } from './util/DeepPartial'\n\ntype ConditionalCheck<T extends z.ZodTypeAny> = {\n schema: T\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n async: boolean\n}\n\ninterface ConditionalValidatorDef<T extends z.ZodTypeAny>\n extends z.ZodEffectsDef<T> {\n checks: ConditionalCheck<any>[]\n}\n\ntype ConditionalRefineMessage<Output> =\n | string\n | z.CustomErrorParams\n | z.CustomErrorParams[]\n | ((value: Output) => z.CustomErrorParams | z.CustomErrorParams[])\n\ntype ConditionalRefineSchema<T extends z.ZodTypeAny> =\n | z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>\n | ((\n schema: T\n ) => z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>)\n\nfunction resolveSchema<T extends z.ZodTypeAny>(\n baseSchema: T,\n refineSchema: ConditionalRefineSchema<T>\n) {\n return typeof refineSchema === 'function'\n ? refineSchema(baseSchema)\n : refineSchema\n}\n\nexport class ConditionalValidator<\n T extends z.ZodTypeAny,\n Output = z.output<T>,\n Input = z.input<T>\n> extends z.ZodEffects<T, Output, Input> {\n declare _def: ConditionalValidatorDef<T>;\n\n [IgnoreEffect] = true\n\n constructor(schema: T, checks: ConditionalCheck<any>[]) {\n super({\n ...makePreprocess(schema, checks)._def,\n checks,\n } satisfies ConditionalValidatorDef<T> as z.ZodEffectsDef<T>)\n }\n\n conditionalRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefine(schema, (value, ctx) => {\n if (!check(value)) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown | Promise<unknown>,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefineAsync(schema, async (value, ctx) => {\n if (!(await check(value))) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalSuperRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: false },\n ])\n }\n conditionalSuperRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: true },\n ])\n }\n}\n\nexport function conditionalValidate<T extends z.ZodTypeAny>(\n schema: T\n): ConditionalValidator<T> {\n return new ConditionalValidator(schema, [])\n}\n\nfunction makePreprocess<T extends z.ZodTypeAny>(\n schema: T,\n checks: ConditionalCheck<any>[]\n): z.ZodEffects<T> {\n return z.preprocess((input, ctx) => {\n const results = checks.map(({ schema, check, async }) => {\n function handleParsed(\n parsed: z.SafeParseReturnType<z.input<T>, z.output<T>>\n ) {\n if (!parsed.success) return\n return check(parsed.data, ctx)\n }\n return async\n ? schema.safeParseAsync(input).then(handleParsed)\n : handleParsed(schema.safeParse(input))\n })\n return checks.some((c) => c.async)\n ? Promise.all(results).then(() => input)\n : input\n }, schema)\n}\n\nconst asArray = <T>(value: T | T[]) => (Array.isArray(value) ? value : [value])\n\nfunction addIssues<Output>(\n ctx: z.RefinementCtx,\n value: Output,\n message: ConditionalRefineMessage<Output>\n) {\n const issues = asArray(\n typeof message === 'function'\n ? message(value)\n : typeof message === 'string'\n ? { message }\n : message\n )\n for (const issue of issues) {\n ctx.addIssue({ code: z.ZodIssueCode.custom, ...issue })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/ConditionalValidator.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
+
import { IgnoreEffect } from 'zod-invertible';
|
|
2
3
|
function resolveSchema(baseSchema, refineSchema) {
|
|
3
4
|
return typeof refineSchema === 'function' ? refineSchema(baseSchema) : refineSchema;
|
|
4
5
|
}
|
|
5
6
|
export class ConditionalValidator extends z.ZodEffects {
|
|
7
|
+
[IgnoreEffect] = true;
|
|
6
8
|
constructor(schema, checks) {
|
|
7
9
|
super({
|
|
8
10
|
...makePreprocess(schema, checks)._def,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalValidator.mjs","names":["z","resolveSchema","baseSchema","refineSchema","ConditionalValidator","ZodEffects","constructor","schema","checks","makePreprocess","_def","conditionalRefine","check","message","conditionalSuperRefine","value","ctx","addIssues","conditionalRefineAsync","conditionalSuperRefineAsync","async","conditionalValidate","preprocess","input","results","map","handleParsed","parsed","success","data","safeParseAsync","then","safeParse","some","c","Promise","all","asArray","Array","isArray","issues","issue","addIssue","code","ZodIssueCode","custom"],"sources":["src/ConditionalValidator.ts"],"sourcesContent":["import z from 'zod'\nimport { DeepPartial } from './util/DeepPartial'\n\ntype ConditionalCheck<T extends z.ZodTypeAny> = {\n schema: T\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n async: boolean\n}\n\ninterface ConditionalValidatorDef<T extends z.ZodTypeAny>\n extends z.ZodEffectsDef<T> {\n checks: ConditionalCheck<any>[]\n}\n\ntype ConditionalRefineMessage<Output> =\n | string\n | z.CustomErrorParams\n | z.CustomErrorParams[]\n | ((value: Output) => z.CustomErrorParams | z.CustomErrorParams[])\n\ntype ConditionalRefineSchema<T extends z.ZodTypeAny> =\n | z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>\n | ((\n schema: T\n ) => z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>)\n\nfunction resolveSchema<T extends z.ZodTypeAny>(\n baseSchema: T,\n refineSchema: ConditionalRefineSchema<T>\n) {\n return typeof refineSchema === 'function'\n ? refineSchema(baseSchema)\n : refineSchema\n}\n\nexport class ConditionalValidator<\n T extends z.ZodTypeAny,\n Output = z.output<T>,\n Input = z.input<T>\n> extends z.ZodEffects<T, Output, Input> {\n declare _def: ConditionalValidatorDef<T
|
|
1
|
+
{"version":3,"file":"ConditionalValidator.mjs","names":["z","IgnoreEffect","resolveSchema","baseSchema","refineSchema","ConditionalValidator","ZodEffects","constructor","schema","checks","makePreprocess","_def","conditionalRefine","check","message","conditionalSuperRefine","value","ctx","addIssues","conditionalRefineAsync","conditionalSuperRefineAsync","async","conditionalValidate","preprocess","input","results","map","handleParsed","parsed","success","data","safeParseAsync","then","safeParse","some","c","Promise","all","asArray","Array","isArray","issues","issue","addIssue","code","ZodIssueCode","custom"],"sources":["src/ConditionalValidator.ts"],"sourcesContent":["import z from 'zod'\nimport { IgnoreEffect } from 'zod-invertible'\nimport { DeepPartial } from './util/DeepPartial'\n\ntype ConditionalCheck<T extends z.ZodTypeAny> = {\n schema: T\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n async: boolean\n}\n\ninterface ConditionalValidatorDef<T extends z.ZodTypeAny>\n extends z.ZodEffectsDef<T> {\n checks: ConditionalCheck<any>[]\n}\n\ntype ConditionalRefineMessage<Output> =\n | string\n | z.CustomErrorParams\n | z.CustomErrorParams[]\n | ((value: Output) => z.CustomErrorParams | z.CustomErrorParams[])\n\ntype ConditionalRefineSchema<T extends z.ZodTypeAny> =\n | z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>\n | ((\n schema: T\n ) => z.ZodType<DeepPartial<z.output<T>>, any, DeepPartial<z.input<T>>>)\n\nfunction resolveSchema<T extends z.ZodTypeAny>(\n baseSchema: T,\n refineSchema: ConditionalRefineSchema<T>\n) {\n return typeof refineSchema === 'function'\n ? refineSchema(baseSchema)\n : refineSchema\n}\n\nexport class ConditionalValidator<\n T extends z.ZodTypeAny,\n Output = z.output<T>,\n Input = z.input<T>\n> extends z.ZodEffects<T, Output, Input> {\n declare _def: ConditionalValidatorDef<T>;\n\n [IgnoreEffect] = true\n\n constructor(schema: T, checks: ConditionalCheck<any>[]) {\n super({\n ...makePreprocess(schema, checks)._def,\n checks,\n } satisfies ConditionalValidatorDef<T> as z.ZodEffectsDef<T>)\n }\n\n conditionalRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefine(schema, (value, ctx) => {\n if (!check(value)) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>) => unknown | Promise<unknown>,\n message: ConditionalRefineMessage<z.output<T>>\n ) {\n return this.conditionalSuperRefineAsync(schema, async (value, ctx) => {\n if (!(await check(value))) {\n addIssues(ctx, value, message)\n }\n })\n }\n conditionalSuperRefine(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: false },\n ])\n }\n conditionalSuperRefineAsync(\n schema: ConditionalRefineSchema<T>,\n check: (value: z.output<T>, ctx: z.RefinementCtx) => void | Promise<void>\n ) {\n return new ConditionalValidator(this._def.schema, [\n ...this._def.checks,\n { schema: resolveSchema(this._def.schema, schema), check, async: true },\n ])\n }\n}\n\nexport function conditionalValidate<T extends z.ZodTypeAny>(\n schema: T\n): ConditionalValidator<T> {\n return new ConditionalValidator(schema, [])\n}\n\nfunction makePreprocess<T extends z.ZodTypeAny>(\n schema: T,\n checks: ConditionalCheck<any>[]\n): z.ZodEffects<T> {\n return z.preprocess((input, ctx) => {\n const results = checks.map(({ schema, check, async }) => {\n function handleParsed(\n parsed: z.SafeParseReturnType<z.input<T>, z.output<T>>\n ) {\n if (!parsed.success) return\n return check(parsed.data, ctx)\n }\n return async\n ? schema.safeParseAsync(input).then(handleParsed)\n : handleParsed(schema.safeParse(input))\n })\n return checks.some((c) => c.async)\n ? Promise.all(results).then(() => input)\n : input\n }, schema)\n}\n\nconst asArray = <T>(value: T | T[]) => (Array.isArray(value) ? value : [value])\n\nfunction addIssues<Output>(\n ctx: z.RefinementCtx,\n value: Output,\n message: ConditionalRefineMessage<Output>\n) {\n const issues = asArray(\n typeof message === 'function'\n ? message(value)\n : typeof message === 'string'\n ? { message }\n : message\n )\n for (const issue of issues) {\n ctx.addIssue({ code: z.ZodIssueCode.custom, ...issue })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/FieldPath.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import z from 'zod';
|
|
|
2
2
|
import { SchemaAt } from './util/SchemaAt';
|
|
3
3
|
import { PathInSchema, PathstringInSchema } from './util/PathInSchema';
|
|
4
4
|
import { parsePathstring } from './util/parsePathstring';
|
|
5
|
-
export type
|
|
6
|
-
export type
|
|
5
|
+
export type FieldPathForParsedValue<ParsedValue, Value = any> = FieldPath<z.ZodType<ParsedValue, any, Value>>;
|
|
6
|
+
export type FieldPathForValue<Value> = FieldPath<z.ZodType<any, any, Value>>;
|
|
7
7
|
export declare class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {
|
|
8
8
|
readonly path: BasePath;
|
|
9
9
|
readonly pathstring: string;
|
package/FieldPath.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPath.d.ts","sourceRoot":"","sources":["src/FieldPath.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"FieldPath.d.ts","sourceRoot":"","sources":["src/FieldPath.ts"],"names":[],"mappings":"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"}
|
package/FieldPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPath.js","names":["_zod","_interopRequireDefault","require","_pathstring","_parsePathstring","FieldPath","exports","_ref","schema","path","_classCallCheck2","_defineProperty2","pathstring","_createClass2","key","value","get","parsePathstring","Array","isArray","Error","concat","reduce","field","subfield","_this$subfields","cached","subfields","subschema","_toConsumableArray2","Map","set","root","_def","typeName","z","ZodFirstPartyTypeKind","ZodAny","element","_ref2","shape","_ref2$_def","unknownKeys","catchall","ZodNever","unknown","options","map","opt","filter","length","union","undefined","discUnion","_ref3","items","rest","_ref4","keySchema","valueSchema","safeParse","success","_ref5","_ref6","innerSchema","unwrap","removeDefault","removeCatch","type","_ref7","_in","out","pipe"],"sources":["src/FieldPath.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\n\nexport type FieldPathForValue<Value, RawValue = any> = FieldPath<\n z.ZodType<Value, any, RawValue>\n>\nexport type FieldPathForRawValue<RawValue> = FieldPath<\n z.ZodType<any, any, RawValue>\n>\n\nexport class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {\n readonly path: BasePath\n readonly pathstring: string\n readonly schema: T\n\n private subfields: Map<SubpathKey<T>, FieldPath> | undefined\n\n private constructor({ schema, path }: { schema: T; path: BasePath }) {\n this.path = path\n this.schema = schema\n this.pathstring = pathstring(path)\n }\n\n static root<T extends z.ZodTypeAny>(schema: T) {\n return new FieldPath({ schema, path: [] })\n }\n\n get<Path extends PathInSchema<T>>(\n path: Path\n ): SchemaAt<T, Path> extends never ? never : FieldPath<SchemaAt<T, Path>>\n get<Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>\n get(path: any): FieldPath {\n if (typeof path === 'string') path = parsePathstring(path)\n if (!Array.isArray(path)) throw new Error(`invalid path: ${path}`)\n return path.reduce((field, key) => field.subfield(key), this)\n }\n\n subfield<K extends SubpathKey<T>>(key: K): FieldPath<SchemaAt<T, [K]>> {\n const cached = this.subfields?.get(key)\n if (cached) return cached as any\n const schema = subschema(this.schema, key)\n if (!schema) throw new Error(`invalid subschema key: ${key}`)\n const subfield = new FieldPath({\n path: [...this.path, key] as any,\n schema: schema as any,\n })\n if (this.subfields == null) this.subfields = new Map()\n this.subfields.set(key, subfield)\n return subfield\n }\n}\n\nexport type BasePath = (string | number)[]\n\nexport type SubpathKey<T extends z.ZodTypeAny> = 0 extends 1 & T\n ? any\n : 0 extends 1 & z.input<T>\n ? any\n : T extends z.ZodObject<infer Shape, infer UnknownKeys>\n ? UnknownKeys extends 'passthrough'\n ? string\n : keyof Shape\n : T extends z.ZodRecord<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodMap<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodArray<any>\n ? number\n : T extends z.ZodTuple<any, any>\n ? number\n : T extends z.ZodLazy<infer U>\n ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U>\n ? SubpathKey<U>\n : T extends z.ZodNullable<infer U>\n ? SubpathKey<U>\n : T extends z.ZodDefault<infer U>\n ? SubpathKey<U>\n : T extends z.ZodCatch<infer U>\n ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any>\n ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any>\n ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> = SubpathKey<T> extends never\n ? []\n : [] | ValuesOf<SubpathKeyMap<T>>\n\ntype ValuesOf<O> = O[keyof O]\n\nexport type SubpathKeyMap<T extends z.ZodTypeAny> = {\n [K in SubpathKey<T>]: [K, ...AllPaths<SchemaAt<T, [K]>>]\n}\n\nfunction subschema(\n schema: z.ZodTypeAny,\n key: string\n): z.ZodTypeAny | undefined {\n switch (schema._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodAny:\n case 'ZodArray':\n if (typeof key === 'number') return (schema as z.ZodArray<any>).element\n break\n case 'ZodObject': {\n const {\n shape,\n _def: { unknownKeys, catchall },\n } = schema as z.AnyZodObject\n if (key in shape) return shape[key]\n if (unknownKeys === 'passthrough') {\n return catchall._def.typeName === z.ZodFirstPartyTypeKind.ZodNever\n ? z.unknown()\n : catchall\n }\n break\n }\n case 'ZodUnion': {\n const options = (\n schema as z.ZodUnion<[z.ZodTypeAny, ...z.ZodTypeAny[]]>\n ).options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n }\n case 'ZodDiscriminatedUnion': {\n const discUnion = schema as z.ZodDiscriminatedUnion<\n any,\n [z.AnyZodObject, ...z.AnyZodObject[]]\n >\n const options = discUnion.options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n break\n }\n case 'ZodIntersection':\n break\n case 'ZodTuple': {\n const {\n items,\n _def: { rest },\n } = schema as z.ZodTuple<any, any>\n if (typeof key === 'number' && key > 0 && key < items.length) {\n return items[key]\n }\n if (rest) return rest\n break\n }\n case 'ZodRecord': {\n const { keySchema, valueSchema } = schema as z.ZodRecord<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodLazy':\n return subschema((schema as z.ZodLazy<z.ZodTypeAny>).schema, key)\n case 'ZodEffects': {\n const {\n _def: { schema: innerSchema },\n } = schema as z.ZodEffects<z.ZodTypeAny, any>\n return subschema(innerSchema, key)\n }\n case 'ZodOptional':\n return subschema((schema as z.ZodOptional<z.ZodTypeAny>).unwrap(), key)\n case 'ZodNullable':\n return subschema((schema as z.ZodNullable<z.ZodTypeAny>).unwrap(), key)\n case 'ZodDefault':\n return subschema(\n (schema as z.ZodDefault<z.ZodTypeAny>).removeDefault(),\n key\n )\n case 'ZodCatch':\n return subschema((schema as z.ZodCatch<z.ZodTypeAny>).removeCatch(), key)\n case 'ZodBranded':\n return subschema(\n (schema as z.ZodBranded<z.ZodTypeAny, any>)._def.type,\n key\n )\n case 'ZodPipeline': {\n const { _def } = schema as z.ZodPipeline<z.ZodTypeAny, z.ZodTypeAny>\n const _in = subschema(_def.in, key)\n const out = subschema(_def.out, key)\n return _in && out ? _in.pipe(out) : _in || out\n }\n }\n return undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FieldPath.js","names":["_zod","_interopRequireDefault","require","_pathstring","_parsePathstring","FieldPath","exports","_ref","schema","path","_classCallCheck2","_defineProperty2","pathstring","_createClass2","key","value","get","parsePathstring","Array","isArray","Error","concat","reduce","field","subfield","_this$subfields","cached","subfields","subschema","_toConsumableArray2","Map","set","root","_def","typeName","z","ZodFirstPartyTypeKind","ZodAny","element","_ref2","shape","_ref2$_def","unknownKeys","catchall","ZodNever","unknown","options","map","opt","filter","length","union","undefined","discUnion","_ref3","items","rest","_ref4","keySchema","valueSchema","safeParse","success","_ref5","_ref6","innerSchema","unwrap","removeDefault","removeCatch","type","_ref7","_in","out","pipe"],"sources":["src/FieldPath.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\n\nexport type FieldPathForParsedValue<ParsedValue, Value = any> = FieldPath<\n z.ZodType<ParsedValue, any, Value>\n>\nexport type FieldPathForValue<Value> = FieldPath<z.ZodType<any, any, Value>>\n\nexport class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {\n readonly path: BasePath\n readonly pathstring: string\n readonly schema: T\n\n private subfields: Map<SubpathKey<T>, FieldPath> | undefined\n\n private constructor({ schema, path }: { schema: T; path: BasePath }) {\n this.path = path\n this.schema = schema\n this.pathstring = pathstring(path)\n }\n\n static root<T extends z.ZodTypeAny>(schema: T) {\n return new FieldPath({ schema, path: [] })\n }\n\n get<Path extends PathInSchema<T>>(\n path: Path\n ): SchemaAt<T, Path> extends never ? never : FieldPath<SchemaAt<T, Path>>\n get<Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>\n get(path: any): FieldPath {\n if (typeof path === 'string') path = parsePathstring(path)\n if (!Array.isArray(path)) throw new Error(`invalid path: ${path}`)\n return path.reduce((field, key) => field.subfield(key), this)\n }\n\n subfield<K extends SubpathKey<T>>(key: K): FieldPath<SchemaAt<T, [K]>> {\n const cached = this.subfields?.get(key)\n if (cached) return cached as any\n const schema = subschema(this.schema, key)\n if (!schema) throw new Error(`invalid subschema key: ${key}`)\n const subfield = new FieldPath({\n path: [...this.path, key] as any,\n schema: schema as any,\n })\n if (this.subfields == null) this.subfields = new Map()\n this.subfields.set(key, subfield)\n return subfield\n }\n}\n\nexport type BasePath = (string | number)[]\n\nexport type SubpathKey<T extends z.ZodTypeAny> = 0 extends 1 & T\n ? any\n : 0 extends 1 & z.input<T>\n ? any\n : T extends z.ZodObject<infer Shape, infer UnknownKeys>\n ? UnknownKeys extends 'passthrough'\n ? string\n : keyof Shape\n : T extends z.ZodRecord<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodMap<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodArray<any>\n ? number\n : T extends z.ZodTuple<any, any>\n ? number\n : T extends z.ZodLazy<infer U>\n ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U>\n ? SubpathKey<U>\n : T extends z.ZodNullable<infer U>\n ? SubpathKey<U>\n : T extends z.ZodDefault<infer U>\n ? SubpathKey<U>\n : T extends z.ZodCatch<infer U>\n ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any>\n ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any>\n ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> = SubpathKey<T> extends never\n ? []\n : [] | ValuesOf<SubpathKeyMap<T>>\n\ntype ValuesOf<O> = O[keyof O]\n\nexport type SubpathKeyMap<T extends z.ZodTypeAny> = {\n [K in SubpathKey<T>]: [K, ...AllPaths<SchemaAt<T, [K]>>]\n}\n\nfunction subschema(\n schema: z.ZodTypeAny,\n key: string\n): z.ZodTypeAny | undefined {\n switch (schema._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodAny:\n case 'ZodArray':\n if (typeof key === 'number') return (schema as z.ZodArray<any>).element\n break\n case 'ZodObject': {\n const {\n shape,\n _def: { unknownKeys, catchall },\n } = schema as z.AnyZodObject\n if (key in shape) return shape[key]\n if (unknownKeys === 'passthrough') {\n return catchall._def.typeName === z.ZodFirstPartyTypeKind.ZodNever\n ? z.unknown()\n : catchall\n }\n break\n }\n case 'ZodUnion': {\n const options = (\n schema as z.ZodUnion<[z.ZodTypeAny, ...z.ZodTypeAny[]]>\n ).options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n }\n case 'ZodDiscriminatedUnion': {\n const discUnion = schema as z.ZodDiscriminatedUnion<\n any,\n [z.AnyZodObject, ...z.AnyZodObject[]]\n >\n const options = discUnion.options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n break\n }\n case 'ZodIntersection':\n break\n case 'ZodTuple': {\n const {\n items,\n _def: { rest },\n } = schema as z.ZodTuple<any, any>\n if (typeof key === 'number' && key > 0 && key < items.length) {\n return items[key]\n }\n if (rest) return rest\n break\n }\n case 'ZodRecord': {\n const { keySchema, valueSchema } = schema as z.ZodRecord<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodLazy':\n return subschema((schema as z.ZodLazy<z.ZodTypeAny>).schema, key)\n case 'ZodEffects': {\n const {\n _def: { schema: innerSchema },\n } = schema as z.ZodEffects<z.ZodTypeAny, any>\n return subschema(innerSchema, key)\n }\n case 'ZodOptional':\n return subschema((schema as z.ZodOptional<z.ZodTypeAny>).unwrap(), key)\n case 'ZodNullable':\n return subschema((schema as z.ZodNullable<z.ZodTypeAny>).unwrap(), key)\n case 'ZodDefault':\n return subschema(\n (schema as z.ZodDefault<z.ZodTypeAny>).removeDefault(),\n key\n )\n case 'ZodCatch':\n return subschema((schema as z.ZodCatch<z.ZodTypeAny>).removeCatch(), key)\n case 'ZodBranded':\n return subschema(\n (schema as z.ZodBranded<z.ZodTypeAny, any>)._def.type,\n key\n )\n case 'ZodPipeline': {\n const { _def } = schema as z.ZodPipeline<z.ZodTypeAny, z.ZodTypeAny>\n const _in = subschema(_def.in, key)\n const out = subschema(_def.out, key)\n return _in && out ? _in.pipe(out) : _in || out\n }\n }\n return undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
package/FieldPath.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPath.mjs","names":["z","pathstring","parsePathstring","FieldPath","path","schema","subfields","constructor","root","get","Array","isArray","Error","reduce","field","key","subfield","_this$subfields","cached","subschema","Map","set","_def","typeName","ZodFirstPartyTypeKind","ZodAny","element","shape","unknownKeys","catchall","ZodNever","unknown","options","map","opt","filter","length","union","undefined","discUnion","items","rest","keySchema","valueSchema","safeParse","success","innerSchema","unwrap","removeDefault","removeCatch","type","_in","in","out","pipe"],"sources":["src/FieldPath.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\n\nexport type FieldPathForValue<Value, RawValue = any> = FieldPath<\n z.ZodType<Value, any, RawValue>\n>\nexport type FieldPathForRawValue<RawValue> = FieldPath<\n z.ZodType<any, any, RawValue>\n>\n\nexport class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {\n readonly path: BasePath\n readonly pathstring: string\n readonly schema: T\n\n private subfields: Map<SubpathKey<T>, FieldPath> | undefined\n\n private constructor({ schema, path }: { schema: T; path: BasePath }) {\n this.path = path\n this.schema = schema\n this.pathstring = pathstring(path)\n }\n\n static root<T extends z.ZodTypeAny>(schema: T) {\n return new FieldPath({ schema, path: [] })\n }\n\n get<Path extends PathInSchema<T>>(\n path: Path\n ): SchemaAt<T, Path> extends never ? never : FieldPath<SchemaAt<T, Path>>\n get<Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>\n get(path: any): FieldPath {\n if (typeof path === 'string') path = parsePathstring(path)\n if (!Array.isArray(path)) throw new Error(`invalid path: ${path}`)\n return path.reduce((field, key) => field.subfield(key), this)\n }\n\n subfield<K extends SubpathKey<T>>(key: K): FieldPath<SchemaAt<T, [K]>> {\n const cached = this.subfields?.get(key)\n if (cached) return cached as any\n const schema = subschema(this.schema, key)\n if (!schema) throw new Error(`invalid subschema key: ${key}`)\n const subfield = new FieldPath({\n path: [...this.path, key] as any,\n schema: schema as any,\n })\n if (this.subfields == null) this.subfields = new Map()\n this.subfields.set(key, subfield)\n return subfield\n }\n}\n\nexport type BasePath = (string | number)[]\n\nexport type SubpathKey<T extends z.ZodTypeAny> = 0 extends 1 & T\n ? any\n : 0 extends 1 & z.input<T>\n ? any\n : T extends z.ZodObject<infer Shape, infer UnknownKeys>\n ? UnknownKeys extends 'passthrough'\n ? string\n : keyof Shape\n : T extends z.ZodRecord<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodMap<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodArray<any>\n ? number\n : T extends z.ZodTuple<any, any>\n ? number\n : T extends z.ZodLazy<infer U>\n ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U>\n ? SubpathKey<U>\n : T extends z.ZodNullable<infer U>\n ? SubpathKey<U>\n : T extends z.ZodDefault<infer U>\n ? SubpathKey<U>\n : T extends z.ZodCatch<infer U>\n ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any>\n ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any>\n ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> = SubpathKey<T> extends never\n ? []\n : [] | ValuesOf<SubpathKeyMap<T>>\n\ntype ValuesOf<O> = O[keyof O]\n\nexport type SubpathKeyMap<T extends z.ZodTypeAny> = {\n [K in SubpathKey<T>]: [K, ...AllPaths<SchemaAt<T, [K]>>]\n}\n\nfunction subschema(\n schema: z.ZodTypeAny,\n key: string\n): z.ZodTypeAny | undefined {\n switch (schema._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodAny:\n case 'ZodArray':\n if (typeof key === 'number') return (schema as z.ZodArray<any>).element\n break\n case 'ZodObject': {\n const {\n shape,\n _def: { unknownKeys, catchall },\n } = schema as z.AnyZodObject\n if (key in shape) return shape[key]\n if (unknownKeys === 'passthrough') {\n return catchall._def.typeName === z.ZodFirstPartyTypeKind.ZodNever\n ? z.unknown()\n : catchall\n }\n break\n }\n case 'ZodUnion': {\n const options = (\n schema as z.ZodUnion<[z.ZodTypeAny, ...z.ZodTypeAny[]]>\n ).options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n }\n case 'ZodDiscriminatedUnion': {\n const discUnion = schema as z.ZodDiscriminatedUnion<\n any,\n [z.AnyZodObject, ...z.AnyZodObject[]]\n >\n const options = discUnion.options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n break\n }\n case 'ZodIntersection':\n break\n case 'ZodTuple': {\n const {\n items,\n _def: { rest },\n } = schema as z.ZodTuple<any, any>\n if (typeof key === 'number' && key > 0 && key < items.length) {\n return items[key]\n }\n if (rest) return rest\n break\n }\n case 'ZodRecord': {\n const { keySchema, valueSchema } = schema as z.ZodRecord<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodLazy':\n return subschema((schema as z.ZodLazy<z.ZodTypeAny>).schema, key)\n case 'ZodEffects': {\n const {\n _def: { schema: innerSchema },\n } = schema as z.ZodEffects<z.ZodTypeAny, any>\n return subschema(innerSchema, key)\n }\n case 'ZodOptional':\n return subschema((schema as z.ZodOptional<z.ZodTypeAny>).unwrap(), key)\n case 'ZodNullable':\n return subschema((schema as z.ZodNullable<z.ZodTypeAny>).unwrap(), key)\n case 'ZodDefault':\n return subschema(\n (schema as z.ZodDefault<z.ZodTypeAny>).removeDefault(),\n key\n )\n case 'ZodCatch':\n return subschema((schema as z.ZodCatch<z.ZodTypeAny>).removeCatch(), key)\n case 'ZodBranded':\n return subschema(\n (schema as z.ZodBranded<z.ZodTypeAny, any>)._def.type,\n key\n )\n case 'ZodPipeline': {\n const { _def } = schema as z.ZodPipeline<z.ZodTypeAny, z.ZodTypeAny>\n const _in = subschema(_def.in, key)\n const out = subschema(_def.out, key)\n return _in && out ? _in.pipe(out) : _in || out\n }\n }\n return undefined\n}\n"],"mappings":"AAAA,OAAOA,CAAC,MAAM,KAAK;AACnB,SAASC,UAAU;AAGnB,SAASC,eAAe;AASxB,OAAO,MAAMC,SAAS,CAAwC;EACnDC,IAAI;EACJH,UAAU;EACVI,MAAM;EAEPC,SAAS;EAETC,WAAWA,CAAC;IAAEF,MAAM;IAAED;EAAoC,CAAC,EAAE;IACnE,IAAI,CAACA,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACJ,UAAU,GAAGA,UAAU,CAACG,IAAI,CAAC;EACpC;EAEA,OAAOI,IAAIA,CAAyBH,MAAS,EAAE;IAC7C,OAAO,IAAIF,SAAS,CAAC;MAAEE,MAAM;MAAED,IAAI,EAAE;IAAG,CAAC,CAAC;EAC5C;EAQAK,GAAGA,CAACL,IAAS,EAAa;IACxB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAEA,IAAI,GAAGF,eAAe,CAACE,IAAI,CAAC;IAC1D,IAAI,CAACM,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE,MAAM,IAAIQ,KAAK,CAAC,iBAAiBR,IAAI,EAAE,CAAC;IAClE,OAAOA,IAAI,CAACS,MAAM,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAKD,KAAK,CAACE,QAAQ,CAACD,GAAG,CAAC,EAAE,IAAI,CAAC;EAC/D;EAEAC,QAAQA,CAA0BD,GAAM,EAA+B;IAAA,IAAAE,eAAA;IACrE,MAAMC,MAAM,IAAAD,eAAA,GAAG,IAAI,CAACX,SAAS,cAAAW,eAAA,uBAAdA,eAAA,CAAgBR,GAAG,CAACM,GAAG,CAAC;IACvC,IAAIG,MAAM,EAAE,OAAOA,MAAM;IACzB,MAAMb,MAAM,GAAGc,SAAS,CAAC,IAAI,CAACd,MAAM,EAAEU,GAAG,CAAC;IAC1C,IAAI,CAACV,MAAM,EAAE,MAAM,IAAIO,KAAK,CAAC,0BAA0BG,GAAG,EAAE,CAAC;IAC7D,MAAMC,QAAQ,GAAG,IAAIb,SAAS,CAAC;MAC7BC,IAAI,EAAE,CAAC,GAAG,IAAI,CAACA,IAAI,EAAEW,GAAG,CAAQ;MAChCV,MAAM,EAAEA;IACV,CAAC,CAAC;IACF,IAAI,IAAI,CAACC,SAAS,IAAI,IAAI,EAAE,IAAI,CAACA,SAAS,GAAG,IAAIc,GAAG,CAAC,CAAC;IACtD,IAAI,CAACd,SAAS,CAACe,GAAG,CAACN,GAAG,EAAEC,QAAQ,CAAC;IACjC,OAAOA,QAAQ;EACjB;AACF;AAkDA,SAASG,SAASA,CAChBd,MAAoB,EACpBU,GAAW,EACe;EAC1B,QAAQV,MAAM,CAACiB,IAAI,CAACC,QAAQ;IAC1B,KAAKvB,CAAC,CAACwB,qBAAqB,CAACC,MAAM;IACnC,KAAK,UAAU;MACb,IAAI,OAAOV,GAAG,KAAK,QAAQ,EAAE,OAAQV,MAAM,CAAqBqB,OAAO;MACvE;IACF,KAAK,WAAW;MAAE;QAChB,MAAM;UACJC,KAAK;UACLL,IAAI,EAAE;YAAEM,WAAW;YAAEC;UAAS;QAChC,CAAC,GAAGxB,MAAwB;QAC5B,IAAIU,GAAG,IAAIY,KAAK,EAAE,OAAOA,KAAK,CAACZ,GAAG,CAAC;QACnC,IAAIa,WAAW,KAAK,aAAa,EAAE;UACjC,OAAOC,QAAQ,CAACP,IAAI,CAACC,QAAQ,KAAKvB,CAAC,CAACwB,qBAAqB,CAACM,QAAQ,GAC9D9B,CAAC,CAAC+B,OAAO,CAAC,CAAC,GACXF,QAAQ;QACd;QACA;MACF;IACA,KAAK,UAAU;MAAE;QACf,MAAMG,OAAO,GACX3B,MAAM,CACN2B,OAAO,CACNC,GAAG,CAAEC,GAAG,IAAKf,SAAS,CAACe,GAAG,EAAEnB,GAAG,CAAC,CAAC,CACjCoB,MAAM,CAAED,GAAG,IAA0BA,GAAG,IAAI,IAAI,CAAC;QACpD,OAAOF,OAAO,CAACI,MAAM,GAAG,CAAC,GACrBpC,CAAC,CAACqC,KAAK,CAACL,OAAc,CAAC,GACvBA,OAAO,CAACI,MAAM,KAAK,CAAC,GACpBJ,OAAO,CAAC,CAAC,CAAC,GACVM,SAAS;MACf;IACA,KAAK,uBAAuB;MAAE;QAC5B,MAAMC,SAAS,GAAGlC,MAGjB;QACD,MAAM2B,OAAO,GAAGO,SAAS,CAACP,OAAO,CAC9BC,GAAG,CAAEC,GAAG,IAAKf,SAAS,CAACe,GAAG,EAAEnB,GAAG,CAAC,CAAC,CACjCoB,MAAM,CAAED,GAAG,IAA0BA,GAAG,IAAI,IAAI,CAAC;QACpD,OAAOF,OAAO,CAACI,MAAM,GAAG,CAAC,GACrBpC,CAAC,CAACqC,KAAK,CAACL,OAAc,CAAC,GACvBA,OAAO,CAACI,MAAM,KAAK,CAAC,GACpBJ,OAAO,CAAC,CAAC,CAAC,GACVM,SAAS;QACb;MACF;IACA,KAAK,iBAAiB;MACpB;IACF,KAAK,UAAU;MAAE;QACf,MAAM;UACJE,KAAK;UACLlB,IAAI,EAAE;YAAEmB;UAAK;QACf,CAAC,GAAGpC,MAA8B;QAClC,IAAI,OAAOU,GAAG,KAAK,QAAQ,IAAIA,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAGyB,KAAK,CAACJ,MAAM,EAAE;UAC5D,OAAOI,KAAK,CAACzB,GAAG,CAAC;QACnB;QACA,IAAI0B,IAAI,EAAE,OAAOA,IAAI;QACrB;MACF;IACA,KAAK,WAAW;MAAE;QAChB,MAAM;UAAEC,SAAS;UAAEC;QAAY,CAAC,GAAGtC,MAGlC;QACD,IAAIqC,SAAS,CAACE,SAAS,CAAC7B,GAAG,CAAC,CAAC8B,OAAO,EAAE,OAAOF,WAAW;QACxD;MACF;IACA,KAAK,QAAQ;MAAE;QACb,MAAM;UAAED,SAAS;UAAEC;QAAY,CAAC,GAAGtC,MAGlC;QACD,IAAIqC,SAAS,CAACE,SAAS,CAAC7B,GAAG,CAAC,CAAC8B,OAAO,EAAE,OAAOF,WAAW;QACxD;MACF;IACA,KAAK,SAAS;MACZ,OAAOxB,SAAS,CAAEd,MAAM,CAA6BA,MAAM,EAAEU,GAAG,CAAC;IACnE,KAAK,YAAY;MAAE;QACjB,MAAM;UACJO,IAAI,EAAE;YAAEjB,MAAM,EAAEyC;UAAY;QAC9B,CAAC,GAAGzC,MAAyC;QAC7C,OAAOc,SAAS,CAAC2B,WAAW,EAAE/B,GAAG,CAAC;MACpC;IACA,KAAK,aAAa;MAChB,OAAOI,SAAS,CAAEd,MAAM,CAAiC0C,MAAM,CAAC,CAAC,EAAEhC,GAAG,CAAC;IACzE,KAAK,aAAa;MAChB,OAAOI,SAAS,CAAEd,MAAM,CAAiC0C,MAAM,CAAC,CAAC,EAAEhC,GAAG,CAAC;IACzE,KAAK,YAAY;MACf,OAAOI,SAAS,CACbd,MAAM,CAAgC2C,aAAa,CAAC,CAAC,EACtDjC,GACF,CAAC;IACH,KAAK,UAAU;MACb,OAAOI,SAAS,CAAEd,MAAM,CAA8B4C,WAAW,CAAC,CAAC,EAAElC,GAAG,CAAC;IAC3E,KAAK,YAAY;MACf,OAAOI,SAAS,CACbd,MAAM,CAAqCiB,IAAI,CAAC4B,IAAI,EACrDnC,GACF,CAAC;IACH,KAAK,aAAa;MAAE;QAClB,MAAM;UAAEO;QAAK,CAAC,GAAGjB,MAAmD;QACpE,MAAM8C,GAAG,GAAGhC,SAAS,CAACG,IAAI,CAAC8B,EAAE,EAAErC,GAAG,CAAC;QACnC,MAAMsC,GAAG,GAAGlC,SAAS,CAACG,IAAI,CAAC+B,GAAG,EAAEtC,GAAG,CAAC;QACpC,OAAOoC,GAAG,IAAIE,GAAG,GAAGF,GAAG,CAACG,IAAI,CAACD,GAAG,CAAC,GAAGF,GAAG,IAAIE,GAAG;MAChD;EACF;EACA,OAAOf,SAAS;AAClB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FieldPath.mjs","names":["z","pathstring","parsePathstring","FieldPath","path","schema","subfields","constructor","root","get","Array","isArray","Error","reduce","field","key","subfield","_this$subfields","cached","subschema","Map","set","_def","typeName","ZodFirstPartyTypeKind","ZodAny","element","shape","unknownKeys","catchall","ZodNever","unknown","options","map","opt","filter","length","union","undefined","discUnion","items","rest","keySchema","valueSchema","safeParse","success","innerSchema","unwrap","removeDefault","removeCatch","type","_in","in","out","pipe"],"sources":["src/FieldPath.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { SchemaAt } from './util/SchemaAt'\nimport { PathInSchema, PathstringInSchema } from './util/PathInSchema'\nimport { parsePathstring } from './util/parsePathstring'\n\nexport type FieldPathForParsedValue<ParsedValue, Value = any> = FieldPath<\n z.ZodType<ParsedValue, any, Value>\n>\nexport type FieldPathForValue<Value> = FieldPath<z.ZodType<any, any, Value>>\n\nexport class FieldPath<T extends z.ZodTypeAny = z.ZodTypeAny> {\n readonly path: BasePath\n readonly pathstring: string\n readonly schema: T\n\n private subfields: Map<SubpathKey<T>, FieldPath> | undefined\n\n private constructor({ schema, path }: { schema: T; path: BasePath }) {\n this.path = path\n this.schema = schema\n this.pathstring = pathstring(path)\n }\n\n static root<T extends z.ZodTypeAny>(schema: T) {\n return new FieldPath({ schema, path: [] })\n }\n\n get<Path extends PathInSchema<T>>(\n path: Path\n ): SchemaAt<T, Path> extends never ? never : FieldPath<SchemaAt<T, Path>>\n get<Pathstring extends PathstringInSchema<T>>(\n path: Pathstring\n ): FieldPath<SchemaAt<T, parsePathstring<Pathstring>>>\n get(path: any): FieldPath {\n if (typeof path === 'string') path = parsePathstring(path)\n if (!Array.isArray(path)) throw new Error(`invalid path: ${path}`)\n return path.reduce((field, key) => field.subfield(key), this)\n }\n\n subfield<K extends SubpathKey<T>>(key: K): FieldPath<SchemaAt<T, [K]>> {\n const cached = this.subfields?.get(key)\n if (cached) return cached as any\n const schema = subschema(this.schema, key)\n if (!schema) throw new Error(`invalid subschema key: ${key}`)\n const subfield = new FieldPath({\n path: [...this.path, key] as any,\n schema: schema as any,\n })\n if (this.subfields == null) this.subfields = new Map()\n this.subfields.set(key, subfield)\n return subfield\n }\n}\n\nexport type BasePath = (string | number)[]\n\nexport type SubpathKey<T extends z.ZodTypeAny> = 0 extends 1 & T\n ? any\n : 0 extends 1 & z.input<T>\n ? any\n : T extends z.ZodObject<infer Shape, infer UnknownKeys>\n ? UnknownKeys extends 'passthrough'\n ? string\n : keyof Shape\n : T extends z.ZodRecord<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodMap<infer Key, any>\n ? z.input<Key>\n : T extends z.ZodArray<any>\n ? number\n : T extends z.ZodTuple<any, any>\n ? number\n : T extends z.ZodLazy<infer U>\n ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options>\n ? SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U>\n ? SubpathKey<U>\n : T extends z.ZodNullable<infer U>\n ? SubpathKey<U>\n : T extends z.ZodDefault<infer U>\n ? SubpathKey<U>\n : T extends z.ZodCatch<infer U>\n ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any>\n ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any>\n ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> = SubpathKey<T> extends never\n ? []\n : [] | ValuesOf<SubpathKeyMap<T>>\n\ntype ValuesOf<O> = O[keyof O]\n\nexport type SubpathKeyMap<T extends z.ZodTypeAny> = {\n [K in SubpathKey<T>]: [K, ...AllPaths<SchemaAt<T, [K]>>]\n}\n\nfunction subschema(\n schema: z.ZodTypeAny,\n key: string\n): z.ZodTypeAny | undefined {\n switch (schema._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodAny:\n case 'ZodArray':\n if (typeof key === 'number') return (schema as z.ZodArray<any>).element\n break\n case 'ZodObject': {\n const {\n shape,\n _def: { unknownKeys, catchall },\n } = schema as z.AnyZodObject\n if (key in shape) return shape[key]\n if (unknownKeys === 'passthrough') {\n return catchall._def.typeName === z.ZodFirstPartyTypeKind.ZodNever\n ? z.unknown()\n : catchall\n }\n break\n }\n case 'ZodUnion': {\n const options = (\n schema as z.ZodUnion<[z.ZodTypeAny, ...z.ZodTypeAny[]]>\n ).options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n }\n case 'ZodDiscriminatedUnion': {\n const discUnion = schema as z.ZodDiscriminatedUnion<\n any,\n [z.AnyZodObject, ...z.AnyZodObject[]]\n >\n const options = discUnion.options\n .map((opt) => subschema(opt, key))\n .filter((opt): opt is z.ZodTypeAny => opt != null)\n return options.length > 1\n ? z.union(options as any)\n : options.length === 1\n ? options[0]\n : undefined\n break\n }\n case 'ZodIntersection':\n break\n case 'ZodTuple': {\n const {\n items,\n _def: { rest },\n } = schema as z.ZodTuple<any, any>\n if (typeof key === 'number' && key > 0 && key < items.length) {\n return items[key]\n }\n if (rest) return rest\n break\n }\n case 'ZodRecord': {\n const { keySchema, valueSchema } = schema as z.ZodRecord<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap<\n z.ZodTypeAny,\n z.ZodTypeAny\n >\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodLazy':\n return subschema((schema as z.ZodLazy<z.ZodTypeAny>).schema, key)\n case 'ZodEffects': {\n const {\n _def: { schema: innerSchema },\n } = schema as z.ZodEffects<z.ZodTypeAny, any>\n return subschema(innerSchema, key)\n }\n case 'ZodOptional':\n return subschema((schema as z.ZodOptional<z.ZodTypeAny>).unwrap(), key)\n case 'ZodNullable':\n return subschema((schema as z.ZodNullable<z.ZodTypeAny>).unwrap(), key)\n case 'ZodDefault':\n return subschema(\n (schema as z.ZodDefault<z.ZodTypeAny>).removeDefault(),\n key\n )\n case 'ZodCatch':\n return subschema((schema as z.ZodCatch<z.ZodTypeAny>).removeCatch(), key)\n case 'ZodBranded':\n return subschema(\n (schema as z.ZodBranded<z.ZodTypeAny, any>)._def.type,\n key\n )\n case 'ZodPipeline': {\n const { _def } = schema as z.ZodPipeline<z.ZodTypeAny, z.ZodTypeAny>\n const _in = subschema(_def.in, key)\n const out = subschema(_def.out, key)\n return _in && out ? _in.pipe(out) : _in || out\n }\n }\n return undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
package/FormAction.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
import { SetMountedAction } from './actions/setMounted';
|
|
3
3
|
import { InitializeAction } from './actions/initialize';
|
|
4
|
+
import { SetParsedValueAction } from './actions/setParsedValue';
|
|
4
5
|
import { SetValueAction } from './actions/setValue';
|
|
5
|
-
import { SetRawValueAction } from './actions/setRawValue';
|
|
6
6
|
import { SetMetaAction } from './actions/setMeta';
|
|
7
7
|
import { FieldPath } from './FieldPath';
|
|
8
8
|
import { SubmitAction } from './actions/submit';
|
|
@@ -11,5 +11,5 @@ import { SetSubmitStatusAction } from './actions/setSubmitStatus';
|
|
|
11
11
|
import { AddHandlersAction } from './actions/addHandlers';
|
|
12
12
|
import { RemoveHandlersAction } from './actions/removeHandlers';
|
|
13
13
|
import { ArrayAction } from './actions/arrayActions';
|
|
14
|
-
export type FormAction<T extends z.ZodTypeAny> = SetMountedAction | InitializeAction<T> |
|
|
14
|
+
export type FormAction<T extends z.ZodTypeAny> = SetMountedAction | InitializeAction<T> | SetParsedValueAction<FieldPath> | SetValueAction<FieldPath> | SetMetaAction<FieldPath> | AddHandlersAction<T> | RemoveHandlersAction<T> | SubmitAction | SubmitSucceededAction | SetSubmitStatusAction<T> | ArrayAction;
|
|
15
15
|
//# sourceMappingURL=FormAction.d.ts.map
|
package/FormAction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAction.d.ts","sourceRoot":"","sources":["src/FormAction.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FormAction.d.ts","sourceRoot":"","sources":["src/FormAction.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IACzC,gBAAgB,GAChB,gBAAgB,CAAC,CAAC,CAAC,GACnB,oBAAoB,CAAC,SAAS,CAAC,GAC/B,cAAc,CAAC,SAAS,CAAC,GACzB,aAAa,CAAC,SAAS,CAAC,GACxB,iBAAiB,CAAC,CAAC,CAAC,GACpB,oBAAoB,CAAC,CAAC,CAAC,GACvB,YAAY,GACZ,qBAAqB,GACrB,qBAAqB,CAAC,CAAC,CAAC,GACxB,WAAW,CAAA"}
|
package/FormAction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAction.js","names":[],"sources":["src/FormAction.ts"],"sourcesContent":["import z from 'zod'\nimport { SetMountedAction } from './actions/setMounted'\nimport { InitializeAction } from './actions/initialize'\nimport {
|
|
1
|
+
{"version":3,"file":"FormAction.js","names":[],"sources":["src/FormAction.ts"],"sourcesContent":["import z from 'zod'\nimport { SetMountedAction } from './actions/setMounted'\nimport { InitializeAction } from './actions/initialize'\nimport { SetParsedValueAction } from './actions/setParsedValue'\nimport { SetValueAction } from './actions/setValue'\nimport { SetMetaAction } from './actions/setMeta'\nimport { FieldPath } from './FieldPath'\nimport { SubmitAction } from './actions/submit'\nimport { SubmitSucceededAction } from './actions/submitSucceeded'\nimport { SetSubmitStatusAction } from './actions/setSubmitStatus'\nimport { AddHandlersAction } from './actions/addHandlers'\nimport { RemoveHandlersAction } from './actions/removeHandlers'\nimport { ArrayAction } from './actions/arrayActions'\n\nexport type FormAction<T extends z.ZodTypeAny> =\n | SetMountedAction\n | InitializeAction<T>\n | SetParsedValueAction<FieldPath>\n | SetValueAction<FieldPath>\n | SetMetaAction<FieldPath>\n | AddHandlersAction<T>\n | RemoveHandlersAction<T>\n | SubmitAction\n | SubmitSucceededAction\n | SetSubmitStatusAction<T>\n | ArrayAction\n"],"mappings":"","ignoreList":[]}
|
package/FormAction.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAction.mjs","names":[],"sources":["src/FormAction.ts"],"sourcesContent":["import z from 'zod'\nimport { SetMountedAction } from './actions/setMounted'\nimport { InitializeAction } from './actions/initialize'\nimport {
|
|
1
|
+
{"version":3,"file":"FormAction.mjs","names":[],"sources":["src/FormAction.ts"],"sourcesContent":["import z from 'zod'\nimport { SetMountedAction } from './actions/setMounted'\nimport { InitializeAction } from './actions/initialize'\nimport { SetParsedValueAction } from './actions/setParsedValue'\nimport { SetValueAction } from './actions/setValue'\nimport { SetMetaAction } from './actions/setMeta'\nimport { FieldPath } from './FieldPath'\nimport { SubmitAction } from './actions/submit'\nimport { SubmitSucceededAction } from './actions/submitSucceeded'\nimport { SetSubmitStatusAction } from './actions/setSubmitStatus'\nimport { AddHandlersAction } from './actions/addHandlers'\nimport { RemoveHandlersAction } from './actions/removeHandlers'\nimport { ArrayAction } from './actions/arrayActions'\n\nexport type FormAction<T extends z.ZodTypeAny> =\n | SetMountedAction\n | InitializeAction<T>\n | SetParsedValueAction<FieldPath>\n | SetValueAction<FieldPath>\n | SetMetaAction<FieldPath>\n | AddHandlersAction<T>\n | RemoveHandlersAction<T>\n | SubmitAction\n | SubmitSucceededAction\n | SetSubmitStatusAction<T>\n | ArrayAction\n"],"mappings":"","ignoreList":[]}
|
package/FormContext.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import z from 'zod';
|
|
3
3
|
import { FieldPath } from './FieldPath';
|
|
4
4
|
import { initialize } from './actions/initialize';
|
|
5
|
-
import { setRawValue } from './actions/setRawValue';
|
|
6
5
|
import { setValue } from './actions/setValue';
|
|
6
|
+
import { setParsedValue } from './actions/setParsedValue';
|
|
7
7
|
import { submit } from './actions/submit';
|
|
8
8
|
import { setSubmitStatus } from './actions/setSubmitStatus';
|
|
9
9
|
import { SelectFormValues } from './createSelectFormValues';
|
|
@@ -13,6 +13,7 @@ import { setMeta } from './actions/setMeta';
|
|
|
13
13
|
import { addHandlers } from './actions/addHandlers';
|
|
14
14
|
import { removeHandlers } from './actions/removeHandlers';
|
|
15
15
|
import { arrayActions } from './actions/arrayActions';
|
|
16
|
+
import { DeepPartial } from './util/DeepPartial';
|
|
16
17
|
export declare const FormContext: React.Context<FormContextProps<z.ZodTypeAny> | null>;
|
|
17
18
|
export type FormContextProps<T extends z.ZodTypeAny> = {
|
|
18
19
|
schema: T;
|
|
@@ -22,18 +23,18 @@ export type FormContextProps<T extends z.ZodTypeAny> = {
|
|
|
22
23
|
addHandlers: typeof addHandlers<T>;
|
|
23
24
|
removeHandlers: typeof removeHandlers<T>;
|
|
24
25
|
setMeta: typeof setMeta;
|
|
25
|
-
setRawValue: typeof setRawValue;
|
|
26
26
|
setValue: typeof setValue;
|
|
27
|
+
setParsedValue: typeof setParsedValue;
|
|
27
28
|
submit: typeof submit;
|
|
28
29
|
setSubmitStatus: typeof setSubmitStatus<T>;
|
|
29
30
|
arrayActions: typeof arrayActions;
|
|
30
31
|
selectFormStatus: SelectFormStatus;
|
|
31
32
|
selectFieldErrorMap: SelectFieldErrorMap;
|
|
32
33
|
selectFormValues: SelectFormValues<T>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
getParsedValues: () => DeepPartial<z.output<T>> | undefined;
|
|
35
|
+
getValues: () => DeepPartial<z.input<T>> | undefined;
|
|
36
|
+
getInitialParsedValues: () => DeepPartial<z.output<T>> | undefined;
|
|
37
|
+
getInitialValues: () => DeepPartial<z.input<T>> | undefined;
|
|
37
38
|
getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>;
|
|
38
39
|
};
|
|
39
40
|
//# sourceMappingURL=FormContext.d.ts.map
|
package/FormContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["src/FormContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["src/FormContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,eAAO,MAAM,WAAW,sDAC0C,CAAA;AAElE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IACrD,MAAM,EAAE,CAAC,CAAA;IACT,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,EAAE,OAAO,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,eAAe,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;IAC1C,YAAY,EAAE,OAAO,YAAY,CAAA;IACjC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACrC,eAAe,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAS,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACpD,sBAAsB,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE,gBAAgB,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAS,EAAE,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;CACvE,CAAA"}
|
package/FormContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormContext.js","names":["_react","_interopRequireDefault","require","FormContext","exports","React","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport {
|
|
1
|
+
{"version":3,"file":"FormContext.js","names":["_react","_interopRequireDefault","require","FormContext","exports","React","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: typeof arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => DeepPartial<z.output<T>> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => DeepPartial<z.output<T>> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAoBO,IAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBACtBE,iBAAK,CAACC,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
|
package/FormContext.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormContext.mjs","names":["React","FormContext","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport {
|
|
1
|
+
{"version":3,"file":"FormContext.mjs","names":["React","FormContext","createContext"],"sources":["src/FormContext.ts"],"sourcesContent":["import React from 'react'\nimport z from 'zod'\nimport { FieldPath } from './FieldPath'\nimport { initialize } from './actions/initialize'\nimport { setValue } from './actions/setValue'\nimport { setParsedValue } from './actions/setParsedValue'\nimport { submit } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { SelectFormValues } from './createSelectFormValues'\nimport { SelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport {\n createSelectFormStatus,\n SelectFormStatus,\n} from './createSelectFormStatus'\nimport { setMeta } from './actions/setMeta'\nimport { addHandlers } from './actions/addHandlers'\nimport { removeHandlers } from './actions/removeHandlers'\nimport { arrayActions } from './actions/arrayActions'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport const FormContext =\n React.createContext<FormContextProps<z.ZodTypeAny> | null>(null)\n\nexport type FormContextProps<T extends z.ZodTypeAny> = {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n root: FieldPath<T>\n initialize: typeof initialize<T>\n addHandlers: typeof addHandlers<T>\n removeHandlers: typeof removeHandlers<T>\n setMeta: typeof setMeta\n setValue: typeof setValue\n setParsedValue: typeof setParsedValue\n submit: typeof submit\n setSubmitStatus: typeof setSubmitStatus<T>\n arrayActions: typeof arrayActions\n selectFormStatus: SelectFormStatus\n selectFieldErrorMap: SelectFieldErrorMap\n selectFormValues: SelectFormValues<T>\n getParsedValues: () => DeepPartial<z.output<T>> | undefined\n getValues: () => DeepPartial<z.input<T>> | undefined\n getInitialParsedValues: () => DeepPartial<z.output<T>> | undefined\n getInitialValues: () => DeepPartial<z.input<T>> | undefined\n getStatus: () => ReturnType<ReturnType<typeof createSelectFormStatus>>\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,WAAW,gBACtBD,KAAK,CAACE,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
|
package/FormState.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
+
import { DeepPartial } from './util/DeepPartial';
|
|
2
3
|
export type FieldMeta = {
|
|
3
4
|
touched: boolean;
|
|
4
5
|
visited: boolean;
|
|
5
6
|
};
|
|
6
|
-
export type SubmitHandler<T extends z.ZodTypeAny> = (
|
|
7
|
-
initialValues
|
|
7
|
+
export type SubmitHandler<T extends z.ZodTypeAny> = (parsedValues: z.output<T>, options: {
|
|
8
|
+
initialValues?: DeepPartial<z.input<T>>;
|
|
9
|
+
initialParsedValues?: DeepPartial<z.output<T>>;
|
|
8
10
|
}) => void | Promise<void>;
|
|
9
11
|
export type SubmitSuccededHandler = () => void;
|
|
10
12
|
export type SubmitFailedHandler = (error: Error) => void;
|
|
@@ -12,12 +14,12 @@ export type FormState<T extends z.ZodTypeAny> = {
|
|
|
12
14
|
mounted: boolean;
|
|
13
15
|
initialized: boolean;
|
|
14
16
|
fieldMeta: Record<string, FieldMeta>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
values?: DeepPartial<z.input<T>>;
|
|
18
|
+
parsedValues?: DeepPartial<z.output<T>>;
|
|
19
|
+
submittedParsedValues?: z.output<T>;
|
|
20
|
+
submittedValues?: z.input<T>;
|
|
21
|
+
initialValues?: DeepPartial<z.input<T>>;
|
|
22
|
+
initialParsedValues?: DeepPartial<z.output<T>>;
|
|
21
23
|
validationError?: any;
|
|
22
24
|
submitPromise?: Promise<void>;
|
|
23
25
|
onSubmit: Set<SubmitHandler<T>>;
|
package/FormState.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormState.d.ts","sourceRoot":"","sources":["src/FormState.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"FormState.d.ts","sourceRoot":"","sources":["src/FormState.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,CAClD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE;IACP,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,mBAAmB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;CAC/C,KACE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAA;AAE9C,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAExD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,qBAAqB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACnC,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5B,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,mBAAmB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,iBAAiB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAC7C,cAAc,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACxC,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,CAAA"}
|
package/FormState.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormState.js","names":[],"sources":["src/FormState.ts"],"sourcesContent":["import z from 'zod'\n\nexport type FieldMeta = {\n touched: boolean\n visited: boolean\n}\n\nexport type SubmitHandler<T extends z.ZodTypeAny> = (\n
|
|
1
|
+
{"version":3,"file":"FormState.js","names":[],"sources":["src/FormState.ts"],"sourcesContent":["import z from 'zod'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type FieldMeta = {\n touched: boolean\n visited: boolean\n}\n\nexport type SubmitHandler<T extends z.ZodTypeAny> = (\n parsedValues: z.output<T>,\n options: {\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: DeepPartial<z.output<T>>\n }\n) => void | Promise<void>\n\nexport type SubmitSuccededHandler = () => void\n\nexport type SubmitFailedHandler = (error: Error) => void\n\nexport type FormState<T extends z.ZodTypeAny> = {\n mounted: boolean\n initialized: boolean\n fieldMeta: Record<string, FieldMeta>\n values?: DeepPartial<z.input<T>>\n parsedValues?: DeepPartial<z.output<T>>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: DeepPartial<z.output<T>>\n validationError?: any\n submitPromise?: Promise<void>\n onSubmit: Set<SubmitHandler<T>>\n onSubmitSucceeded: Set<SubmitSuccededHandler>\n onSubmitFailed: Set<SubmitFailedHandler>\n submitting: boolean\n submitSucceeded: boolean\n submitFailed: boolean\n submitError?: Error\n}\n"],"mappings":"","ignoreList":[]}
|
package/FormState.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormState.mjs","names":[],"sources":["src/FormState.ts"],"sourcesContent":["import z from 'zod'\n\nexport type FieldMeta = {\n touched: boolean\n visited: boolean\n}\n\nexport type SubmitHandler<T extends z.ZodTypeAny> = (\n
|
|
1
|
+
{"version":3,"file":"FormState.mjs","names":[],"sources":["src/FormState.ts"],"sourcesContent":["import z from 'zod'\nimport { DeepPartial } from './util/DeepPartial'\n\nexport type FieldMeta = {\n touched: boolean\n visited: boolean\n}\n\nexport type SubmitHandler<T extends z.ZodTypeAny> = (\n parsedValues: z.output<T>,\n options: {\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: DeepPartial<z.output<T>>\n }\n) => void | Promise<void>\n\nexport type SubmitSuccededHandler = () => void\n\nexport type SubmitFailedHandler = (error: Error) => void\n\nexport type FormState<T extends z.ZodTypeAny> = {\n mounted: boolean\n initialized: boolean\n fieldMeta: Record<string, FieldMeta>\n values?: DeepPartial<z.input<T>>\n parsedValues?: DeepPartial<z.output<T>>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: DeepPartial<z.output<T>>\n validationError?: any\n submitPromise?: Promise<void>\n onSubmit: Set<SubmitHandler<T>>\n onSubmitSucceeded: Set<SubmitSuccededHandler>\n onSubmitFailed: Set<SubmitFailedHandler>\n submitting: boolean\n submitSucceeded: boolean\n submitFailed: boolean\n submitError?: Error\n}\n"],"mappings":"","ignoreList":[]}
|
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ const {
|
|
|
75
75
|
## Create a field component
|
|
76
76
|
|
|
77
77
|
```ts
|
|
78
|
-
import {
|
|
78
|
+
import { FieldPathForValue } from '@jcoreio/zod-form'
|
|
79
79
|
|
|
80
80
|
function FormInput({
|
|
81
81
|
field,
|
|
@@ -85,7 +85,7 @@ function FormInput({
|
|
|
85
85
|
type: HTMLInputTypeAttribute
|
|
86
86
|
// This ensures that only fields that accept string, null or undefined
|
|
87
87
|
// as input can be passed to <FormInput>
|
|
88
|
-
field:
|
|
88
|
+
field: FieldPathForValue<string | null | undefined>
|
|
89
89
|
}) {
|
|
90
90
|
// This hook is designed to provide the smoothest integration with simple <input>s.
|
|
91
91
|
const { input, meta } = useHtmlField({ field, type })
|