@jcoreio/zod-forms 2.0.0-beta.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/ConditionalValidator.d.ts.map +1 -1
  2. package/ConditionalValidator.js +4 -2
  3. package/ConditionalValidator.js.map +1 -1
  4. package/ConditionalValidator.mjs +3 -1
  5. package/ConditionalValidator.mjs.map +1 -1
  6. package/FieldPath.d.ts.map +1 -1
  7. package/FieldPath.js +1 -0
  8. package/FieldPath.js.map +1 -1
  9. package/FieldPath.mjs.map +1 -1
  10. package/FormState.d.ts +6 -4
  11. package/FormState.d.ts.map +1 -1
  12. package/FormState.js.map +1 -1
  13. package/FormState.mjs.map +1 -1
  14. package/actions/arrayActions.js.map +1 -1
  15. package/actions/arrayActions.mjs.map +1 -1
  16. package/actions/setSubmitStatus.d.ts +1 -1
  17. package/createFormMiddleware.js +3 -3
  18. package/createFormMiddleware.js.map +1 -1
  19. package/createFormMiddleware.mjs.map +1 -1
  20. package/createFormProvider.d.ts +9 -3
  21. package/createFormProvider.d.ts.map +1 -1
  22. package/createFormProvider.js +10 -3
  23. package/createFormProvider.js.map +1 -1
  24. package/createFormProvider.mjs +53 -44
  25. package/createFormProvider.mjs.map +1 -1
  26. package/createFormReducer.js +16 -16
  27. package/createFormReducer.js.map +1 -1
  28. package/createSelectFieldErrorMap.d.ts +3 -3
  29. package/createSelectFieldErrorMap.js.map +1 -1
  30. package/createSelectFieldErrorMap.mjs.map +1 -1
  31. package/createSelectFormStatus.d.ts +7 -7
  32. package/createSelectFormStatus.d.ts.map +1 -1
  33. package/createSelectFormStatus.js.map +1 -1
  34. package/createSelectFormValues.js.map +1 -1
  35. package/createZodForm.d.ts +10 -5
  36. package/createZodForm.d.ts.map +1 -1
  37. package/package.json +5 -4
  38. package/reducers/addHandlers.d.ts +2 -2
  39. package/reducers/addHandlers.d.ts.map +1 -1
  40. package/reducers/arrayMove.js.map +1 -1
  41. package/reducers/arrayMove.mjs.map +1 -1
  42. package/reducers/initialize.d.ts +4 -4
  43. package/reducers/initialize.d.ts.map +1 -1
  44. package/reducers/initialize.js.map +1 -1
  45. package/reducers/initialize.mjs.map +1 -1
  46. package/reducers/removeHandlers.d.ts +2 -2
  47. package/reducers/removeHandlers.d.ts.map +1 -1
  48. package/reducers/setMeta.d.ts.map +1 -1
  49. package/reducers/setMeta.js +4 -1
  50. package/reducers/setMeta.js.map +1 -1
  51. package/reducers/setMeta.mjs +4 -1
  52. package/reducers/setMeta.mjs.map +1 -1
  53. package/reducers/setParsedValue.d.ts +2 -2
  54. package/reducers/setParsedValue.d.ts.map +1 -1
  55. package/reducers/setParsedValue.js +1 -1
  56. package/reducers/setParsedValue.js.map +1 -1
  57. package/reducers/setParsedValue.mjs +1 -1
  58. package/reducers/setParsedValue.mjs.map +1 -1
  59. package/reducers/setSubmitStatus.d.ts +2 -2
  60. package/reducers/setSubmitStatus.d.ts.map +1 -1
  61. package/reducers/setValue.d.ts +1 -1
  62. package/reducers/setValue.d.ts.map +1 -1
  63. package/reducers/submitSucceeded.d.ts +1 -1
  64. package/reducers/submitSucceeded.d.ts.map +1 -1
  65. package/reducers/util/updateRawArray.js.map +1 -1
  66. package/reducers/util/updateRawArray.mjs.map +1 -1
  67. package/src/ConditionalValidator.ts +11 -12
  68. package/src/FieldPath.ts +34 -54
  69. package/src/FormState.ts +4 -4
  70. package/src/actions/arrayActions.ts +4 -4
  71. package/src/createFormMiddleware.ts +2 -2
  72. package/src/createFormProvider.tsx +14 -2
  73. package/src/createSelectFieldErrorMap.ts +12 -10
  74. package/src/reducers/arrayMove.ts +2 -2
  75. package/src/reducers/initialize.ts +3 -3
  76. package/src/reducers/setMeta.ts +4 -1
  77. package/src/reducers/setParsedValue.ts +10 -9
  78. package/src/reducers/util/updateRawArray.ts +4 -4
  79. package/src/useArrayField.ts +26 -26
  80. package/src/useField.ts +15 -13
  81. package/src/useFormContext.ts +2 -2
  82. package/src/useFormDispatch.ts +3 -7
  83. package/src/useHtmlField.ts +18 -20
  84. package/src/useInitialize.ts +1 -1
  85. package/src/util/DeepPartial.ts +2 -3
  86. package/src/util/PathInType.ts +16 -16
  87. package/src/util/SchemaAt.ts +38 -49
  88. package/src/util/bindActionsToField.ts +6 -7
  89. package/src/util/parsePathstring.ts +47 -41
  90. package/src/util/pathstring.ts +9 -13
  91. package/src/util/set.ts +4 -1
  92. package/useArrayField.d.ts +2 -2
  93. package/useArrayField.d.ts.map +1 -1
  94. package/useArrayField.js.map +1 -1
  95. package/useArrayField.mjs.map +1 -1
  96. package/useField.d.ts.map +1 -1
  97. package/useField.js.map +1 -1
  98. package/useField.mjs.map +1 -1
  99. package/useFormContext.js.map +1 -1
  100. package/useFormContext.mjs.map +1 -1
  101. package/useFormDispatch.d.ts +1 -3
  102. package/useFormDispatch.d.ts.map +1 -1
  103. package/useFormDispatch.js.map +1 -1
  104. package/useFormDispatch.mjs.map +1 -1
  105. package/useFormStatus.d.ts +1 -1
  106. package/useHtmlField.d.ts +1 -1
  107. package/useHtmlField.d.ts.map +1 -1
  108. package/useHtmlField.js +1 -1
  109. package/useHtmlField.js.map +1 -1
  110. package/useHtmlField.mjs +1 -1
  111. package/useHtmlField.mjs.map +1 -1
  112. package/useInitialize.js.map +1 -1
  113. package/useInitialize.mjs.map +1 -1
  114. package/useSubmit.js.map +1 -1
  115. package/util/DeepPartial.d.ts.map +1 -1
  116. package/util/DeepPartial.js.map +1 -1
  117. package/util/DeepPartial.mjs.map +1 -1
  118. package/util/PathInType.d.ts +2 -1
  119. package/util/PathInType.d.ts.map +1 -1
  120. package/util/PathInType.js.map +1 -1
  121. package/util/PathInType.mjs.map +1 -1
  122. package/util/SchemaAt.d.ts +1 -1
  123. package/util/SchemaAt.d.ts.map +1 -1
  124. package/util/SchemaAt.js.map +1 -1
  125. package/util/SchemaAt.mjs.map +1 -1
  126. package/util/bindActionsToField.d.ts +1 -1
  127. package/util/bindActionsToField.d.ts.map +1 -1
  128. package/util/bindActionsToField.js.map +1 -1
  129. package/util/bindActionsToField.mjs.map +1 -1
  130. package/util/parsePathstring.d.ts +23 -6
  131. package/util/parsePathstring.d.ts.map +1 -1
  132. package/util/parsePathstring.js.map +1 -1
  133. package/util/parsePathstring.mjs.map +1 -1
  134. package/util/pathstring.d.ts +2 -8
  135. package/util/pathstring.d.ts.map +1 -1
  136. package/util/pathstring.js.map +1 -1
  137. package/util/pathstring.mjs.map +1 -1
  138. package/util/set.d.ts.map +1 -1
  139. package/util/set.js +1 -4
  140. package/util/set.js.map +1 -1
  141. package/util/set.mjs +1 -3
  142. package/util/set.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalValidator.d.ts","sourceRoot":"","sources":["src/ConditionalValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionalValidator.d.ts","sourceRoot":"","sources":["src/ConditionalValidator.ts"],"names":[],"mappings":"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"}
