array.mjs 1020 B

1234567891011121314151617181920212223242526
  1. import { ZodFirstPartyTypeKind } from 'zod';
  2. import { setResponseValueAndErrors } from "../errorMessages.mjs";
  3. import { parseDef } from "../parseDef.mjs";
  4. export function parseArrayDef(def, refs) {
  5. const res = {
  6. type: 'array',
  7. };
  8. if (def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
  9. res.items = parseDef(def.type._def, {
  10. ...refs,
  11. currentPath: [...refs.currentPath, 'items'],
  12. });
  13. }
  14. if (def.minLength) {
  15. setResponseValueAndErrors(res, 'minItems', def.minLength.value, def.minLength.message, refs);
  16. }
  17. if (def.maxLength) {
  18. setResponseValueAndErrors(res, 'maxItems', def.maxLength.value, def.maxLength.message, refs);
  19. }
  20. if (def.exactLength) {
  21. setResponseValueAndErrors(res, 'minItems', def.exactLength.value, def.exactLength.message, refs);
  22. setResponseValueAndErrors(res, 'maxItems', def.exactLength.value, def.exactLength.message, refs);
  23. }
  24. return res;
  25. }
  26. //# sourceMappingURL=array.mjs.map