limitItems.js 852 B

123456789101112131415161718192021222324
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const codegen_1 = require("../../compile/codegen");
  4. const error = {
  5. message({ keyword, schemaCode }) {
  6. const comp = keyword === "maxItems" ? "more" : "fewer";
  7. return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`;
  8. },
  9. params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,
  10. };
  11. const def = {
  12. keyword: ["maxItems", "minItems"],
  13. type: "array",
  14. schemaType: "number",
  15. $data: true,
  16. error,
  17. code(cxt) {
  18. const { keyword, data, schemaCode } = cxt;
  19. const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT;
  20. cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`);
  21. },
  22. };
  23. exports.default = def;
  24. //# sourceMappingURL=limitItems.js.map