@@ -49,9 +49,11 @@ var ConditionalValidator = exports.ConditionalValidator = /*#__PURE__*/function
49
49
  }
50
50
  }, {
51
51
  key: "conditionalRefineAsync",
52
- value: function conditionalRefineAsync(schema, check, message) {
52
+ value: function conditionalRefineAsync(schema,
53
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
54
+ check, message) {
53
55
  return this.conditionalSuperRefineAsync(schema, /*#__PURE__*/function () {
54
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(value, ctx) {
56
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(value, ctx) {
55
57
  return _regenerator["default"].wrap(function _callee$(_context) {
56
58
  while (1) switch (_context.prev = _context.next) {
57
59
  case 0:
@@ -1 +1 @@
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":[]}
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 // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\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' ? message(value)\n : typeof message === 'string' ? { 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":[]}
@@ -18,7 +18,9 @@ export class ConditionalValidator extends z.ZodEffects {
18
18
  }
19
19
  });
20
20
  }
21
- conditionalRefineAsync(schema, check, message) {
21
+ conditionalRefineAsync(schema,
22
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
23
+ check, message) {
22
24
  return this.conditionalSuperRefineAsync(schema, async (value, ctx) => {
23
25
  if (!(await check(value))) {
24
26
  addIssues(ctx, value, message);
@@ -1 +1 @@
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":[]}
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 // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\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' ? message(value)\n : typeof message === 'string' ? { 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 +1 @@
1
- {"version":3,"file":"FieldPath.d.ts","sourceRoot":"","sources":["src/FieldPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldPath.d.ts","sourceRoot":"","sources":["src/FieldPath.ts"],"names":[],"mappings":"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"}
package/FieldPath.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.FieldPath = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
9
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
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 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":[]}
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> =\n 0 extends 1 & T ? any\n : 0 extends 1 & z.input<T> ? 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> ? z.input<Key>\n : T extends z.ZodMap<infer Key, any> ? z.input<Key>\n : T extends z.ZodArray<any> ? number\n : T extends z.ZodTuple<any, any> ? number\n : T extends z.ZodLazy<infer U> ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options> ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options> ?\n SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U> ? SubpathKey<U>\n : T extends z.ZodNullable<infer U> ? SubpathKey<U>\n : T extends z.ZodDefault<infer U> ? SubpathKey<U>\n : T extends z.ZodCatch<infer U> ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any> ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any> ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> =\n SubpathKey<T> extends never ? [] : [] | 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 (\n options.length > 1 ? z.union(options as any)\n : options.length === 1 ? options[0]\n : undefined\n )\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 (\n options.length > 1 ? z.union(options as any)\n : options.length === 1 ? options[0]\n : undefined\n )\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<z.ZodTypeAny>\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap\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 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":"AAAA,OAAOA,CAAC,MAAM,KAAK;AACnB,SAASC,UAAU;AAGnB,SAASC,eAAe;AAOxB,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> =\n 0 extends 1 & T ? any\n : 0 extends 1 & z.input<T> ? 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> ? z.input<Key>\n : T extends z.ZodMap<infer Key, any> ? z.input<Key>\n : T extends z.ZodArray<any> ? number\n : T extends z.ZodTuple<any, any> ? number\n : T extends z.ZodLazy<infer U> ? SubpathKey<U>\n : T extends z.ZodUnion<infer Options> ? SubpathKey<Options[number]>\n : T extends z.ZodDiscriminatedUnion<any, infer Options> ?\n SubpathKey<Options[number]>\n : T extends z.ZodOptional<infer U> ? SubpathKey<U>\n : T extends z.ZodNullable<infer U> ? SubpathKey<U>\n : T extends z.ZodDefault<infer U> ? SubpathKey<U>\n : T extends z.ZodCatch<infer U> ? SubpathKey<U>\n : T extends z.ZodEffects<infer U, any> ? SubpathKey<U>\n : T extends z.ZodBranded<infer U, any> ? SubpathKey<U>\n : never\n\nexport type AllPaths<T extends z.ZodTypeAny> =\n SubpathKey<T> extends never ? [] : [] | 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 (\n options.length > 1 ? z.union(options as any)\n : options.length === 1 ? options[0]\n : undefined\n )\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 (\n options.length > 1 ? z.union(options as any)\n : options.length === 1 ? options[0]\n : undefined\n )\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<z.ZodTypeAny>\n if (keySchema.safeParse(key).success) return valueSchema\n break\n }\n case 'ZodMap': {\n const { keySchema, valueSchema } = schema as z.ZodMap\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/FormState.d.ts CHANGED
@@ -8,12 +8,14 @@ export type SubmitHandler<T extends z.ZodTypeAny> = (parsedValues: z.output<T>,
8
8
  initialValues?: DeepPartial<z.input<T>>;
9
9
  initialParsedValues?: z.output<T>;
10
10
  }) => void | Promise<void>;
11
- export type SubmitSuccededHandler = () => void;
12
- export type SubmitFailedHandler = (error: Error) => void;
11
+ export type SubmitSuccededHandler = () => void | Promise<void>;
12
+ export type SubmitFailedHandler = (error: unknown) => void | Promise<void>;
13
13
  export type FormState<T extends z.ZodTypeAny> = {
14
14
  mounted: boolean;
15
15
  initialized: boolean;
16
- fieldMeta: Record<string, FieldMeta>;
16
+ fieldMeta: {
17
+ [K in string]?: FieldMeta;
18
+ };
17
19
  values?: DeepPartial<z.input<T>>;
18
20
  parsedValues?: z.output<T>;
19
21
  submittedParsedValues?: z.output<T>;
@@ -28,6 +30,6 @@ export type FormState<T extends z.ZodTypeAny> = {
28
30
  submitting: boolean;
29
31
  submitSucceeded: boolean;
30
32
  submitFailed: boolean;
31
- submitError?: Error;
33
+ submitError?: unknown;
32
34
  };
33
35
  //# sourceMappingURL=FormState.d.ts.map
@@ -1 +1 @@
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,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAClC,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,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1B,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,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjC,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"}
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,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAClC,KACE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS;KAAE,CAAA;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1B,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,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjC,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,OAAO,CAAA;CACtB,CAAA"}
package/FormState.js.map CHANGED
@@ -1 +1 @@
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?: 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?: z.output<T>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: 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":[]}
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?: z.output<T>\n }\n) => void | Promise<void>\n\nexport type SubmitSuccededHandler = () => void | Promise<void>\n\nexport type SubmitFailedHandler = (error: unknown) => void | Promise<void>\n\nexport type FormState<T extends z.ZodTypeAny> = {\n mounted: boolean\n initialized: boolean\n fieldMeta: { [K in string]?: FieldMeta }\n values?: DeepPartial<z.input<T>>\n parsedValues?: z.output<T>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: 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?: unknown\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'\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?: 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?: z.output<T>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: 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":[]}
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?: z.output<T>\n }\n) => void | Promise<void>\n\nexport type SubmitSuccededHandler = () => void | Promise<void>\n\nexport type SubmitFailedHandler = (error: unknown) => void | Promise<void>\n\nexport type FormState<T extends z.ZodTypeAny> = {\n mounted: boolean\n initialized: boolean\n fieldMeta: { [K in string]?: FieldMeta }\n values?: DeepPartial<z.input<T>>\n parsedValues?: z.output<T>\n submittedParsedValues?: z.output<T>\n submittedValues?: z.input<T>\n initialValues?: DeepPartial<z.input<T>>\n initialParsedValues?: 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?: unknown\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"arrayActions.js","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","_len","arguments","length","parsedValues","Array","_key","arraySplice","_len2","values","_key2","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","exports","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"arrayActions.js","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","_len","arguments","length","parsedValues","Array","_key","arraySplice","_len2","values","_key2","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","exports","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"arrayActions.mjs","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","parsedValues","arraySplice","values","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"arrayActions.mjs","names":["arrayInsertParsed","field","index","parsedValue","type","arrayInsert","value","arrayMove","from","to","arrayPop","arrayPushParsed","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySpliceParsed","deleteCount","parsedValues","arraySplice","values","arraySwap","indexA","indexB","arrayUnshiftParsed","arrayUnshift","arrayActions","insertParsed","insert","move","pop","pushParsed","push","remove","removeAll","shift","spliceParsed","splice","swap","unshiftParsed","unshift"],"sources":["../../src/actions/arrayActions.ts"],"sourcesContent":["import { FieldPathForParsedValue } from '../FieldPath'\nimport z from 'zod'\nimport { DeepPartial } from '../util/DeepPartial'\n\nexport type ArrayFieldPath<V = any, R = any> = FieldPathForParsedValue<\n V[] | null | undefined,\n R[] | null | undefined\n>\n\ntype ParsedValueFor<Field extends ArrayFieldPath> = NonNullable<\n z.output<Field['schema']>\n>[number]\n\ntype ValueFor<Field extends ArrayFieldPath> = DeepPartial<\n NonNullable<z.input<Field['schema']>>[number]\n>\n\nexport type ArrayInsertParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayInsertParsed<Field>>\n\nexport function arrayInsertParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayInsertParsed', field, index, parsedValue } as const\n}\n\nexport type ArrayInsertAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayInsert<Field>>\n\nexport function arrayInsert<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n value: ValueFor<Field>\n) {\n return { type: 'arrayInsert', field, index, value } as const\n}\n\nexport type ArrayMoveAction = ReturnType<typeof arrayMove>\n\nexport function arrayMove(field: ArrayFieldPath, from: number, to: number) {\n return { type: 'arrayMove', field, from, to } as const\n}\n\nexport type ArrayPopAction = ReturnType<typeof arrayPop>\n\nexport function arrayPop(field: ArrayFieldPath) {\n return { type: 'arrayPop', field } as const\n}\n\nexport type ArrayPushParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayPushParsed<Field>>\n\nexport function arrayPushParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayPushParsed', field, parsedValue } as const\n}\n\nexport type ArrayPushAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayPush<Field>>\n\nexport function arrayPush<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayPush', field, value } as const\n}\n\nexport type ArrayRemoveAction = ReturnType<typeof arrayRemove>\n\nexport function arrayRemove(field: ArrayFieldPath, index: number) {\n return { type: 'arrayRemove', field, index } as const\n}\n\nexport type ArrayRemoveAllAction = ReturnType<typeof arrayRemoveAll>\n\nexport function arrayRemoveAll(field: ArrayFieldPath) {\n return { type: 'arrayRemoveAll', field } as const\n}\n\nexport type ArrayShiftAction = ReturnType<typeof arrayShift>\n\nexport function arrayShift(field: ArrayFieldPath) {\n return { type: 'arrayShift', field } as const\n}\n\nexport type ArraySpliceParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arraySpliceParsed<Field>>\n\nexport function arraySpliceParsed<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...parsedValues: ParsedValueFor<Field>[]\n) {\n return {\n type: 'arraySpliceParsed',\n field,\n index,\n deleteCount,\n parsedValues,\n } as const\n}\n\nexport type ArraySpliceAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arraySplice<Field>>\n\nexport function arraySplice<Field extends ArrayFieldPath>(\n field: Field,\n index: number,\n deleteCount: number,\n ...values: ValueFor<Field>[]\n) {\n return {\n type: 'arraySplice',\n field,\n index,\n deleteCount,\n values,\n } as const\n}\n\nexport type ArraySwapAction = ReturnType<typeof arraySwap>\n\nexport function arraySwap(\n field: ArrayFieldPath,\n indexA: number,\n indexB: number\n) {\n return { type: 'arraySwap', field, indexA, indexB } as const\n}\n\nexport type ArrayUnshiftParsedAction<\n Field extends ArrayFieldPath = ArrayFieldPath,\n> = ReturnType<typeof arrayUnshiftParsed<Field>>\n\nexport function arrayUnshiftParsed<Field extends ArrayFieldPath>(\n field: Field,\n parsedValue: ParsedValueFor<Field>\n) {\n return { type: 'arrayUnshiftParsed', field, parsedValue } as const\n}\n\nexport type ArrayUnshiftAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n ReturnType<typeof arrayUnshift<Field>>\n\nexport function arrayUnshift<Field extends ArrayFieldPath>(\n field: Field,\n value: ValueFor<Field>\n) {\n return { type: 'arrayUnshift', field, value } as const\n}\n\nexport type ArrayAction<Field extends ArrayFieldPath = ArrayFieldPath> =\n | ArrayInsertParsedAction<Field>\n | ArrayInsertAction<Field>\n | ArrayMoveAction\n | ArrayPopAction\n | ArrayPushParsedAction<Field>\n | ArrayPushAction<Field>\n | ArrayRemoveAction\n | ArrayRemoveAllAction\n | ArrayShiftAction\n | ArraySpliceParsedAction<Field>\n | ArraySpliceAction<Field>\n | ArraySwapAction\n | ArrayUnshiftParsedAction<Field>\n | ArrayUnshiftAction<Field>\n\nexport type arrayActions<Field extends ArrayFieldPath = ArrayFieldPath> = {\n insertParsed: typeof arrayInsertParsed<Field>\n insert: typeof arrayInsert<Field>\n move: typeof arrayMove\n pop: typeof arrayPop\n pushParsed: typeof arrayPushParsed<Field>\n push: typeof arrayPush<Field>\n remove: typeof arrayRemove\n removeAll: typeof arrayRemoveAll\n shift: typeof arrayShift\n spliceParsed: typeof arraySpliceParsed<Field>\n splice: typeof arraySplice<Field>\n swap: typeof arraySwap\n unshiftParsed: typeof arrayUnshiftParsed<Field>\n unshift: typeof arrayUnshift<Field>\n}\n\nexport const arrayActions = {\n insertParsed: arrayInsertParsed,\n insert: arrayInsert,\n move: arrayMove,\n pop: arrayPop,\n pushParsed: arrayPushParsed,\n push: arrayPush,\n remove: arrayRemove,\n removeAll: arrayRemoveAll,\n shift: arrayShift,\n spliceParsed: arraySpliceParsed,\n splice: arraySplice,\n swap: arraySwap,\n unshiftParsed: arrayUnshiftParsed,\n unshift: arrayUnshift,\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ export type SetSubmitStatusAction<T extends z.ZodTypeAny> = ReturnType<typeof se
4
4
  export declare function setSubmitStatus<T extends z.ZodTypeAny>(options: Partial<Pick<FormState<T>, 'submitting' | 'submitError' | 'submitPromise' | 'submitSucceeded' | 'submitFailed' | 'submittedParsedValues' | 'submittedValues'>>): {
5
5
  readonly submitSucceeded?: boolean | undefined;
6
6
  readonly submitting?: boolean | undefined;
7
- readonly submitError?: Error;
7
+ readonly submitError?: unknown;
8
8
  readonly submitPromise?: Promise<void>;
9
9
  readonly submitFailed?: boolean | undefined;
10
10
  readonly submittedParsedValues?: z.output<T> | undefined;
@@ -26,7 +26,7 @@ function createFormMiddleware() {
26
26
  values = nextState.values,
27
27
  initialValues = nextState.initialValues,
28
28
  initialParsedValues = nextState.initialParsedValues;
29
- var submitPromise = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
29
+ var submitPromise = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
30
30
  var _iterator, _step, fn;
31
31
  return _regenerator["default"].wrap(function _callee$(_context) {
32
32
  while (1) switch (_context.prev = _context.next) {
@@ -80,7 +80,7 @@ function createFormMiddleware() {
80
80
  submitFailed: false,
81
81
  submitPromise: submitPromise
82
82
  }));
83
- submitPromise.then( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
83
+ submitPromise.then(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
84
84
  var _iterator2, _step2, fn;
85
85
  return _regenerator["default"].wrap(function _callee2$(_context2) {
86
86
  while (1) switch (_context2.prev = _context2.next) {
@@ -123,7 +123,7 @@ function createFormMiddleware() {
123
123
  }
124
124
  }, _callee2, null, [[4, 14, 17, 20]]);
125
125
  })), /*#__PURE__*/function () {
126
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(error) {
126
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(error) {
127
127
  var _iterator3, _step3, fn;
128
128
  return _regenerator["default"].wrap(function _callee3$(_context3) {
129
129
  while (1) switch (_context3.prev = _context3.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"createFormMiddleware.js","names":["_setSubmitStatus","require","_submitSucceeded","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","createFormMiddleware","store","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","parsedValues","values","initialValues","initialParsedValues","submitPromise","_asyncToGenerator2","_regenerator","mark","_callee","_iterator","_step","fn","wrap","_callee$","_context","prev","validationError","t0","finish","stop","dispatch","setSubmitStatus","submittedParsedValues","submittedValues","submitError","undefined","submitSucceeded","submitFailed","then","_callee2","_iterator2","_step2","_callee2$","_context2","abrupt","_ref3","_callee3","error","_iterator3","_step3","_callee3$","_context3","_x","apply","arguments","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/ban-types\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n parsedValues,\n values,\n initialValues,\n initialParsedValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit)\n await fn(parsedValues, { initialValues, initialParsedValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedParsedValues: parsedValues,\n submittedValues: values,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createFormMiddleware.js","names":["_setSubmitStatus","require","_submitSucceeded","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","createFormMiddleware","store","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","parsedValues","values","initialValues","initialParsedValues","submitPromise","_asyncToGenerator2","_regenerator","mark","_callee","_iterator","_step","fn","wrap","_callee$","_context","prev","validationError","t0","finish","stop","dispatch","setSubmitStatus","submittedParsedValues","submittedValues","submitError","undefined","submitSucceeded","submitFailed","then","_callee2","_iterator2","_step2","_callee2$","_context2","abrupt","_ref3","_callee3","error","_iterator3","_step3","_callee3$","_context3","_x","apply","arguments","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n parsedValues,\n values,\n initialValues,\n initialParsedValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit)\n await fn(parsedValues, { initialValues, initialParsedValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedParsedValues: parsedValues,\n submittedValues: values,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error: unknown) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createFormMiddleware.mjs","names":["setSubmitStatus","submitSucceeded","createFormMiddleware","store","next","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","parsedValues","values","initialValues","initialParsedValues","submitPromise","validationError","fn","dispatch","submittedParsedValues","submittedValues","submitError","undefined","submitFailed","then","error","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/ban-types\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n parsedValues,\n values,\n initialValues,\n initialParsedValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit)\n await fn(parsedValues, { initialValues, initialParsedValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedParsedValues: parsedValues,\n submittedValues: values,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"AAKA,SAASA,eAAe;AACxB,SAASC,eAAe;AAExB,OAAO,SAASC,oBAAoBA,CAAA,EAKlC;EACA,OAAQC,KAAK,IAAMC,IAAI,IAAMC,MAAM,IAAK;IACtC,MAAMC,MAAoB,GAAGF,IAAI,CAACC,MAAM,CAAQ;IAEhD,MAAME,SAAS,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;IAElC,IAAIC,cAAc,CAACJ,MAAM,CAAC,IAAI,CAACE,SAAS,CAACG,UAAU,EAAE;MACnD,MAAM;QACJC,QAAQ;QACRC,iBAAiB;QACjBC,cAAc;QACdC,YAAY;QACZC,MAAM;QACNC,aAAa;QACbC;MACF,CAAC,GAAGV,SAAS;MACb,MAAMW,aAAa,GAAG,CAAC,YAAY;QACjC,IAAIX,SAAS,CAACY,eAAe,EAAE,MAAMZ,SAAS,CAACY,eAAe;QAC9D,KAAK,MAAMC,EAAE,IAAIT,QAAQ,EACvB,MAAMS,EAAE,CAACN,YAAY,EAAE;UAAEE,aAAa;UAAEC;QAAoB,CAAC,CAAC;MAClE,CAAC,EAAE,CAAC;MACJd,KAAK,CAACkB,QAAQ,CACZrB,eAAe,CAAC;QACdU,UAAU,EAAE,IAAI;QAChBY,qBAAqB,EAAER,YAAY;QACnCS,eAAe,EAAER,MAAM;QACvBS,WAAW,EAAEC,SAAS;QACtBxB,eAAe,EAAE,KAAK;QACtByB,YAAY,EAAE,KAAK;QACnBR;MACF,CAAC,CACH,CAAC;MACDA,aAAa,CAACS,IAAI,CAChB,YAAY;QACV,IAAIxB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACU,aAAa,KAAKA,aAAa,EAAE;QACtDf,KAAK,CAACkB,QAAQ,CAACpB,eAAe,CAAC,CAAC,CAAC;QACjC,KAAK,MAAMmB,EAAE,IAAIR,iBAAiB,EAAE,MAAMQ,EAAE,CAAC,CAAC;MAChD,CAAC,EACD,MAAOQ,KAAK,IAAK;QACf,IAAIzB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACU,aAAa,KAAKA,aAAa,EAAE;QACtDf,KAAK,CAACkB,QAAQ,CACZrB,eAAe,CAAC;UACdU,UAAU,EAAE,KAAK;UACjBc,WAAW,EAAEI,KAAK;UAClB3B,eAAe,EAAE,KAAK;UACtByB,YAAY,EAAE,IAAI;UAClBR,aAAa,EAAEO;QACjB,CAAC,CACH,CAAC;QACD,KAAK,MAAML,EAAE,IAAIP,cAAc,EAAE,MAAMO,EAAE,CAACQ,KAAK,CAAC;MAClD,CACF,CAAC;IACH;IAEA,OAAOtB,MAAM;EACf,CAAC;AACH;AAEA,SAASG,cAAcA,CAACJ,MAAW,EAA0B;EAC3D,OACEA,MAAM,YAAYwB,MAAM,IAAI,MAAM,IAAIxB,MAAM,IAAIA,MAAM,CAACyB,IAAI,KAAK,QAAQ;AAE5E","ignoreList":[]}
1
+ {"version":3,"file":"createFormMiddleware.mjs","names":["setSubmitStatus","submitSucceeded","createFormMiddleware","store","next","action","result","nextState","getState","isSubmitAction","submitting","onSubmit","onSubmitSucceeded","onSubmitFailed","parsedValues","values","initialValues","initialParsedValues","submitPromise","validationError","fn","dispatch","submittedParsedValues","submittedValues","submitError","undefined","submitFailed","then","error","Object","type"],"sources":["src/createFormMiddleware.ts"],"sourcesContent":["import { Dispatch, Middleware } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { SubmitAction } from './actions/submit'\nimport { setSubmitStatus } from './actions/setSubmitStatus'\nimport { submitSucceeded } from './actions/submitSucceeded'\n\nexport function createFormMiddleware<T extends z.ZodTypeAny>(): Middleware<\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n {},\n FormState<T>,\n Dispatch<FormAction<T>>\n> {\n return (store) => (next) => (action) => {\n const result: FormState<T> = next(action) as any\n\n const nextState = store.getState()\n\n if (isSubmitAction(action) && !nextState.submitting) {\n const {\n onSubmit,\n onSubmitSucceeded,\n onSubmitFailed,\n parsedValues,\n values,\n initialValues,\n initialParsedValues,\n } = nextState\n const submitPromise = (async () => {\n if (nextState.validationError) throw nextState.validationError\n for (const fn of onSubmit)\n await fn(parsedValues, { initialValues, initialParsedValues })\n })()\n store.dispatch(\n setSubmitStatus({\n submitting: true,\n submittedParsedValues: parsedValues,\n submittedValues: values,\n submitError: undefined,\n submitSucceeded: false,\n submitFailed: false,\n submitPromise,\n })\n )\n submitPromise.then(\n async () => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(submitSucceeded())\n for (const fn of onSubmitSucceeded) await fn()\n },\n async (error: unknown) => {\n if (store.getState().submitPromise !== submitPromise) return\n store.dispatch(\n setSubmitStatus({\n submitting: false,\n submitError: error,\n submitSucceeded: false,\n submitFailed: true,\n submitPromise: undefined,\n })\n )\n for (const fn of onSubmitFailed) await fn(error)\n }\n )\n }\n\n return result\n }\n}\n\nfunction isSubmitAction(action: any): action is SubmitAction {\n return (\n action instanceof Object && 'type' in action && action.type === 'submit'\n )\n}\n"],"mappings":"AAKA,SAASA,eAAe;AACxB,SAASC,eAAe;AAExB,OAAO,SAASC,oBAAoBA,CAAA,EAKlC;EACA,OAAQC,KAAK,IAAMC,IAAI,IAAMC,MAAM,IAAK;IACtC,MAAMC,MAAoB,GAAGF,IAAI,CAACC,MAAM,CAAQ;IAEhD,MAAME,SAAS,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;IAElC,IAAIC,cAAc,CAACJ,MAAM,CAAC,IAAI,CAACE,SAAS,CAACG,UAAU,EAAE;MACnD,MAAM;QACJC,QAAQ;QACRC,iBAAiB;QACjBC,cAAc;QACdC,YAAY;QACZC,MAAM;QACNC,aAAa;QACbC;MACF,CAAC,GAAGV,SAAS;MACb,MAAMW,aAAa,GAAG,CAAC,YAAY;QACjC,IAAIX,SAAS,CAACY,eAAe,EAAE,MAAMZ,SAAS,CAACY,eAAe;QAC9D,KAAK,MAAMC,EAAE,IAAIT,QAAQ,EACvB,MAAMS,EAAE,CAACN,YAAY,EAAE;UAAEE,aAAa;UAAEC;QAAoB,CAAC,CAAC;MAClE,CAAC,EAAE,CAAC;MACJd,KAAK,CAACkB,QAAQ,CACZrB,eAAe,CAAC;QACdU,UAAU,EAAE,IAAI;QAChBY,qBAAqB,EAAER,YAAY;QACnCS,eAAe,EAAER,MAAM;QACvBS,WAAW,EAAEC,SAAS;QACtBxB,eAAe,EAAE,KAAK;QACtByB,YAAY,EAAE,KAAK;QACnBR;MACF,CAAC,CACH,CAAC;MACDA,aAAa,CAACS,IAAI,CAChB,YAAY;QACV,IAAIxB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACU,aAAa,KAAKA,aAAa,EAAE;QACtDf,KAAK,CAACkB,QAAQ,CAACpB,eAAe,CAAC,CAAC,CAAC;QACjC,KAAK,MAAMmB,EAAE,IAAIR,iBAAiB,EAAE,MAAMQ,EAAE,CAAC,CAAC;MAChD,CAAC,EACD,MAAOQ,KAAc,IAAK;QACxB,IAAIzB,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACU,aAAa,KAAKA,aAAa,EAAE;QACtDf,KAAK,CAACkB,QAAQ,CACZrB,eAAe,CAAC;UACdU,UAAU,EAAE,KAAK;UACjBc,WAAW,EAAEI,KAAK;UAClB3B,eAAe,EAAE,KAAK;UACtByB,YAAY,EAAE,IAAI;UAClBR,aAAa,EAAEO;QACjB,CAAC,CACH,CAAC;QACD,KAAK,MAAML,EAAE,IAAIP,cAAc,EAAE,MAAMO,EAAE,CAACQ,KAAK,CAAC;MAClD,CACF,CAAC;IACH;IAEA,OAAOtB,MAAM;EACf,CAAC;AACH;AAEA,SAASG,cAAcA,CAACJ,MAAW,EAA0B;EAC3D,OACEA,MAAM,YAAYwB,MAAM,IAAI,MAAM,IAAIxB,MAAM,IAAIA,MAAM,CAACyB,IAAI,KAAK,QAAQ;AAE5E","ignoreList":[]}