From 52f55054edc14cbab50767d91fd623147e77ded5 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Thu, 16 Oct 2014 09:09:22 -0700 Subject: [PATCH] updated swagger-js library --- dist/lib/swagger-client.js | 5 +++++ lib/swagger-client.js | 32 +++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/dist/lib/swagger-client.js b/dist/lib/swagger-client.js index 95b8bd76..27489963 100644 --- a/dist/lib/swagger-client.js +++ b/dist/lib/swagger-client.js @@ -552,6 +552,11 @@ var Operation = function(parent, operationId, httpMethod, path, args, definition param.allowableValues.descriptiveValues.push({value : value, isDefault: isDefault}); } } + if(param.type === 'array' && typeof param.allowableValues === 'undefined') { + // can't show as a list if no values to select from + delete param.isList; + delete param.allowMultiple; + } param.signature = this.getSignature(innerType, models); param.sampleJSON = this.getSampleJSON(innerType, models); param.responseClassSignature = param.signature; diff --git a/lib/swagger-client.js b/lib/swagger-client.js index 76e4059b..27489963 100644 --- a/lib/swagger-client.js +++ b/lib/swagger-client.js @@ -530,13 +530,35 @@ var Operation = function(parent, operationId, httpMethod, path, args, definition var i; for(i = 0; i < this.parameters.length; i++) { var param = this.parameters[i]; - type = this.getType(param); - if(type.toLowerCase() === 'boolean') { + if(param.type === 'array') { + param.isList = true; + param.allowMultiple = true; + } + var innerType = this.getType(param); + if(innerType.toString().toLowerCase() === 'boolean') { + param.allowableValues = {}; + param.isList = true; + param.enum = ["true", "false"]; + } + if(typeof param.enum !== 'undefined') { + var id; param.allowableValues = {}; - param.allowableValues.values = ["true", "false"]; + param.allowableValues.values = []; + param.allowableValues.descriptiveValues = []; + for(id = 0; id < param.enum.length; id++) { + var value = param.enum[id]; + var isDefault = (value === param.default) ? true : false; + param.allowableValues.values.push(value); + param.allowableValues.descriptiveValues.push({value : value, isDefault: isDefault}); + } + } + if(param.type === 'array' && typeof param.allowableValues === 'undefined') { + // can't show as a list if no values to select from + delete param.isList; + delete param.allowMultiple; } - param.signature = this.getSignature(type, models); - param.sampleJSON = this.getSampleJSON(type, models); + param.signature = this.getSignature(innerType, models); + param.sampleJSON = this.getSampleJSON(innerType, models); param.responseClassSignature = param.signature; }