array.js 1.2 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.parseArrayDef = void 0;
  4. const zod_1 = require("zod");
  5. const errorMessages_js_1 = require("../errorMessages.js");
  6. const parseDef_js_1 = require("../parseDef.js");
  7. function parseArrayDef(def, refs) {
  8. const res = {
  9. type: "array",
  10. };
  11. if (def.type?._def &&
  12. def.type?._def?.typeName !== zod_1.ZodFirstPartyTypeKind.ZodAny) {
  13. res.items = (0, parseDef_js_1.parseDef)(def.type._def, {
  14. ...refs,
  15. currentPath: [...refs.currentPath, "items"],
  16. });
  17. }
  18. if (def.minLength) {
  19. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minItems", def.minLength.value, def.minLength.message, refs);
  20. }
  21. if (def.maxLength) {
  22. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
  23. }
  24. if (def.exactLength) {
  25. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
  26. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
  27. }
  28. return res;
  29. }
  30. exports.parseArrayDef = parseArrayDef;