updated swagger.js version

This commit is contained in:
Tony Tam
2014-04-27 21:36:04 -07:00
parent 15afbcf14f
commit ca47551d93
5 changed files with 328 additions and 115 deletions

149
dist/lib/swagger.js vendored
View File

@@ -1,5 +1,5 @@
// swagger.js // swagger.js
// version 2.0.26 // version 2.0.29
var __bind = function(fn, me){ var __bind = function(fn, me){
return function(){ return function(){
@@ -25,13 +25,13 @@ if (!Array.prototype.indexOf) {
} }
if (!('filter' in Array.prototype)) { if (!('filter' in Array.prototype)) {
Array.prototype.filter= function(filter, that /*opt*/) { Array.prototype.filter= function(filter, that /*opt*/) {
var other= [], v; var other= [], v;
for (var i=0, n= this.length; i<n; i++) for (var i=0, n= this.length; i<n; i++)
if (i in this && filter.call(that, v= this[i], i, this)) if (i in this && filter.call(that, v= this[i], i, this))
other.push(v); other.push(v);
return other; return other;
}; };
} }
if (!('map' in Array.prototype)) { if (!('map' in Array.prototype)) {
@@ -562,15 +562,20 @@ SwaggerModel.prototype.getMockSignature = function(modelsToIgnore) {
}; };
SwaggerModel.prototype.createJSONSample = function(modelsToIgnore) { SwaggerModel.prototype.createJSONSample = function(modelsToIgnore) {
var result = {}; if(sampleModels[this.name]) {
var modelsToIgnore = (modelsToIgnore||[]) return sampleModels[this.name];
modelsToIgnore.push(this.name); }
for (var i = 0; i < this.properties.length; i++) { else {
prop = this.properties[i]; var result = {};
result[prop.name] = prop.getSampleValue(modelsToIgnore); var modelsToIgnore = (modelsToIgnore||[])
modelsToIgnore.push(this.name);
for (var i = 0; i < this.properties.length; i++) {
prop = this.properties[i];
result[prop.name] = prop.getSampleValue(modelsToIgnore);
}
modelsToIgnore.pop(this.name);
return result;
} }
modelsToIgnore.pop(this.name);
return result;
}; };
var SwaggerModelProperty = function(name, obj) { var SwaggerModelProperty = function(name, obj) {
@@ -793,7 +798,22 @@ SwaggerOperation.prototype.getSampleJSON = function(type, models) {
val = isPrimitive ? void 0 : (listType != null ? models[listType].createJSONSample() : models[type].createJSONSample()); val = isPrimitive ? void 0 : (listType != null ? models[listType].createJSONSample() : models[type].createJSONSample());
if (val) { if (val) {
val = listType ? [val] : val; val = listType ? [val] : val;
return JSON.stringify(val, null, 2); if(typeof val == "string")
return val;
else if(typeof val === "object") {
var t = val;
if(val instanceof Array && val.length > 0) {
t = val[0];
}
if(t.nodeName) {
var xmlString = new XMLSerializer().serializeToString(t);
return this.formatXml(xmlString);
}
else
return JSON.stringify(val, null, 2);
}
else
return val;
} }
}; };
@@ -882,6 +902,21 @@ SwaggerOperation.prototype.pathXml = function() {
return this.path.replace("{format}", "xml"); return this.path.replace("{format}", "xml");
}; };
SwaggerOperation.prototype.encodePathParam = function(pathParam) {
var encParts, part, parts, _i, _len;
if (pathParam.indexOf("/") === -1) {
return encodeURIComponent(pathParam);
} else {
parts = pathParam.split("/");
encParts = [];
for (_i = 0, _len = parts.length; _i < _len; _i++) {
part = parts[_i];
encParts.push(encodeURIComponent(part));
}
return encParts.join("/");
}
};
SwaggerOperation.prototype.urlify = function(args) { SwaggerOperation.prototype.urlify = function(args) {
var url = this.resource.basePath + this.pathJson(); var url = this.resource.basePath + this.pathJson();
var params = this.parameters; var params = this.parameters;
@@ -891,7 +926,7 @@ SwaggerOperation.prototype.urlify = function(args) {
if(args[param.name]) { if(args[param.name]) {
// apply path params and remove from args // apply path params and remove from args
var reg = new RegExp('\{' + param.name + '[^\}]*\}', 'gi'); var reg = new RegExp('\{' + param.name + '[^\}]*\}', 'gi');
url = url.replace(reg, encodeURIComponent(args[param.name])); url = url.replace(reg, this.encodePathParam(args[param.name]));
delete args[param.name]; delete args[param.name];
} }
else else
@@ -960,6 +995,80 @@ SwaggerOperation.prototype.help = function() {
return msg; return msg;
}; };
SwaggerOperation.prototype.formatXml = function(xml) {
var contexp, formatted, indent, lastType, lines, ln, pad, reg, transitions, wsexp, _fn, _i, _len;
reg = /(>)(<)(\/*)/g;
wsexp = /[ ]*(.*)[ ]+\n/g;
contexp = /(<.+>)(.+\n)/g;
xml = xml.replace(reg, '$1\n$2$3').replace(wsexp, '$1\n').replace(contexp, '$1\n$2');
pad = 0;
formatted = '';
lines = xml.split('\n');
indent = 0;
lastType = 'other';
transitions = {
'single->single': 0,
'single->closing': -1,
'single->opening': 0,
'single->other': 0,
'closing->single': 0,
'closing->closing': -1,
'closing->opening': 0,
'closing->other': 0,
'opening->single': 1,
'opening->closing': 0,
'opening->opening': 1,
'opening->other': 1,
'other->single': 0,
'other->closing': -1,
'other->opening': 0,
'other->other': 0
};
_fn = function(ln) {
var fromTo, j, key, padding, type, types, value;
types = {
single: Boolean(ln.match(/<.+\/>/)),
closing: Boolean(ln.match(/<\/.+>/)),
opening: Boolean(ln.match(/<[^!?].*>/))
};
type = ((function() {
var _results;
_results = [];
for (key in types) {
value = types[key];
if (value) {
_results.push(key);
}
}
return _results;
})())[0];
type = type === void 0 ? 'other' : type;
fromTo = lastType + '->' + type;
lastType = type;
padding = '';
indent += transitions[fromTo];
padding = ((function() {
var _j, _ref5, _results;
_results = [];
for (j = _j = 0, _ref5 = indent; 0 <= _ref5 ? _j < _ref5 : _j > _ref5; j = 0 <= _ref5 ? ++_j : --_j) {
_results.push(' ');
}
return _results;
})()).join('');
if (fromTo === 'opening->closing') {
return formatted = formatted.substr(0, formatted.length - 1) + ln + '\n';
} else {
return formatted += padding + ln + '\n';
}
};
for (_i = 0, _len = lines.length; _i < _len; _i++) {
ln = lines[_i];
_fn(ln);
}
return formatted;
};
var SwaggerRequest = function(type, url, params, opts, successCallback, errorCallback, operation, execution) { var SwaggerRequest = function(type, url, params, opts, successCallback, errorCallback, operation, execution) {
var _this = this; var _this = this;
var errors = []; var errors = [];
@@ -1388,6 +1497,9 @@ PasswordAuthorization.prototype.apply = function(obj, authorizations) {
var e = (typeof window !== 'undefined' ? window : exports); var e = (typeof window !== 'undefined' ? window : exports);
var sampleModels = {};
e.SampleModels = sampleModels;
e.SwaggerHttp = SwaggerHttp; e.SwaggerHttp = SwaggerHttp;
e.SwaggerRequest = SwaggerRequest; e.SwaggerRequest = SwaggerRequest;
e.authorizations = new SwaggerAuthorizations(); e.authorizations = new SwaggerAuthorizations();
@@ -1400,3 +1512,4 @@ e.SwaggerModel = SwaggerModel;
e.SwaggerModelProperty = SwaggerModelProperty; e.SwaggerModelProperty = SwaggerModelProperty;
e.SwaggerResource = SwaggerResource; e.SwaggerResource = SwaggerResource;
e.SwaggerApi = SwaggerApi; e.SwaggerApi = SwaggerApi;

156
dist/swagger-ui.js vendored
View File

@@ -1,3 +1,5 @@
// swagger-ui.js
// version 2.0.15
$(function() { $(function() {
// Helper function for vertically aligning DOM elements // Helper function for vertically aligning DOM elements
@@ -1207,18 +1209,18 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
// Generated by CoffeeScript 1.5.0 // Generated by CoffeeScript 1.6.3
(function() { (function() {
var ContentTypeView, HeaderView, MainView, OperationView, ParameterContentTypeView, ParameterView, ResourceView, ResponseContentTypeView, SignatureView, StatusCodeView, SwaggerUi, var ContentTypeView, HeaderView, MainView, OperationView, ParameterContentTypeView, ParameterView, ResourceView, ResponseContentTypeView, SignatureView, StatusCodeView, SwaggerUi, _ref, _ref1, _ref10, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
SwaggerUi = (function(_super) { SwaggerUi = (function(_super) {
__extends(SwaggerUi, _super); __extends(SwaggerUi, _super);
function SwaggerUi() { function SwaggerUi() {
SwaggerUi.__super__.constructor.apply(this, arguments); _ref = SwaggerUi.__super__.constructor.apply(this, arguments);
return _ref;
} }
SwaggerUi.prototype.dom_id = "swagger_ui"; SwaggerUi.prototype.dom_id = "swagger_ui";
@@ -1267,9 +1269,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
SwaggerUi.prototype.load = function() { SwaggerUi.prototype.load = function() {
var url, _ref; var url, _ref1;
if ((_ref = this.mainView) != null) { if ((_ref1 = this.mainView) != null) {
_ref.clear(); _ref1.clear();
} }
url = this.options.url; url = this.options.url;
if (url.indexOf("http") !== 0) { if (url.indexOf("http") !== 0) {
@@ -1358,11 +1360,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
window.SwaggerUi = SwaggerUi; window.SwaggerUi = SwaggerUi;
HeaderView = (function(_super) { HeaderView = (function(_super) {
__extends(HeaderView, _super); __extends(HeaderView, _super);
function HeaderView() { function HeaderView() {
HeaderView.__super__.constructor.apply(this, arguments); _ref1 = HeaderView.__super__.constructor.apply(this, arguments);
return _ref1;
} }
HeaderView.prototype.events = { HeaderView.prototype.events = {
@@ -1420,23 +1422,23 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
MainView = (function(_super) { MainView = (function(_super) {
__extends(MainView, _super); __extends(MainView, _super);
function MainView() { function MainView() {
MainView.__super__.constructor.apply(this, arguments); _ref2 = MainView.__super__.constructor.apply(this, arguments);
return _ref2;
} }
MainView.prototype.initialize = function() {}; MainView.prototype.initialize = function() {};
MainView.prototype.render = function() { MainView.prototype.render = function() {
var counter, id, resource, resources, _i, _len, _ref; var counter, id, resource, resources, _i, _len, _ref3;
$(this.el).html(Handlebars.templates.main(this.model)); $(this.el).html(Handlebars.templates.main(this.model));
resources = {}; resources = {};
counter = 0; counter = 0;
_ref = this.model.apisArray; _ref3 = this.model.apisArray;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref3.length; _i < _len; _i++) {
resource = _ref[_i]; resource = _ref3[_i];
id = resource.name; id = resource.name;
while (typeof resources[id] !== 'undefined') { while (typeof resources[id] !== 'undefined') {
id = id + "_" + counter; id = id + "_" + counter;
@@ -1469,22 +1471,22 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
ResourceView = (function(_super) { ResourceView = (function(_super) {
__extends(ResourceView, _super); __extends(ResourceView, _super);
function ResourceView() { function ResourceView() {
ResourceView.__super__.constructor.apply(this, arguments); _ref3 = ResourceView.__super__.constructor.apply(this, arguments);
return _ref3;
} }
ResourceView.prototype.initialize = function() {}; ResourceView.prototype.initialize = function() {};
ResourceView.prototype.render = function() { ResourceView.prototype.render = function() {
var counter, id, methods, operation, _i, _len, _ref; var counter, id, methods, operation, _i, _len, _ref4;
$(this.el).html(Handlebars.templates.resource(this.model)); $(this.el).html(Handlebars.templates.resource(this.model));
methods = {}; methods = {};
_ref = this.model.operationsArray; _ref4 = this.model.operationsArray;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref4.length; _i < _len; _i++) {
operation = _ref[_i]; operation = _ref4[_i];
counter = 0; counter = 0;
id = operation.nickname; id = operation.nickname;
while (typeof methods[id] !== 'undefined') { while (typeof methods[id] !== 'undefined') {
@@ -1516,11 +1518,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
OperationView = (function(_super) { OperationView = (function(_super) {
__extends(OperationView, _super); __extends(OperationView, _super);
function OperationView() { function OperationView() {
OperationView.__super__.constructor.apply(this, arguments); _ref4 = OperationView.__super__.constructor.apply(this, arguments);
return _ref4;
} }
OperationView.prototype.invocationUrl = null; OperationView.prototype.invocationUrl = null;
@@ -1571,16 +1573,16 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
OperationView.prototype.render = function() { OperationView.prototype.render = function() {
var contentTypeModel, isMethodSubmissionSupported, k, o, param, responseContentTypeView, responseSignatureView, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1, _ref2, _ref3; var contentTypeModel, isMethodSubmissionSupported, k, o, param, responseContentTypeView, responseSignatureView, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8;
isMethodSubmissionSupported = true; isMethodSubmissionSupported = true;
if (!isMethodSubmissionSupported) { if (!isMethodSubmissionSupported) {
this.model.isReadOnly = true; this.model.isReadOnly = true;
} }
this.model.oauth = null; this.model.oauth = null;
if (this.model.authorizations) { if (this.model.authorizations) {
_ref = this.model.authorizations; _ref5 = this.model.authorizations;
for (k in _ref) { for (k in _ref5) {
v = _ref[k]; v = _ref5[k];
if (k === "oauth2") { if (k === "oauth2") {
if (this.model.oauth === null) { if (this.model.oauth === null) {
this.model.oauth = {}; this.model.oauth = {};
@@ -1615,9 +1617,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
contentTypeModel.consumes = this.model.consumes; contentTypeModel.consumes = this.model.consumes;
contentTypeModel.produces = this.model.produces; contentTypeModel.produces = this.model.produces;
_ref1 = this.model.parameters; _ref6 = this.model.parameters;
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) {
param = _ref1[_j]; param = _ref6[_j];
type = param.type || param.dataType; type = param.type || param.dataType;
if (type.toLowerCase() === 'file') { if (type.toLowerCase() === 'file') {
if (!contentTypeModel.consumes) { if (!contentTypeModel.consumes) {
@@ -1630,14 +1632,14 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
model: contentTypeModel model: contentTypeModel
}); });
$('.response-content-type', $(this.el)).append(responseContentTypeView.render().el); $('.response-content-type', $(this.el)).append(responseContentTypeView.render().el);
_ref2 = this.model.parameters; _ref7 = this.model.parameters;
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) {
param = _ref2[_k]; param = _ref7[_k];
this.addParameter(param, contentTypeModel.consumes); this.addParameter(param, contentTypeModel.consumes);
} }
_ref3 = this.model.responseMessages; _ref8 = this.model.responseMessages;
for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
statusCode = _ref3[_l]; statusCode = _ref8[_l];
this.addStatusCode(statusCode); this.addStatusCode(statusCode);
} }
return this; return this;
@@ -1664,7 +1666,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
OperationView.prototype.submitOperation = function(e) { OperationView.prototype.submitOperation = function(e) {
var error_free, form, isFileUpload, map, o, opts, val, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; var error_free, form, isFileUpload, map, o, opts, val, _i, _j, _k, _len, _len1, _len2, _ref5, _ref6, _ref7;
if (e != null) { if (e != null) {
e.preventDefault(); e.preventDefault();
} }
@@ -1689,9 +1691,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
parent: this parent: this
}; };
isFileUpload = false; isFileUpload = false;
_ref = form.find("input"); _ref5 = form.find("input");
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
o = _ref[_i]; o = _ref5[_i];
if ((o.value != null) && jQuery.trim(o.value).length > 0) { if ((o.value != null) && jQuery.trim(o.value).length > 0) {
map[o.name] = o.value; map[o.name] = o.value;
} }
@@ -1699,16 +1701,16 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
isFileUpload = true; isFileUpload = true;
} }
} }
_ref1 = form.find("textarea"); _ref6 = form.find("textarea");
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) {
o = _ref1[_j]; o = _ref6[_j];
if ((o.value != null) && jQuery.trim(o.value).length > 0) { if ((o.value != null) && jQuery.trim(o.value).length > 0) {
map["body"] = o.value; map["body"] = o.value;
} }
} }
_ref2 = form.find("select"); _ref7 = form.find("select");
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) {
o = _ref2[_k]; o = _ref7[_k];
val = this.getSelectedValue(o); val = this.getSelectedValue(o);
if ((val != null) && jQuery.trim(val).length > 0) { if ((val != null) && jQuery.trim(val).length > 0) {
map[o.name] = val; map[o.name] = val;
@@ -1730,20 +1732,20 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
OperationView.prototype.handleFileUpload = function(map, form) { OperationView.prototype.handleFileUpload = function(map, form) {
var bodyParam, el, headerParams, o, obj, param, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1, _ref2, _ref3, var bodyParam, el, headerParams, o, obj, param, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8,
_this = this; _this = this;
log("it's a file upload"); log("it's a file upload");
_ref = form.serializeArray(); _ref5 = form.serializeArray();
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
o = _ref[_i]; o = _ref5[_i];
if ((o.value != null) && jQuery.trim(o.value).length > 0) { if ((o.value != null) && jQuery.trim(o.value).length > 0) {
map[o.name] = o.value; map[o.name] = o.value;
} }
} }
bodyParam = new FormData(); bodyParam = new FormData();
_ref1 = this.model.parameters; _ref6 = this.model.parameters;
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) {
param = _ref1[_j]; param = _ref6[_j];
if (param.paramType === 'form') { if (param.paramType === 'form') {
if (map[param.name] !== void 0) { if (map[param.name] !== void 0) {
bodyParam.append(param.name, map[param.name]); bodyParam.append(param.name, map[param.name]);
@@ -1751,17 +1753,17 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
} }
} }
headerParams = {}; headerParams = {};
_ref2 = this.model.parameters; _ref7 = this.model.parameters;
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) {
param = _ref2[_k]; param = _ref7[_k];
if (param.paramType === 'header') { if (param.paramType === 'header') {
headerParams[param.name] = map[param.name]; headerParams[param.name] = map[param.name];
} }
} }
log(headerParams); log(headerParams);
_ref3 = form.find('input[type~="file"]'); _ref8 = form.find('input[type~="file"]');
for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
el = _ref3[_l]; el = _ref8[_l];
bodyParam.append($(el).attr('name'), el.files[0]); bodyParam.append($(el).attr('name'), el.files[0]);
} }
log(bodyParam); log(bodyParam);
@@ -1814,14 +1816,14 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
OperationView.prototype.getSelectedValue = function(select) { OperationView.prototype.getSelectedValue = function(select) {
var opt, options, _i, _len, _ref; var opt, options, _i, _len, _ref5;
if (!select.multiple) { if (!select.multiple) {
return select.value; return select.value;
} else { } else {
options = []; options = [];
_ref = select.options; _ref5 = select.options;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
opt = _ref[_i]; opt = _ref5[_i];
if (opt.selected) { if (opt.selected) {
options.push(opt.value); options.push(opt.value);
} }
@@ -1909,9 +1911,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
padding = ''; padding = '';
indent += transitions[fromTo]; indent += transitions[fromTo];
padding = ((function() { padding = ((function() {
var _j, _ref, _results; var _j, _ref5, _results;
_results = []; _results = [];
for (j = _j = 0, _ref = indent; 0 <= _ref ? _j < _ref : _j > _ref; j = 0 <= _ref ? ++_j : --_j) { for (j = _j = 0, _ref5 = indent; 0 <= _ref5 ? _j < _ref5 : _j > _ref5; j = 0 <= _ref5 ? ++_j : --_j) {
_results.push(' '); _results.push(' ');
} }
return _results; return _results;
@@ -1984,11 +1986,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
StatusCodeView = (function(_super) { StatusCodeView = (function(_super) {
__extends(StatusCodeView, _super); __extends(StatusCodeView, _super);
function StatusCodeView() { function StatusCodeView() {
StatusCodeView.__super__.constructor.apply(this, arguments); _ref5 = StatusCodeView.__super__.constructor.apply(this, arguments);
return _ref5;
} }
StatusCodeView.prototype.initialize = function() {}; StatusCodeView.prototype.initialize = function() {};
@@ -2009,11 +2011,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
ParameterView = (function(_super) { ParameterView = (function(_super) {
__extends(ParameterView, _super); __extends(ParameterView, _super);
function ParameterView() { function ParameterView() {
ParameterView.__super__.constructor.apply(this, arguments); _ref6 = ParameterView.__super__.constructor.apply(this, arguments);
return _ref6;
} }
ParameterView.prototype.initialize = function() { ParameterView.prototype.initialize = function() {
@@ -2098,11 +2100,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
SignatureView = (function(_super) { SignatureView = (function(_super) {
__extends(SignatureView, _super); __extends(SignatureView, _super);
function SignatureView() { function SignatureView() {
SignatureView.__super__.constructor.apply(this, arguments); _ref7 = SignatureView.__super__.constructor.apply(this, arguments);
return _ref7;
} }
SignatureView.prototype.events = { SignatureView.prototype.events = {
@@ -2167,11 +2169,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
ContentTypeView = (function(_super) { ContentTypeView = (function(_super) {
__extends(ContentTypeView, _super); __extends(ContentTypeView, _super);
function ContentTypeView() { function ContentTypeView() {
ContentTypeView.__super__.constructor.apply(this, arguments); _ref8 = ContentTypeView.__super__.constructor.apply(this, arguments);
return _ref8;
} }
ContentTypeView.prototype.initialize = function() {}; ContentTypeView.prototype.initialize = function() {};
@@ -2193,11 +2195,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
ResponseContentTypeView = (function(_super) { ResponseContentTypeView = (function(_super) {
__extends(ResponseContentTypeView, _super); __extends(ResponseContentTypeView, _super);
function ResponseContentTypeView() { function ResponseContentTypeView() {
ResponseContentTypeView.__super__.constructor.apply(this, arguments); _ref9 = ResponseContentTypeView.__super__.constructor.apply(this, arguments);
return _ref9;
} }
ResponseContentTypeView.prototype.initialize = function() {}; ResponseContentTypeView.prototype.initialize = function() {};
@@ -2219,11 +2221,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
})(Backbone.View); })(Backbone.View);
ParameterContentTypeView = (function(_super) { ParameterContentTypeView = (function(_super) {
__extends(ParameterContentTypeView, _super); __extends(ParameterContentTypeView, _super);
function ParameterContentTypeView() { function ParameterContentTypeView() {
ParameterContentTypeView.__super__.constructor.apply(this, arguments); _ref10 = ParameterContentTypeView.__super__.constructor.apply(this, arguments);
return _ref10;
} }
ParameterContentTypeView.prototype.initialize = function() {}; ParameterContentTypeView.prototype.initialize = function() {};

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
// swagger.js // swagger.js
// version 2.0.27 // version 2.0.29
var __bind = function(fn, me){ var __bind = function(fn, me){
return function(){ return function(){
@@ -25,13 +25,13 @@ if (!Array.prototype.indexOf) {
} }
if (!('filter' in Array.prototype)) { if (!('filter' in Array.prototype)) {
Array.prototype.filter= function(filter, that /*opt*/) { Array.prototype.filter= function(filter, that /*opt*/) {
var other= [], v; var other= [], v;
for (var i=0, n= this.length; i<n; i++) for (var i=0, n= this.length; i<n; i++)
if (i in this && filter.call(that, v= this[i], i, this)) if (i in this && filter.call(that, v= this[i], i, this))
other.push(v); other.push(v);
return other; return other;
}; };
} }
if (!('map' in Array.prototype)) { if (!('map' in Array.prototype)) {
@@ -562,15 +562,20 @@ SwaggerModel.prototype.getMockSignature = function(modelsToIgnore) {
}; };
SwaggerModel.prototype.createJSONSample = function(modelsToIgnore) { SwaggerModel.prototype.createJSONSample = function(modelsToIgnore) {
var result = {}; if(sampleModels[this.name]) {
var modelsToIgnore = (modelsToIgnore||[]) return sampleModels[this.name];
modelsToIgnore.push(this.name); }
for (var i = 0; i < this.properties.length; i++) { else {
prop = this.properties[i]; var result = {};
result[prop.name] = prop.getSampleValue(modelsToIgnore); var modelsToIgnore = (modelsToIgnore||[])
modelsToIgnore.push(this.name);
for (var i = 0; i < this.properties.length; i++) {
prop = this.properties[i];
result[prop.name] = prop.getSampleValue(modelsToIgnore);
}
modelsToIgnore.pop(this.name);
return result;
} }
modelsToIgnore.pop(this.name);
return result;
}; };
var SwaggerModelProperty = function(name, obj) { var SwaggerModelProperty = function(name, obj) {
@@ -793,7 +798,22 @@ SwaggerOperation.prototype.getSampleJSON = function(type, models) {
val = isPrimitive ? void 0 : (listType != null ? models[listType].createJSONSample() : models[type].createJSONSample()); val = isPrimitive ? void 0 : (listType != null ? models[listType].createJSONSample() : models[type].createJSONSample());
if (val) { if (val) {
val = listType ? [val] : val; val = listType ? [val] : val;
return JSON.stringify(val, null, 2); if(typeof val == "string")
return val;
else if(typeof val === "object") {
var t = val;
if(val instanceof Array && val.length > 0) {
t = val[0];
}
if(t.nodeName) {
var xmlString = new XMLSerializer().serializeToString(t);
return this.formatXml(xmlString);
}
else
return JSON.stringify(val, null, 2);
}
else
return val;
} }
}; };
@@ -975,6 +995,80 @@ SwaggerOperation.prototype.help = function() {
return msg; return msg;
}; };
SwaggerOperation.prototype.formatXml = function(xml) {
var contexp, formatted, indent, lastType, lines, ln, pad, reg, transitions, wsexp, _fn, _i, _len;
reg = /(>)(<)(\/*)/g;
wsexp = /[ ]*(.*)[ ]+\n/g;
contexp = /(<.+>)(.+\n)/g;
xml = xml.replace(reg, '$1\n$2$3').replace(wsexp, '$1\n').replace(contexp, '$1\n$2');
pad = 0;
formatted = '';
lines = xml.split('\n');
indent = 0;
lastType = 'other';
transitions = {
'single->single': 0,
'single->closing': -1,
'single->opening': 0,
'single->other': 0,
'closing->single': 0,
'closing->closing': -1,
'closing->opening': 0,
'closing->other': 0,
'opening->single': 1,
'opening->closing': 0,
'opening->opening': 1,
'opening->other': 1,
'other->single': 0,
'other->closing': -1,
'other->opening': 0,
'other->other': 0
};
_fn = function(ln) {
var fromTo, j, key, padding, type, types, value;
types = {
single: Boolean(ln.match(/<.+\/>/)),
closing: Boolean(ln.match(/<\/.+>/)),
opening: Boolean(ln.match(/<[^!?].*>/))
};
type = ((function() {
var _results;
_results = [];
for (key in types) {
value = types[key];
if (value) {
_results.push(key);
}
}
return _results;
})())[0];
type = type === void 0 ? 'other' : type;
fromTo = lastType + '->' + type;
lastType = type;
padding = '';
indent += transitions[fromTo];
padding = ((function() {
var _j, _ref5, _results;
_results = [];
for (j = _j = 0, _ref5 = indent; 0 <= _ref5 ? _j < _ref5 : _j > _ref5; j = 0 <= _ref5 ? ++_j : --_j) {
_results.push(' ');
}
return _results;
})()).join('');
if (fromTo === 'opening->closing') {
return formatted = formatted.substr(0, formatted.length - 1) + ln + '\n';
} else {
return formatted += padding + ln + '\n';
}
};
for (_i = 0, _len = lines.length; _i < _len; _i++) {
ln = lines[_i];
_fn(ln);
}
return formatted;
};
var SwaggerRequest = function(type, url, params, opts, successCallback, errorCallback, operation, execution) { var SwaggerRequest = function(type, url, params, opts, successCallback, errorCallback, operation, execution) {
var _this = this; var _this = this;
var errors = []; var errors = [];
@@ -1403,6 +1497,9 @@ PasswordAuthorization.prototype.apply = function(obj, authorizations) {
var e = (typeof window !== 'undefined' ? window : exports); var e = (typeof window !== 'undefined' ? window : exports);
var sampleModels = {};
e.SampleModels = sampleModels;
e.SwaggerHttp = SwaggerHttp; e.SwaggerHttp = SwaggerHttp;
e.SwaggerRequest = SwaggerRequest; e.SwaggerRequest = SwaggerRequest;
e.authorizations = new SwaggerAuthorizations(); e.authorizations = new SwaggerAuthorizations();
@@ -1415,3 +1512,4 @@ e.SwaggerModel = SwaggerModel;
e.SwaggerModelProperty = SwaggerModelProperty; e.SwaggerModelProperty = SwaggerModelProperty;
e.SwaggerResource = SwaggerResource; e.SwaggerResource = SwaggerResource;
e.SwaggerApi = SwaggerApi; e.SwaggerApi = SwaggerApi;

View File

@@ -1,6 +1,6 @@
{ {
"name": "swagger-ui", "name": "swagger-ui",
"version": "2.0.14", "version": "2.0.15",
"description": "Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API", "description": "Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API",
"scripts": { "scripts": {
"build": "PATH=$PATH:./node_modules/.bin cake dist", "build": "PATH=$PATH:./node_modules/.bin cake dist",
@@ -19,7 +19,7 @@
"readmeFilename": "README.md", "readmeFilename": "README.md",
"dependencies": { "dependencies": {
"coffee-script": "~1.5.0", "coffee-script": "~1.5.0",
"swagger-client": "2.0.26", "swagger-client": "2.0.29",
"handlebars": "~1.0.10", "handlebars": "~1.0.10",
"less": "~1.4.2" "less": "~1.4.2"
} }