set.js 650 B

1234567891011121314151617181920
  1. import { setResponseValueAndErrors } from "../errorMessages.js";
  2. import { parseDef } from "../parseDef.js";
  3. export function parseSetDef(def, refs) {
  4. const items = parseDef(def.valueType._def, {
  5. ...refs,
  6. currentPath: [...refs.currentPath, "items"],
  7. });
  8. const schema = {
  9. type: "array",
  10. uniqueItems: true,
  11. items,
  12. };
  13. if (def.minSize) {
  14. setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs);
  15. }
  16. if (def.maxSize) {
  17. setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
  18. }
  19. return schema;
  20. }