diff --git a/lib/apidocToSwagger.js b/lib/apidocToSwagger.js index 4126896..7efc6d8 100644 --- a/lib/apidocToSwagger.js +++ b/lib/apidocToSwagger.js @@ -54,6 +54,7 @@ function extractPaths(apidocJson){ for(var j = 0; j < verbs.length; j++) { var verb = verbs[j]; + verb.type = verb.type.toLowerCase(); var type = verb.type; var obj = paths[url] = paths[url] || {}; @@ -186,12 +187,14 @@ function createFieldArrayDefinitions(fieldArray, definitions, topLevelRef, defau prop.$ref = "#/definitions/" + parameter.field; } - var typeIndex = type.indexOf("[]"); - if(typeIndex !== -1 && typeIndex === (type.length - 2)) { - prop.type = "array"; - prop.items = { - type: type.slice(0, type.length-2) - }; + if (type !== undefined) { + var typeIndex = type.indexOf("[]"); + if(typeIndex !== -1 && typeIndex === (type.length - 2)) { + prop.type = "array"; + prop.items = { + type: type.slice(0, type.length-2) + }; + } } definitions[objectName]['properties'][nestedName.propertyName] = prop; @@ -276,12 +279,12 @@ function createPathParameters(verbs, pathKeys) { for (var i = 0; i < verbs.parameter.fields.Parameter.length; i++) { var param = verbs.parameter.fields.Parameter[i]; var field = param.field; - var type = param.type; + var type = param.type !== undefined ? param.type : ''; pathItemObject.push({ name: field, in: type === "file" ? "formData" : "path", required: !param.optional, - type: param.type.toLowerCase(), + type: type.toLowerCase(), description: removeTags(param.description) }); @@ -302,4 +305,4 @@ function groupByUrl(apidocJson) { module.exports = { toSwagger: toSwagger -}; \ No newline at end of file +};