docusaurus-plugin-openapi-docs 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +4 -0
- package/lib/markdown/createContactInfo.js +1 -1
- package/lib/markdown/createParamsDetails.d.ts +1 -2
- package/lib/markdown/createParamsDetails.js +7 -42
- package/lib/markdown/createRequestBodyDetails.d.ts +1 -1
- package/lib/markdown/createRequestSchema.d.ts +1 -1
- package/lib/markdown/createRequestSchema.js +8 -132
- package/lib/markdown/createResponseSchema.d.ts +1 -1
- package/lib/markdown/createResponseSchema.js +8 -94
- package/lib/markdown/createSchema.d.ts +1 -4
- package/lib/markdown/createSchema.js +32 -56
- package/lib/markdown/createStatusCodes.d.ts +1 -4
- package/lib/markdown/createStatusCodes.js +10 -259
- package/lib/markdown/index.js +11 -22
- package/lib/openapi/createRequestExample.js +2 -2
- package/lib/openapi/createResponseExample.js +2 -2
- package/lib/openapi/openapi.js +3 -1
- package/lib/openapi/types.d.ts +1 -0
- package/lib/options.js +1 -0
- package/package.json +3 -3
- package/src/index.ts +4 -0
- package/src/markdown/__snapshots__/createSchema.test.ts.snap +55 -0
- package/src/markdown/createContactInfo.ts +1 -1
- package/src/markdown/createParamsDetails.ts +7 -49
- package/src/markdown/createRequestSchema.ts +9 -143
- package/src/markdown/createResponseSchema.ts +9 -112
- package/src/markdown/createSchema.ts +29 -61
- package/src/markdown/createStatusCodes.ts +9 -268
- package/src/markdown/index.ts +11 -22
- package/src/openapi/createRequestExample.ts +2 -5
- package/src/openapi/createResponseExample.ts +2 -5
- package/src/openapi/openapi.ts +3 -1
- package/src/openapi/types.ts +1 -0
- package/src/openapi/utils/loadAndResolveSpec.ts +1 -1
- package/src/options.ts +1 -0
package/lib/index.js
CHANGED
|
@@ -203,7 +203,11 @@ title: "{{{title}}}"
|
|
|
203
203
|
description: "{{{frontMatter.description}}}"
|
|
204
204
|
sidebar_label: "{{{title}}}"
|
|
205
205
|
hide_title: true
|
|
206
|
+
{{#schema}}
|
|
207
|
+
hide_table_of_contents: true
|
|
208
|
+
{{/schema}}
|
|
206
209
|
schema: true
|
|
210
|
+
sample: {{{frontMatter.sample}}}
|
|
207
211
|
custom_edit_url: null
|
|
208
212
|
---
|
|
209
213
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ApiItem } from "../types";
|
|
2
2
|
interface Props {
|
|
3
3
|
parameters: ApiItem["parameters"];
|
|
4
|
-
type: "path" | "query" | "header" | "cookie";
|
|
5
4
|
}
|
|
6
|
-
export declare function createParamsDetails({ parameters
|
|
5
|
+
export declare function createParamsDetails({ parameters }: Props): string[];
|
|
7
6
|
export {};
|
|
@@ -7,48 +7,13 @@
|
|
|
7
7
|
* ========================================================================== */
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createParamsDetails = void 0;
|
|
10
|
-
const createDetails_1 = require("./createDetails");
|
|
11
|
-
const createDetailsSummary_1 = require("./createDetailsSummary");
|
|
12
10
|
const utils_1 = require("./utils");
|
|
13
|
-
function createParamsDetails({ parameters
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
return (0, createDetails_1.createDetails)({
|
|
22
|
-
className: "openapi-markdown__details",
|
|
23
|
-
"data-collapsed": false,
|
|
24
|
-
open: true,
|
|
25
|
-
style: { marginBottom: "1rem" },
|
|
26
|
-
children: [
|
|
27
|
-
(0, createDetailsSummary_1.createDetailsSummary)({
|
|
28
|
-
children: [
|
|
29
|
-
(0, utils_1.create)("h3", {
|
|
30
|
-
className: "openapi-markdown__details-summary-header-params",
|
|
31
|
-
children: `${type.charAt(0).toUpperCase() + type.slice(1)} Parameters`,
|
|
32
|
-
}),
|
|
33
|
-
],
|
|
34
|
-
}),
|
|
35
|
-
(0, utils_1.create)("div", {
|
|
36
|
-
children: [
|
|
37
|
-
(0, utils_1.create)("ul", {
|
|
38
|
-
children: params.map((param) => {
|
|
39
|
-
var _a, _b, _c, _d, _e;
|
|
40
|
-
return (0, utils_1.create)("ParamsItem", {
|
|
41
|
-
className: "paramsItem",
|
|
42
|
-
param: {
|
|
43
|
-
...param,
|
|
44
|
-
enumDescriptions: Object.entries((_e = (_b = (_a = param === null || param === void 0 ? void 0 : param.schema) === null || _a === void 0 ? void 0 : _a["x-enumDescriptions"]) !== null && _b !== void 0 ? _b : (_d = (_c = param === null || param === void 0 ? void 0 : param.schema) === null || _c === void 0 ? void 0 : _c.items) === null || _d === void 0 ? void 0 : _d["x-enumDescriptions"]) !== null && _e !== void 0 ? _e : {}),
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
}),
|
|
48
|
-
}),
|
|
49
|
-
],
|
|
50
|
-
}),
|
|
51
|
-
],
|
|
52
|
-
});
|
|
11
|
+
function createParamsDetails({ parameters }) {
|
|
12
|
+
return [
|
|
13
|
+
(0, utils_1.create)("ParamsDetails", {
|
|
14
|
+
parameters: parameters,
|
|
15
|
+
}),
|
|
16
|
+
"\n\n",
|
|
17
|
+
];
|
|
53
18
|
}
|
|
54
19
|
exports.createParamsDetails = createParamsDetails;
|
|
@@ -10,5 +10,5 @@ interface Props {
|
|
|
10
10
|
required?: string[] | boolean;
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
export declare function createRequestSchema({ title, body, ...rest }: Props): string
|
|
13
|
+
export declare function createRequestSchema({ title, body, ...rest }: Props): string[];
|
|
14
14
|
export {};
|
|
@@ -7,139 +7,15 @@
|
|
|
7
7
|
* ========================================================================== */
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createRequestSchema = void 0;
|
|
10
|
-
const createDescription_1 = require("./createDescription");
|
|
11
|
-
const createDetails_1 = require("./createDetails");
|
|
12
|
-
const createDetailsSummary_1 = require("./createDetailsSummary");
|
|
13
|
-
const createSchema_1 = require("./createSchema");
|
|
14
10
|
const utils_1 = require("./utils");
|
|
15
11
|
function createRequestSchema({ title, body, ...rest }) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const mimeTypes = Object.keys(body.content);
|
|
25
|
-
if (mimeTypes && mimeTypes.length > 1) {
|
|
26
|
-
return (0, utils_1.create)("MimeTabs", {
|
|
27
|
-
className: "openapi-tabs__mime",
|
|
28
|
-
schemaType: "request",
|
|
29
|
-
children: mimeTypes.map((mimeType) => {
|
|
30
|
-
const firstBody = body.content[mimeType].schema;
|
|
31
|
-
if (firstBody === undefined) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
if (firstBody.properties !== undefined) {
|
|
35
|
-
if (Object.keys(firstBody.properties).length === 0) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return (0, utils_1.create)("TabItem", {
|
|
40
|
-
label: mimeType,
|
|
41
|
-
value: `${mimeType}`,
|
|
42
|
-
children: [
|
|
43
|
-
(0, createDetails_1.createDetails)({
|
|
44
|
-
className: "openapi-markdown__details mime",
|
|
45
|
-
"data-collapsed": false,
|
|
46
|
-
open: true,
|
|
47
|
-
...rest,
|
|
48
|
-
children: [
|
|
49
|
-
(0, createDetailsSummary_1.createDetailsSummary)({
|
|
50
|
-
className: "openapi-markdown__details-summary-mime",
|
|
51
|
-
children: [
|
|
52
|
-
(0, utils_1.create)("h3", {
|
|
53
|
-
className: "openapi-markdown__details-summary-header-body",
|
|
54
|
-
children: `${title}`,
|
|
55
|
-
}),
|
|
56
|
-
(0, utils_1.guard)(body.required && body.required === true, () => [
|
|
57
|
-
(0, utils_1.create)("span", {
|
|
58
|
-
className: "openapi-schema__required",
|
|
59
|
-
children: "required",
|
|
60
|
-
}),
|
|
61
|
-
]),
|
|
62
|
-
],
|
|
63
|
-
}),
|
|
64
|
-
(0, utils_1.create)("div", {
|
|
65
|
-
style: { textAlign: "left", marginLeft: "1rem" },
|
|
66
|
-
children: [
|
|
67
|
-
(0, utils_1.guard)(body.description, () => [
|
|
68
|
-
(0, utils_1.create)("div", {
|
|
69
|
-
style: { marginTop: "1rem", marginBottom: "1rem" },
|
|
70
|
-
children: (0, createDescription_1.createDescription)(body.description),
|
|
71
|
-
}),
|
|
72
|
-
]),
|
|
73
|
-
],
|
|
74
|
-
}),
|
|
75
|
-
(0, utils_1.create)("ul", {
|
|
76
|
-
style: { marginLeft: "1rem" },
|
|
77
|
-
children: (0, createSchema_1.createNodes)(firstBody, "request"),
|
|
78
|
-
}),
|
|
79
|
-
],
|
|
80
|
-
}),
|
|
81
|
-
],
|
|
82
|
-
});
|
|
83
|
-
}),
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
const randomFirstKey = Object.keys(body.content)[0];
|
|
87
|
-
const firstBody = (_a = body.content[randomFirstKey].schema) !== null && _a !== void 0 ? _a : body.content[randomFirstKey];
|
|
88
|
-
if (firstBody === undefined) {
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
91
|
-
return (0, utils_1.create)("MimeTabs", {
|
|
92
|
-
className: "openapi-tabs__mime",
|
|
93
|
-
children: [
|
|
94
|
-
(0, utils_1.create)("TabItem", {
|
|
95
|
-
label: randomFirstKey,
|
|
96
|
-
value: `${randomFirstKey}-schema`,
|
|
97
|
-
children: [
|
|
98
|
-
(0, createDetails_1.createDetails)({
|
|
99
|
-
className: "openapi-markdown__details mime",
|
|
100
|
-
"data-collapsed": false,
|
|
101
|
-
open: true,
|
|
102
|
-
...rest,
|
|
103
|
-
children: [
|
|
104
|
-
(0, createDetailsSummary_1.createDetailsSummary)({
|
|
105
|
-
className: "openapi-markdown__details-summary-mime",
|
|
106
|
-
children: [
|
|
107
|
-
(0, utils_1.create)("h3", {
|
|
108
|
-
className: "openapi-markdown__details-summary-header-body",
|
|
109
|
-
children: `${title}`,
|
|
110
|
-
}),
|
|
111
|
-
(0, utils_1.guard)(firstBody.type === "array", (format) => (0, utils_1.create)("span", {
|
|
112
|
-
style: { opacity: "0.6" },
|
|
113
|
-
children: ` array`,
|
|
114
|
-
})),
|
|
115
|
-
(0, utils_1.guard)(body.required, () => [
|
|
116
|
-
(0, utils_1.create)("strong", {
|
|
117
|
-
className: "openapi-schema__required",
|
|
118
|
-
children: "required",
|
|
119
|
-
}),
|
|
120
|
-
]),
|
|
121
|
-
],
|
|
122
|
-
}),
|
|
123
|
-
(0, utils_1.create)("div", {
|
|
124
|
-
style: { textAlign: "left", marginLeft: "1rem" },
|
|
125
|
-
children: [
|
|
126
|
-
(0, utils_1.guard)(body.description, () => [
|
|
127
|
-
(0, utils_1.create)("div", {
|
|
128
|
-
style: { marginTop: "1rem", marginBottom: "1rem" },
|
|
129
|
-
children: (0, createDescription_1.createDescription)(body.description),
|
|
130
|
-
}),
|
|
131
|
-
]),
|
|
132
|
-
],
|
|
133
|
-
}),
|
|
134
|
-
(0, utils_1.create)("ul", {
|
|
135
|
-
style: { marginLeft: "1rem" },
|
|
136
|
-
children: (0, createSchema_1.createNodes)(firstBody, "request"),
|
|
137
|
-
}),
|
|
138
|
-
],
|
|
139
|
-
}),
|
|
140
|
-
],
|
|
141
|
-
}),
|
|
142
|
-
],
|
|
143
|
-
});
|
|
12
|
+
return [
|
|
13
|
+
(0, utils_1.create)("RequestSchema", {
|
|
14
|
+
title: title,
|
|
15
|
+
body: body,
|
|
16
|
+
...rest,
|
|
17
|
+
}),
|
|
18
|
+
"\n\n",
|
|
19
|
+
];
|
|
144
20
|
}
|
|
145
21
|
exports.createRequestSchema = createRequestSchema;
|
|
@@ -10,5 +10,5 @@ interface Props {
|
|
|
10
10
|
required?: string[] | boolean;
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
export declare function createResponseSchema({ title, body, ...rest }: Props): string
|
|
13
|
+
export declare function createResponseSchema({ title, body, ...rest }: Props): string[];
|
|
14
14
|
export {};
|
|
@@ -7,101 +7,15 @@
|
|
|
7
7
|
* ========================================================================== */
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createResponseSchema = void 0;
|
|
10
|
-
const createDescription_1 = require("./createDescription");
|
|
11
|
-
const createDetails_1 = require("./createDetails");
|
|
12
|
-
const createDetailsSummary_1 = require("./createDetailsSummary");
|
|
13
|
-
const createSchema_1 = require("./createSchema");
|
|
14
|
-
const createStatusCodes_1 = require("./createStatusCodes");
|
|
15
10
|
const utils_1 = require("./utils");
|
|
16
11
|
function createResponseSchema({ title, body, ...rest }) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (mimeTypes && mimeTypes.length) {
|
|
26
|
-
return (0, utils_1.create)("MimeTabs", {
|
|
27
|
-
className: "openapi-tabs__mime",
|
|
28
|
-
schemaType: "response",
|
|
29
|
-
children: mimeTypes.map((mimeType) => {
|
|
30
|
-
var _a;
|
|
31
|
-
const responseExamples = body.content[mimeType].examples;
|
|
32
|
-
const responseExample = body.content[mimeType].example;
|
|
33
|
-
const firstBody = (_a = body.content[mimeType].schema) !== null && _a !== void 0 ? _a : body.content[mimeType];
|
|
34
|
-
if (firstBody === undefined &&
|
|
35
|
-
responseExample === undefined &&
|
|
36
|
-
responseExamples === undefined) {
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
return (0, utils_1.create)("TabItem", {
|
|
40
|
-
label: `${mimeType}`,
|
|
41
|
-
value: `${mimeType}`,
|
|
42
|
-
children: [
|
|
43
|
-
(0, utils_1.create)("SchemaTabs", {
|
|
44
|
-
className: "openapi-tabs__schema",
|
|
45
|
-
// TODO: determine if we should persist this
|
|
46
|
-
// groupId: "schema-tabs",
|
|
47
|
-
children: [
|
|
48
|
-
firstBody &&
|
|
49
|
-
(0, utils_1.create)("TabItem", {
|
|
50
|
-
label: `${title}`,
|
|
51
|
-
value: `${title}`,
|
|
52
|
-
children: [
|
|
53
|
-
(0, createDetails_1.createDetails)({
|
|
54
|
-
className: "openapi-markdown__details response",
|
|
55
|
-
"data-collapsed": false,
|
|
56
|
-
open: true,
|
|
57
|
-
...rest,
|
|
58
|
-
children: [
|
|
59
|
-
(0, createDetailsSummary_1.createDetailsSummary)({
|
|
60
|
-
className: "openapi-markdown__details-summary-response",
|
|
61
|
-
children: [
|
|
62
|
-
(0, utils_1.create)("strong", { children: `${title}` }),
|
|
63
|
-
(0, utils_1.guard)(body.required && body.required === true, () => [
|
|
64
|
-
(0, utils_1.create)("span", {
|
|
65
|
-
className: "openapi-schema__required",
|
|
66
|
-
children: "required",
|
|
67
|
-
}),
|
|
68
|
-
]),
|
|
69
|
-
],
|
|
70
|
-
}),
|
|
71
|
-
(0, utils_1.create)("div", {
|
|
72
|
-
style: { textAlign: "left", marginLeft: "1rem" },
|
|
73
|
-
children: [
|
|
74
|
-
(0, utils_1.guard)(body.description, () => [
|
|
75
|
-
(0, utils_1.create)("div", {
|
|
76
|
-
style: {
|
|
77
|
-
marginTop: "1rem",
|
|
78
|
-
marginBottom: "1rem",
|
|
79
|
-
},
|
|
80
|
-
children: (0, createDescription_1.createDescription)(body.description),
|
|
81
|
-
}),
|
|
82
|
-
]),
|
|
83
|
-
],
|
|
84
|
-
}),
|
|
85
|
-
(0, utils_1.create)("ul", {
|
|
86
|
-
style: { marginLeft: "1rem" },
|
|
87
|
-
children: (0, createSchema_1.createNodes)(firstBody, "response"),
|
|
88
|
-
}),
|
|
89
|
-
],
|
|
90
|
-
}),
|
|
91
|
-
],
|
|
92
|
-
}),
|
|
93
|
-
firstBody && (0, createStatusCodes_1.createExampleFromSchema)(firstBody, mimeType),
|
|
94
|
-
responseExamples &&
|
|
95
|
-
(0, createStatusCodes_1.createResponseExamples)(responseExamples, mimeType),
|
|
96
|
-
responseExample &&
|
|
97
|
-
(0, createStatusCodes_1.createResponseExample)(responseExample, mimeType),
|
|
98
|
-
],
|
|
99
|
-
}),
|
|
100
|
-
],
|
|
101
|
-
});
|
|
102
|
-
}),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return undefined;
|
|
12
|
+
return [
|
|
13
|
+
(0, utils_1.create)("ResponseSchema", {
|
|
14
|
+
title: title,
|
|
15
|
+
body: body,
|
|
16
|
+
...rest,
|
|
17
|
+
}),
|
|
18
|
+
"\n\n",
|
|
19
|
+
];
|
|
106
20
|
}
|
|
107
21
|
exports.createResponseSchema = createResponseSchema;
|
|
@@ -2,10 +2,7 @@ import { SchemaObject } from "../openapi/types";
|
|
|
2
2
|
/**
|
|
3
3
|
* Returns a merged representation of allOf array of schemas.
|
|
4
4
|
*/
|
|
5
|
-
export declare function mergeAllOf(allOf: SchemaObject
|
|
6
|
-
mergedSchemas: any;
|
|
7
|
-
mergedRequired: any;
|
|
8
|
-
};
|
|
5
|
+
export declare function mergeAllOf(allOf: SchemaObject): SchemaObject;
|
|
9
6
|
/**
|
|
10
7
|
* Creates a hierarchical level of a schema tree. Nodes produce edges that can branch into sub-nodes with edges, recursively.
|
|
11
8
|
*/
|
|
@@ -10,6 +10,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.createNodes = exports.mergeAllOf = void 0;
|
|
13
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
14
|
+
const allof_merge_1 = require("allof-merge");
|
|
13
15
|
const clsx_1 = __importDefault(require("clsx"));
|
|
14
16
|
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
15
17
|
const createArrayBracket_1 = require("./createArrayBracket");
|
|
@@ -18,37 +20,16 @@ const createDetails_1 = require("./createDetails");
|
|
|
18
20
|
const createDetailsSummary_1 = require("./createDetailsSummary");
|
|
19
21
|
const schema_1 = require("./schema");
|
|
20
22
|
const utils_1 = require("./utils");
|
|
21
|
-
const jsonSchemaMergeAllOf = require("json-schema-merge-allof");
|
|
22
23
|
let SCHEMA_TYPE;
|
|
23
24
|
/**
|
|
24
25
|
* Returns a merged representation of allOf array of schemas.
|
|
25
26
|
*/
|
|
26
27
|
function mergeAllOf(allOf) {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
writeOnly: function () {
|
|
33
|
-
return true;
|
|
34
|
-
},
|
|
35
|
-
example: function () {
|
|
36
|
-
return true;
|
|
37
|
-
},
|
|
38
|
-
"x-examples": function () {
|
|
39
|
-
return true;
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
ignoreAdditionalProperties: true,
|
|
43
|
-
});
|
|
44
|
-
const mergedRequired = allOf.reduce((acc, cur) => {
|
|
45
|
-
if (Array.isArray(cur.required)) {
|
|
46
|
-
const next = [...acc, ...cur.required];
|
|
47
|
-
return next;
|
|
48
|
-
}
|
|
49
|
-
return acc;
|
|
50
|
-
}, []);
|
|
51
|
-
return { mergedSchemas, mergedRequired };
|
|
28
|
+
const onMergeError = (msg) => {
|
|
29
|
+
console.warn(msg);
|
|
30
|
+
};
|
|
31
|
+
const mergedSchemas = (0, allof_merge_1.merge)(allOf, { onMergeError });
|
|
32
|
+
return mergedSchemas;
|
|
52
33
|
}
|
|
53
34
|
exports.mergeAllOf = mergeAllOf;
|
|
54
35
|
/**
|
|
@@ -211,7 +192,7 @@ function createAdditionalProperties(schema) {
|
|
|
211
192
|
* For handling items.
|
|
212
193
|
*/
|
|
213
194
|
function createItems(schema) {
|
|
214
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
195
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
215
196
|
if (((_a = schema.items) === null || _a === void 0 ? void 0 : _a.properties) !== undefined) {
|
|
216
197
|
return [
|
|
217
198
|
(0, createArrayBracket_1.createOpeningArrayBracket)(),
|
|
@@ -235,7 +216,7 @@ function createItems(schema) {
|
|
|
235
216
|
}
|
|
236
217
|
if (((_e = schema.items) === null || _e === void 0 ? void 0 : _e.allOf) !== undefined) {
|
|
237
218
|
// TODO: figure out if and how we should pass merged required array
|
|
238
|
-
const
|
|
219
|
+
const mergedSchemas = mergeAllOf(schema.items);
|
|
239
220
|
// Handles combo anyOf/oneOf + properties
|
|
240
221
|
if ((mergedSchemas.oneOf !== undefined ||
|
|
241
222
|
mergedSchemas.anyOf !== undefined) &&
|
|
@@ -265,11 +246,11 @@ function createItems(schema) {
|
|
|
265
246
|
].flat();
|
|
266
247
|
}
|
|
267
248
|
}
|
|
268
|
-
if (((
|
|
269
|
-
((
|
|
270
|
-
((
|
|
271
|
-
((
|
|
272
|
-
((
|
|
249
|
+
if (((_f = schema.items) === null || _f === void 0 ? void 0 : _f.type) === "string" ||
|
|
250
|
+
((_g = schema.items) === null || _g === void 0 ? void 0 : _g.type) === "number" ||
|
|
251
|
+
((_h = schema.items) === null || _h === void 0 ? void 0 : _h.type) === "integer" ||
|
|
252
|
+
((_j = schema.items) === null || _j === void 0 ? void 0 : _j.type) === "boolean" ||
|
|
253
|
+
((_k = schema.items) === null || _k === void 0 ? void 0 : _k.type) === "object") {
|
|
273
254
|
return [
|
|
274
255
|
(0, createArrayBracket_1.createOpeningArrayBracket)(),
|
|
275
256
|
createNodes(schema.items, SCHEMA_TYPE),
|
|
@@ -510,7 +491,7 @@ function createPropertyDiscriminator(name, schemaName, schema, discriminator, re
|
|
|
510
491
|
* Creates the edges or "leaves" of a schema tree. Edges can branch into sub-nodes with createDetails().
|
|
511
492
|
*/
|
|
512
493
|
function createEdges({ name, schema, required, discriminator, }) {
|
|
513
|
-
var _a, _b, _c, _d;
|
|
494
|
+
var _a, _b, _c, _d, _e;
|
|
514
495
|
if (SCHEMA_TYPE === "request") {
|
|
515
496
|
if (schema.readOnly && schema.readOnly === true) {
|
|
516
497
|
return undefined;
|
|
@@ -541,45 +522,40 @@ function createEdges({ name, schema, required, discriminator, }) {
|
|
|
541
522
|
if (((_b = schema.items) === null || _b === void 0 ? void 0 : _b.anyOf) !== undefined || ((_c = schema.items) === null || _c === void 0 ? void 0 : _c.oneOf) !== undefined) {
|
|
542
523
|
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
543
524
|
}
|
|
544
|
-
if (schema.allOf !== undefined) {
|
|
545
|
-
const
|
|
546
|
-
delete schema.allOf;
|
|
547
|
-
const combinedSchemas = { ...schema, ...mergedSchemas };
|
|
525
|
+
if (((_d = schema.items) === null || _d === void 0 ? void 0 : _d.allOf) !== undefined) {
|
|
526
|
+
const mergedSchemas = mergeAllOf(schema.items);
|
|
548
527
|
if (SCHEMA_TYPE === "request") {
|
|
549
|
-
if (
|
|
528
|
+
if (mergedSchemas.readOnly && mergedSchemas.readOnly === true) {
|
|
550
529
|
return undefined;
|
|
551
530
|
}
|
|
552
531
|
}
|
|
553
532
|
if (SCHEMA_TYPE === "response") {
|
|
554
|
-
if (
|
|
533
|
+
if (mergedSchemas.writeOnly && mergedSchemas.writeOnly === true) {
|
|
555
534
|
return undefined;
|
|
556
535
|
}
|
|
557
536
|
}
|
|
558
|
-
const mergedSchemaName = (0, schema_1.getSchemaName)(
|
|
559
|
-
if (
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
if (combinedSchemas.oneOf !== undefined ||
|
|
563
|
-
combinedSchemas.anyOf !== undefined) {
|
|
564
|
-
return createDetailsNode(name, mergedSchemaName, combinedSchemas, required, combinedSchemas.nullable);
|
|
537
|
+
const mergedSchemaName = (0, schema_1.getSchemaName)(mergedSchemas);
|
|
538
|
+
if (mergedSchemas.oneOf !== undefined ||
|
|
539
|
+
mergedSchemas.anyOf !== undefined) {
|
|
540
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, mergedSchemas.nullable);
|
|
565
541
|
}
|
|
566
|
-
if (
|
|
567
|
-
return createDetailsNode(name, mergedSchemaName,
|
|
542
|
+
if (mergedSchemas.properties !== undefined) {
|
|
543
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, mergedSchemas.nullable);
|
|
568
544
|
}
|
|
569
|
-
if (
|
|
570
|
-
return createDetailsNode(name, mergedSchemaName,
|
|
545
|
+
if (mergedSchemas.additionalProperties !== undefined) {
|
|
546
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, mergedSchemas.nullable);
|
|
571
547
|
}
|
|
572
548
|
// array of objects
|
|
573
|
-
if (((
|
|
574
|
-
return createDetailsNode(name, mergedSchemaName,
|
|
549
|
+
if (((_e = mergedSchemas.items) === null || _e === void 0 ? void 0 : _e.properties) !== undefined) {
|
|
550
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, mergedSchemas.nullable);
|
|
575
551
|
}
|
|
576
552
|
return (0, utils_1.create)("SchemaItem", {
|
|
577
553
|
collapsible: false,
|
|
578
554
|
name,
|
|
579
555
|
required: Array.isArray(required) ? required.includes(name) : required,
|
|
580
556
|
schemaName: mergedSchemaName,
|
|
581
|
-
qualifierMessage: (0, schema_1.getQualifierMessage)(
|
|
582
|
-
schema:
|
|
557
|
+
qualifierMessage: (0, schema_1.getQualifierMessage)(mergedSchemas),
|
|
558
|
+
schema: mergedSchemas,
|
|
583
559
|
});
|
|
584
560
|
}
|
|
585
561
|
// primitives and array of non-objects
|
|
@@ -625,7 +601,7 @@ function createNodes(schema, schemaType) {
|
|
|
625
601
|
nodes.push(createItems(schema));
|
|
626
602
|
}
|
|
627
603
|
if (schema.allOf !== undefined) {
|
|
628
|
-
const
|
|
604
|
+
const mergedSchemas = mergeAllOf(schema);
|
|
629
605
|
if (mergedSchemas.oneOf !== undefined ||
|
|
630
606
|
mergedSchemas.anyOf !== undefined) {
|
|
631
607
|
nodes.push(createAnyOneOf(mergedSchemas));
|
|
@@ -5,8 +5,5 @@ interface Props {
|
|
|
5
5
|
label?: string;
|
|
6
6
|
responses: ApiItem["responses"];
|
|
7
7
|
}
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function createResponseExample(responseExample: any, mimeType: string): string;
|
|
10
|
-
export declare function createExampleFromSchema(schema: any, mimeType: string): string | undefined;
|
|
11
|
-
export declare function createStatusCodes({ label, id, responses }: Props): string | undefined;
|
|
8
|
+
export declare function createStatusCodes({ id, label, responses }: Props): string[];
|
|
12
9
|
export {};
|