limitProperties.js 896 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 === "maxProperties" ? "more" : "fewer";
  7. return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`;
  8. },
  9. params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,
  10. };
  11. const def = {
  12. keyword: ["maxProperties", "minProperties"],
  13. type: "object",
  14. schemaType: "number",
  15. $data: true,
  16. error,
  17. code(cxt) {
  18. const { keyword, data, schemaCode } = cxt;
  19. const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT;
  20. cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`);
  21. },
  22. };
  23. exports.default = def;
  24. //# sourceMappingURL=limitProperties.js.map