diff --git a/CHANGELOG.md b/CHANGELOG.md index b455e37..ed58b38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# 0.15.1 + +## Bug Fixes + +- Data Structure generation was not including required typeAttribute for + required object properties. + # 0.15.0 ## Enhancements diff --git a/package.json b/package.json index cdaa29e..485981b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fury-adapter-swagger", - "version": "0.15.0", + "version": "0.15.1", "description": "Swagger 2.0 parser for Fury.js", "main": "./lib/adapter.js", "tonicExampleFilename": "tonic-example.js", @@ -37,7 +37,7 @@ "minim": "^0.19.0", "minim-parse-result": "^0.8.0", "peasant": "1.1.0", - "swagger-zoo": "2.9.0" + "swagger-zoo": "2.9.1" }, "engines": { "node": ">=4" diff --git a/src/schema.js b/src/schema.js index 36c4f6c..780146f 100644 --- a/src/schema.js +++ b/src/schema.js @@ -60,9 +60,7 @@ export default class DataStructureGenerator { // Generates an object element from the given object schema generateObject(schema) { const { - Array: ArrayElement, Object: ObjectElement, - String: StringElement, } = this.minim.elements; let properties = schema.properties || {}; @@ -88,8 +86,8 @@ export default class DataStructureGenerator { const member = this.generateMember(property, subschema); const isRequired = required.includes(property); - member.attributes.typeAttributes = new ArrayElement([ - new StringElement(isRequired ? 'required' : 'optional'), + member.attributes.set('typeAttributes', [ + isRequired ? 'required' : 'optional', ]); return member; diff --git a/test/schema.js b/test/schema.js index f5bab91..cd76ce9 100644 --- a/test/schema.js +++ b/test/schema.js @@ -404,7 +404,7 @@ describe('JSON Schema to Data Structure', () => { expect(dataStructure.content).to.be.instanceof(ObjectElement); const member = dataStructure.content.content[0]; - expect(member.attributes.typeAttributes.toValue()).to.deep.equal(['required']); + expect(member.attributes.getValue('typeAttributes')).to.deep.equal(['required']); }); it('produces object element with description of maxProperties', () => { @@ -469,7 +469,7 @@ describe('JSON Schema to Data Structure', () => { const admin = dataStructure.content.getMember('admin'); expect(admin).not.to.be.undefined; - expect(admin.attributes.typeAttributes.toValue()).to.deep.equal(['required']); + expect(admin.attributes.getValue('typeAttributes')).to.deep.equal(['required']); }); it('produces samples from examples', () => {