diff --git a/lib/model-helper.js b/lib/model-helper.js index 3b79297..b818222 100644 --- a/lib/model-helper.js +++ b/lib/model-helper.js @@ -79,12 +79,14 @@ var modelHelper = module.exports = { out.type = modelHelper.getPropType(out.type); if (out.type === 'array') { - var arrayProp = prop.type[0]; - if (!arrayProp.type) arrayProp = {type: arrayProp}; - out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp); - } + var hasItemType = typeof prop.type !== 'string' && prop.type.length; - if (out.type === 'date') { + if (hasItemType) { + var arrayProp = prop.type[0]; + if (!arrayProp.type) arrayProp = {type: arrayProp}; + out.items = modelHelper.LDLPropToSwaggerDataType(arrayProp); + } + } else if (out.type === 'date') { out.type = 'string'; out.format = 'date'; } else if (out.type === 'buffer') { diff --git a/package.json b/package.json index cf35529..998973b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "loopback-explorer", - "version": "1.2.2", + "version": "1.2.3", "description": "Browse and test your LoopBack app's APIs", "main": "index.js", "scripts": { diff --git a/test/model-helper.test.js b/test/model-helper.test.js index 7bc8555..e13da9f 100644 --- a/test/model-helper.test.js +++ b/test/model-helper.test.js @@ -80,6 +80,22 @@ describe('model-helper', function() { type: 'string', format: 'date' }}); }); + + it('converts [] type', function() { + var def = getDefinition({ + array: [] + }); + var prop = def.properties.array; + expect(prop).to.eql({ type: 'array' }); + }); + + it('converts "array" type', function() { + var def = getDefinition({ + array: 'array' + }); + var prop = def.properties.array; + expect(prop).to.eql({ type: 'array' }); + }); }); }); });