57 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.parseNumberDef = void 0;
 | |
| const errorMessages_js_1 = require("../errorMessages.js");
 | |
| 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";
 | |
|                 (0, errorMessages_js_1.addErrorMessage)(res, "type", check.message, refs);
 | |
|                 break;
 | |
|             case "min":
 | |
|                 if (refs.target === "jsonSchema7") {
 | |
|                     if (check.inclusive) {
 | |
|                         (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
 | |
|                     }
 | |
|                     else {
 | |
|                         (0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMinimum", check.value, check.message, refs);
 | |
|                     }
 | |
|                 }
 | |
|                 else {
 | |
|                     if (!check.inclusive) {
 | |
|                         res.exclusiveMinimum = true;
 | |
|                     }
 | |
|                     (0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
 | |
|                 }
 | |
|                 break;
 | |
|             case "max":
 | |
|                 if (refs.target === "jsonSchema7") {
 | |
|                     if (check.inclusive) {
 | |
|                         (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
 | |
|                     }
 | |
|                     else {
 | |
|                         (0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMaximum", check.value, check.message, refs);
 | |
|                     }
 | |
|                 }
 | |
|                 else {
 | |
|                     if (!check.inclusive) {
 | |
|                         res.exclusiveMaximum = true;
 | |
|                     }
 | |
|                     (0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
 | |
|                 }
 | |
|                 break;
 | |
|             case "multipleOf":
 | |
|                 (0, errorMessages_js_1.setResponseValueAndErrors)(res, "multipleOf", check.value, check.message, refs);
 | |
|                 break;
 | |
|         }
 | |
|     }
 | |
|     return res;
 | |
| }
 | |
| exports.parseNumberDef = parseNumberDef;
 |