Skip to content

Commit 9c38c69

Browse files
authored
Merge pull request linode#88 from alioso/CT-970
CT-970
2 parents 9863a9a + 8848430 commit 9c38c69

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

src/components/2_molecules/ResponseItemElements.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ export const ResponseItemElements = props => {
152152
)}
153153
</>
154154
)}
155+
{l.oneOf && (
156+
<div className="px-4 mt-4 mb-4 ml-4 subResponse">
157+
{l.oneOf.map((data, i) => {
158+
return (
159+
<SubResponse dataSource={data.properties} key={i} />
160+
);
161+
})}
162+
</div>
163+
)}
155164
</div>
156165
)
157166
);

src/components/2_molecules/ResponseSampleBody.js

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ export const ResponseSampleBody = props => {
1919
.filter(v => properties[v] !== null)
2020
.map(p => {
2121
const l = properties[p];
22+
// console.log(l);
2223
return (
2324
l &&
24-
(l.type !== "array" && l.type !== "object" && p !== "errors"
25+
(l.type !== "array" && p !== "errors" && l.type !== "object"
2526
? `"${p}": ${
2627
p === "id"
2728
? "1234"
@@ -33,13 +34,37 @@ export const ResponseSampleBody = props => {
3334
}`
3435
: `${JSON.stringify(l.example ? l.example : "")}`
3536
}`
36-
: `"${p}" : [`) +
37+
: l.type === "object" && !l.properties
38+
? `"${p}" : {`
39+
: l.type === "array"
40+
? `"${p}" : [`
41+
: `"${p}" :`) +
3742
(l.example && l.type === "array" && !l.items
3843
? Object.keys(l.example).map(v => {
3944
const va = l.example[v];
4045
return `"${va}"`;
4146
})
4247
: "") +
48+
(l.oneOf &&
49+
Object.keys(l.oneOf[0].properties).map(oop => {
50+
const data = l.oneOf[0].properties[oop];
51+
return `
52+
"${oop}": ${
53+
data.example
54+
? JSON.stringify(data.example)
55+
: data.type === "array" && data.items.type === "object"
56+
? "[{" +
57+
Object.keys(data.items.properties).map(di => {
58+
const dis = data.items.properties[di];
59+
return `
60+
"${di}": ${JSON.stringify(
61+
dis.example ? dis.example : ""
62+
)}`;
63+
}) +
64+
"}]"
65+
: '""'
66+
}`;
67+
})) +
4368
(l.properties &&
4469
`{` +
4570
Object.keys(l.properties)
@@ -169,8 +194,10 @@ export const ResponseSampleBody = props => {
169194
l.items.allOf[1].properties
170195
)
171196
: "") +
172-
(l.type === "array" || l.type === "object" || p === "errors"
197+
(l.type === "array" || p === "errors"
173198
? `]`
199+
: l.type === "object" && !l.properties
200+
? `}`
174201
: "")
175202
);
176203
})}

0 commit comments

Comments
 (0)