MCPcopy Create free account
hub / github.com/Exrick/xpay / processModel

Function processModel

xpay-code/src/main/resources/static/swagger/swagger-ui.js:5881–5992  ·  view source on GitHub ↗
(schema, name)

Source from the content-addressed store, hash-verified

5879 }
5880
5881 function processModel(schema, name) {
5882 var type = schema.type || 'object';
5883 var isArray = schema.type === 'array';
5884 var html = strongOpen + name + ' ' + (isArray ? '[' : '{') + strongClose;
5885
5886 if (name) {
5887 seenModels.push(name);
5888 }
5889
5890 if (isArray) {
5891 if (_.isArray(schema.items)) {
5892 html += '<div>' + _.map(schema.items, function (item) {
5893 var type = item.type || 'object';
5894
5895 if (_.isUndefined(item.$ref)) {
5896 if (_.indexOf(['array', 'object'], type) > -1) {
5897 if (type === 'object' && _.isUndefined(item.properties)) {
5898 return 'object';
5899 } else {
5900 return addReference(item);
5901 }
5902 } else {
5903 return primitiveToOptionsHTML(item, type);
5904 }
5905 } else {
5906 return addReference(item, Helpers.simpleRef(item.$ref));
5907 }
5908 }).join(',</div><div>');
5909 } else if (_.isPlainObject(schema.items)) {
5910 if (_.isUndefined(schema.items.$ref)) {
5911 if (_.indexOf(['array', 'object'], schema.items.type || 'object') > -1) {
5912 if ((_.isUndefined(schema.items.type) || schema.items.type === 'object') && _.isUndefined(schema.items.properties)) {
5913 html += '<div>object</div>';
5914 } else {
5915 html += '<div>' + addReference(schema.items) + '</div>';
5916 }
5917 } else {
5918 html += '<div>' + primitiveToOptionsHTML(schema.items, schema.items.type) + '</div>';
5919 }
5920 } else {
5921 html += '<div>' + addReference(schema.items, Helpers.simpleRef(schema.items.$ref)) + '</div>';
5922 }
5923 } else {
5924 Helpers.log('Array type\'s \'items\' property is not an array or an object, cannot process');
5925 html += '<div>object</div>';
5926 }
5927 } else {
5928 if (schema.$ref) {
5929 html += '<div>' + addReference(schema, name) + '</div>';
5930 } else if (type === 'object') {
5931 if (_.isPlainObject(schema.properties)) {
5932 var contents = _.map(schema.properties, function (property, name) {
5933 var propertyIsRequired = (_.indexOf(schema.required, name) >= 0);
5934 var cProperty = _.cloneDeep(property);
5935
5936 var requiredClass = propertyIsRequired ? 'required' : '';
5937 var html = '<span class="propName ' + requiredClass + '">' + name + '</span> (';
5938 var model;

Callers 2

swagger-ui.jsFile · 0.85
getModelSignatureFunction · 0.85

Calls 5

addReferenceFunction · 0.85
primitiveToOptionsHTMLFunction · 0.85
primitiveToHTMLFunction · 0.85
simpleRefFunction · 0.85
resolveSchemaFunction · 0.85

Tested by

no test coverage detected