12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { addErrorMessage, setResponseValueAndErrors, } from "../errorMessages.js";
- export function parseNumberDef(def, refs) {
- const res = {
- type: "number",
- };
- if (!def.checks)
- return res;
- for (const check of def.checks) {
- switch (check.kind) {
- case "int":
- res.type = "integer";
- addErrorMessage(res, "type", check.message, refs);
- break;
- case "min":
- if (refs.target === "jsonSchema7") {
- if (check.inclusive) {
- setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
- }
- else {
- setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
- }
- }
- else {
- if (!check.inclusive) {
- res.exclusiveMinimum = true;
- }
- setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
- }
- break;
- case "max":
- if (refs.target === "jsonSchema7") {
- if (check.inclusive) {
- setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
- }
- else {
- setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
- }
- }
- else {
- if (!check.inclusive) {
- res.exclusiveMaximum = true;
- }
- setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
- }
- break;
- case "multipleOf":
- setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
- break;
- }
- }
- return res;
- }
|