Skip to content
This repository was archived by the owner on May 10, 2024. It is now read-only.

Commit f95ae97

Browse files
authored
Merge pull request #514 from mulesoft/raml-expander
RamlExpander was discarding extra properties
2 parents 6263005 + 84064b4 commit f95ae97

9 files changed

+531
-379
lines changed

app/scripts/api-designer-worker.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ function RamlExpander() {
1919
if (expandedType) {
2020
for (var key in expandedType) {
2121
if (expandedType.hasOwnProperty(key)) {
22-
if ((key === 'example' || key === 'examples') && valueHasExamples) {
23-
continue;
22+
if ((key === 'example' || key === 'examples') && valueHasExamples) { continue; }
23+
if (key === 'properties') { // can have extra properties
24+
value[key] = Object.assign(value.properties || {}, expandedType[key]);
25+
} else {
26+
value[key] = expandedType[key];
2427
}
25-
value[key] = expandedType[key];
2628
}
2729
}
2830
}
@@ -39,10 +41,7 @@ function RamlExpander() {
3941
}
4042

4143
function extractArrayType(arrayNode) {
42-
if (arrayNode.items.type) {
43-
return arrayNode.items.type[0];
44-
}
45-
return arrayNode.items;
44+
return arrayNode.items && arrayNode.items.type ? arrayNode.items.type[0] : arrayNode.items;
4645
}
4746

4847
function isNotObject(value) {
@@ -53,14 +52,10 @@ function RamlExpander() {
5352
jsTraverse.traverse(raml).forEach(function (value) {
5453
if (this.path.slice(-2).join('.') === 'body.application/json' && value.type && value.type[0] === 'array') {
5554
var type = extractArrayType(value);
56-
if (isNotObject(value.items)) {
57-
value.items = {};
58-
}
55+
if (isNotObject(value.items)) { value.items = {}; }
5956
replaceTypeIfExists(raml, type, value.items);
6057

61-
if (!value.examples && !value.example) {
62-
generateArrayExampleIfPossible(value);
63-
}
58+
if (!value.examples && !value.example) { generateArrayExampleIfPossible(value); }
6459
}
6560
});
6661

dist/scripts/api-designer-parser.js

Lines changed: 94 additions & 87 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/scripts/api-designer-parser.min.js

Lines changed: 56 additions & 56 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)