number.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.parseNumberDef = void 0;
  4. const errorMessages_js_1 = require("../errorMessages.js");
  5. function parseNumberDef(def, refs) {
  6. const res = {
  7. type: "number",
  8. };
  9. if (!def.checks)
  10. return res;
  11. for (const check of def.checks) {
  12. switch (check.kind) {
  13. case "int":
  14. res.type = "integer";
  15. (0, errorMessages_js_1.addErrorMessage)(res, "type", check.message, refs);
  16. break;
  17. case "min":
  18. if (refs.target === "jsonSchema7") {
  19. if (check.inclusive) {
  20. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
  21. }
  22. else {
  23. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMinimum", check.value, check.message, refs);
  24. }
  25. }
  26. else {
  27. if (!check.inclusive) {
  28. res.exclusiveMinimum = true;
  29. }
  30. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
  31. }
  32. break;
  33. case "max":
  34. if (refs.target === "jsonSchema7") {
  35. if (check.inclusive) {
  36. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
  37. }
  38. else {
  39. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMaximum", check.value, check.message, refs);
  40. }
  41. }
  42. else {
  43. if (!check.inclusive) {
  44. res.exclusiveMaximum = true;
  45. }
  46. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
  47. }
  48. break;
  49. case "multipleOf":
  50. (0, errorMessages_js_1.setResponseValueAndErrors)(res, "multipleOf", check.value, check.message, refs);
  51. break;
  52. }
  53. }
  54. return res;
  55. }
  56. exports.parseNumberDef = parseNumberDef;