🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

swagger-model-validator

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swagger-model-validator - npm Package Compare versions

Comparing version

to
3.0.15

51

lib/modelValidator.js

@@ -323,3 +323,3 @@ 'use strict';

var errors = [];
var matchCount = 0;
for(var x in oneOfArray) {

@@ -329,19 +329,27 @@ var modelName = oneOfArray[x];

var errorResult = validateType(name, value, oneOfArray[x], models, allowBlankTargets, disallowExtraProperties);
if(errorResult===null) {
return null;
if(errorResult===null || errorResult.valid) {
matchCount = matchCount + 1;
} else {
var error = new Error(
name +
" is not a valid target for a oneOf " +
JSON.stringify(modelName)
);
// error.errors = errorResult;
errors.push(errorResult.errors);
errors.push(error);
}
if (errorResult.valid) {
return createReturnObject();
}
var error = new Error(
name +
" is not a valid target for a oneOf " +
JSON.stringify(modelName)
);
// error.errors = errorResult;
errors.push(errorResult.errors);
errors.push(error);
}
if(matchCount === 0) {
return createReturnObject(errors, name);
} else if(matchCount === 1) {
return createReturnObject();
} else {
var matchErrors = [];
matchErrors.push(new Error( name + "matches more than one entry in a oneOf."))
return createReturnObject(matchErrors, name);
}
return createReturnObject(errors, name);

@@ -358,18 +366,19 @@ } else if(field.anyOf) {

var errorResult = validateType(name, value, anyOfArray[x], models, allowBlankTargets, disallowExtraProperties);
if(errorResult===null) {
if (errorResult === null) {
return null;
}
var error = new Error(name + " is not a valid target for anyOf");
error.errors = errorResult;
errors.push(error);
}
return createReturnObject(errors, name);
}
return createReturnObject(errors, name);
} else if(field.allOf) {
var allOfArray = field.allOf;
for(var x in allofArray) {
for(var x in allOfArray) {
field.type = allOfArray[x].type;
var errorResult = validateType(name, value, allOfArray[x], models, allowBlankTargets, false);
if(!errorsResult===null) {
if(errorResult !== null) {
var error = new Error(name + " is not a valid target for an allOf");

@@ -675,3 +684,3 @@ error.errors = errorResult;

try {
if(!object.hasOwnProperty(property) || object[property] === "" || (object[property] === null && !modelFields[property]['x-nullable'] === true && !modelFields[property]['nullable'] === true )) {
if(!object.hasOwnProperty(property) || object[property] === "" || object[property] === undefined || (object[property] === null && !modelFields[property]['x-nullable'] === true && !modelFields[property]['nullable'] === true )) {
errors.push(new Error(property + ' is a required field'));

@@ -678,0 +687,0 @@ }

{
"name": "swagger-model-validator",
"version": "3.0.14",
"version": "3.0.15",
"description": "Validate incoming objects against Swagger Models.",

@@ -5,0 +5,0 @@ "keywords": [