Add required swagger 1.2 items property for property type array
This commit is contained in:
parent
8a1bd07f73
commit
f7734fe5b3
|
@ -104,12 +104,18 @@ var modelHelper = module.exports = {
|
|||
out.type = modelHelper.getPropType(out.type);
|
||||
|
||||
if (out.type === 'array') {
|
||||
var hasItemType = typeof prop.type !== 'string' && prop.type[0];
|
||||
var hasItemType = Array.isArray(prop.type) && prop.type.length;
|
||||
var arrayItem = hasItemType && prop.type[0];
|
||||
|
||||
if (hasItemType) {
|
||||
var arrayProp = prop.type[0];
|
||||
if (!arrayProp.type) arrayProp = {type: arrayProp};
|
||||
out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp);
|
||||
if (arrayItem) {
|
||||
if(typeof arrayItem === 'object') {
|
||||
out.items = modelHelper.LDLPropToSwaggerDataType(arrayItem);
|
||||
} else {
|
||||
out.items = { type: modelHelper.getPropType(arrayItem) };
|
||||
}
|
||||
} else {
|
||||
// NOTE: `any` is not a supported type in swagger 1.2
|
||||
out.items = { type: 'any' };
|
||||
}
|
||||
} else if (out.type === 'date') {
|
||||
out.type = 'string';
|
||||
|
|
|
@ -86,7 +86,10 @@ describe('model-helper', function() {
|
|||
array: []
|
||||
});
|
||||
var prop = def.properties.array;
|
||||
expect(prop).to.eql({ type: 'array' });
|
||||
expect(prop).to.eql({
|
||||
type: 'array',
|
||||
items: { type: 'any' }
|
||||
});
|
||||
});
|
||||
|
||||
it('converts [undefined] type', function() {
|
||||
|
@ -96,7 +99,7 @@ describe('model-helper', function() {
|
|||
array: [undefined]
|
||||
});
|
||||
var prop = def.properties.array;
|
||||
expect(prop).to.eql({ type: 'array' });
|
||||
expect(prop).to.eql({ type: 'array', items: { type: 'any' } });
|
||||
});
|
||||
|
||||
it('converts "array" type', function() {
|
||||
|
@ -104,7 +107,7 @@ describe('model-helper', function() {
|
|||
array: 'array'
|
||||
});
|
||||
var prop = def.properties.array;
|
||||
expect(prop).to.eql({ type: 'array' });
|
||||
expect(prop).to.eql({ type: 'array', items: { type: 'any' } });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue