docusaurus-theme-openapi-docs 0.0.0-529 → 0.0.0-531
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/theme/ApiItem/index.js +14 -5
- package/lib/theme/SchemaItem/index.js +8 -2
- package/lib/theme/SchemaItem/styles.module.css +9 -0
- package/lib/theme/styles.css +1 -0
- package/lib-next/theme/ApiItem/index.js +11 -7
- package/lib-next/theme/SchemaItem/index.js +8 -2
- package/lib-next/theme/SchemaItem/styles.module.css +9 -0
- package/lib-next/theme/styles.css +1 -0
- package/package.json +3 -3
- package/src/theme/ApiItem/index.tsx +12 -7
- package/src/theme/SchemaItem/index.js +8 -2
- package/src/theme/SchemaItem/styles.module.css +9 -0
- package/src/theme/styles.css +1 -0
|
@@ -51,6 +51,9 @@ function ApiItem(props) {
|
|
|
51
51
|
const options = themeConfig.api;
|
|
52
52
|
const isBrowser = (0, _useIsBrowser.default)();
|
|
53
53
|
|
|
54
|
+
// Regex for 2XX status
|
|
55
|
+
const statusRegex = new RegExp("(20[0-9]|2[1-9][0-9])");
|
|
56
|
+
|
|
54
57
|
// Define store2
|
|
55
58
|
let store2 = {};
|
|
56
59
|
const persistanceMiddleware = (0, _persistanceMiddleware.createPersistanceMiddleware)(options);
|
|
@@ -62,11 +65,17 @@ function ApiItem(props) {
|
|
|
62
65
|
|
|
63
66
|
// Init store for CSR to hydrate components
|
|
64
67
|
if (isBrowser) {
|
|
65
|
-
var _api$
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
var _api$requestBody$cont, _api$requestBody, _api$servers, _api$parameters, _window, _ref;
|
|
69
|
+
// Create list of only 2XX response content types to create request samples from
|
|
70
|
+
let acceptArray = [];
|
|
71
|
+
for (const [code, content] of Object.entries((_api$responses = api === null || api === void 0 ? void 0 : api.responses) !== null && _api$responses !== void 0 ? _api$responses : [])) {
|
|
72
|
+
var _api$responses;
|
|
73
|
+
if (statusRegex.test(code)) {
|
|
74
|
+
var _content$content;
|
|
75
|
+
acceptArray.push(Object.keys((_content$content = content.content) !== null && _content$content !== void 0 ? _content$content : {}));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
acceptArray = acceptArray.flat();
|
|
70
79
|
const content = (_api$requestBody$cont = api === null || api === void 0 ? void 0 : (_api$requestBody = api.requestBody) === null || _api$requestBody === void 0 ? void 0 : _api$requestBody.content) !== null && _api$requestBody$cont !== void 0 ? _api$requestBody$cont : {};
|
|
71
80
|
const contentTypeArray = Object.keys(content);
|
|
72
81
|
const servers = (_api$servers = api === null || api === void 0 ? void 0 : api.servers) !== null && _api$servers !== void 0 ? _api$servers : [];
|
|
@@ -23,6 +23,7 @@ function SchemaItem({
|
|
|
23
23
|
name,
|
|
24
24
|
qualifierMessage,
|
|
25
25
|
required,
|
|
26
|
+
deprecated,
|
|
26
27
|
schemaDescription,
|
|
27
28
|
schemaName,
|
|
28
29
|
defaultValue,
|
|
@@ -32,6 +33,10 @@ function SchemaItem({
|
|
|
32
33
|
() => <strong className={styles.required}> required</strong>
|
|
33
34
|
);
|
|
34
35
|
|
|
36
|
+
const renderDeprecated = guard(deprecated, () => (
|
|
37
|
+
<strong className={styles.deprecated}> deprecated</strong>
|
|
38
|
+
));
|
|
39
|
+
|
|
35
40
|
const renderSchemaDescription = guard(schemaDescription, (description) => (
|
|
36
41
|
<div>
|
|
37
42
|
<ReactMarkdown
|
|
@@ -73,9 +78,10 @@ function SchemaItem({
|
|
|
73
78
|
|
|
74
79
|
const schemaContent = (
|
|
75
80
|
<div>
|
|
76
|
-
<strong>{name}</strong>
|
|
81
|
+
<strong className={deprecated && styles.strikethrough}>{name}</strong>
|
|
77
82
|
<span className={styles.schemaName}> {schemaName}</span>
|
|
78
|
-
{renderRequired}
|
|
83
|
+
{!deprecated && renderRequired}
|
|
84
|
+
{renderDeprecated}
|
|
79
85
|
{renderQualifierMessage}
|
|
80
86
|
{renderDefaultValue}
|
|
81
87
|
{renderSchemaDescription}
|
package/lib/theme/styles.css
CHANGED
|
@@ -34,6 +34,9 @@ export default function ApiItem(props) {
|
|
|
34
34
|
const options = themeConfig.api;
|
|
35
35
|
const isBrowser = useIsBrowser();
|
|
36
36
|
|
|
37
|
+
// Regex for 2XX status
|
|
38
|
+
const statusRegex = new RegExp("(20[0-9]|2[1-9][0-9])");
|
|
39
|
+
|
|
37
40
|
// Define store2
|
|
38
41
|
let store2 = {};
|
|
39
42
|
const persistanceMiddleware = createPersistanceMiddleware(options);
|
|
@@ -45,13 +48,14 @@ export default function ApiItem(props) {
|
|
|
45
48
|
|
|
46
49
|
// Init store for CSR to hydrate components
|
|
47
50
|
if (isBrowser) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
// Create list of only 2XX response content types to create request samples from
|
|
52
|
+
let acceptArray = [];
|
|
53
|
+
for (const [code, content] of Object.entries(api?.responses ?? [])) {
|
|
54
|
+
if (statusRegex.test(code)) {
|
|
55
|
+
acceptArray.push(Object.keys(content.content ?? {}));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
acceptArray = acceptArray.flat();
|
|
55
59
|
const content = api?.requestBody?.content ?? {};
|
|
56
60
|
const contentTypeArray = Object.keys(content);
|
|
57
61
|
const servers = api?.servers ?? [];
|
|
@@ -23,6 +23,7 @@ function SchemaItem({
|
|
|
23
23
|
name,
|
|
24
24
|
qualifierMessage,
|
|
25
25
|
required,
|
|
26
|
+
deprecated,
|
|
26
27
|
schemaDescription,
|
|
27
28
|
schemaName,
|
|
28
29
|
defaultValue,
|
|
@@ -32,6 +33,10 @@ function SchemaItem({
|
|
|
32
33
|
() => <strong className={styles.required}> required</strong>
|
|
33
34
|
);
|
|
34
35
|
|
|
36
|
+
const renderDeprecated = guard(deprecated, () => (
|
|
37
|
+
<strong className={styles.deprecated}> deprecated</strong>
|
|
38
|
+
));
|
|
39
|
+
|
|
35
40
|
const renderSchemaDescription = guard(schemaDescription, (description) => (
|
|
36
41
|
<div>
|
|
37
42
|
<ReactMarkdown
|
|
@@ -73,9 +78,10 @@ function SchemaItem({
|
|
|
73
78
|
|
|
74
79
|
const schemaContent = (
|
|
75
80
|
<div>
|
|
76
|
-
<strong>{name}</strong>
|
|
81
|
+
<strong className={deprecated && styles.strikethrough}>{name}</strong>
|
|
77
82
|
<span className={styles.schemaName}> {schemaName}</span>
|
|
78
|
-
{renderRequired}
|
|
83
|
+
{!deprecated && renderRequired}
|
|
84
|
+
{renderDeprecated}
|
|
79
85
|
{renderQualifierMessage}
|
|
80
86
|
{renderDefaultValue}
|
|
81
87
|
{renderSchemaDescription}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docusaurus-theme-openapi-docs",
|
|
3
3
|
"description": "OpenAPI theme for Docusaurus.",
|
|
4
|
-
"version": "0.0.0-
|
|
4
|
+
"version": "0.0.0-531",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"openapi",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"buffer": "^6.0.3",
|
|
52
52
|
"clsx": "^1.1.1",
|
|
53
53
|
"crypto-js": "^4.1.1",
|
|
54
|
-
"docusaurus-plugin-openapi-docs": "0.0.0-
|
|
54
|
+
"docusaurus-plugin-openapi-docs": "0.0.0-531",
|
|
55
55
|
"file-saver": "^2.0.5",
|
|
56
56
|
"immer": "^9.0.7",
|
|
57
57
|
"lodash": "^4.17.20",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"engines": {
|
|
74
74
|
"node": ">=14"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "97da2ed70f7bb1d712b85fad818fbed77e611aa0"
|
|
77
77
|
}
|
|
@@ -53,6 +53,9 @@ export default function ApiItem(props: Props): JSX.Element {
|
|
|
53
53
|
const options = themeConfig.api;
|
|
54
54
|
const isBrowser = useIsBrowser();
|
|
55
55
|
|
|
56
|
+
// Regex for 2XX status
|
|
57
|
+
const statusRegex = new RegExp("(20[0-9]|2[1-9][0-9])");
|
|
58
|
+
|
|
56
59
|
// Define store2
|
|
57
60
|
let store2: any = {};
|
|
58
61
|
const persistanceMiddleware = createPersistanceMiddleware(options);
|
|
@@ -64,13 +67,15 @@ export default function ApiItem(props: Props): JSX.Element {
|
|
|
64
67
|
|
|
65
68
|
// Init store for CSR to hydrate components
|
|
66
69
|
if (isBrowser) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
// Create list of only 2XX response content types to create request samples from
|
|
71
|
+
let acceptArray: any = [];
|
|
72
|
+
for (const [code, content] of Object.entries(api?.responses ?? [])) {
|
|
73
|
+
if (statusRegex.test(code)) {
|
|
74
|
+
acceptArray.push(Object.keys(content.content ?? {}));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
acceptArray = acceptArray.flat();
|
|
78
|
+
|
|
74
79
|
const content = api?.requestBody?.content ?? {};
|
|
75
80
|
const contentTypeArray = Object.keys(content);
|
|
76
81
|
const servers = api?.servers ?? [];
|
|
@@ -23,6 +23,7 @@ function SchemaItem({
|
|
|
23
23
|
name,
|
|
24
24
|
qualifierMessage,
|
|
25
25
|
required,
|
|
26
|
+
deprecated,
|
|
26
27
|
schemaDescription,
|
|
27
28
|
schemaName,
|
|
28
29
|
defaultValue,
|
|
@@ -32,6 +33,10 @@ function SchemaItem({
|
|
|
32
33
|
() => <strong className={styles.required}> required</strong>
|
|
33
34
|
);
|
|
34
35
|
|
|
36
|
+
const renderDeprecated = guard(deprecated, () => (
|
|
37
|
+
<strong className={styles.deprecated}> deprecated</strong>
|
|
38
|
+
));
|
|
39
|
+
|
|
35
40
|
const renderSchemaDescription = guard(schemaDescription, (description) => (
|
|
36
41
|
<div>
|
|
37
42
|
<ReactMarkdown
|
|
@@ -73,9 +78,10 @@ function SchemaItem({
|
|
|
73
78
|
|
|
74
79
|
const schemaContent = (
|
|
75
80
|
<div>
|
|
76
|
-
<strong>{name}</strong>
|
|
81
|
+
<strong className={deprecated && styles.strikethrough}>{name}</strong>
|
|
77
82
|
<span className={styles.schemaName}> {schemaName}</span>
|
|
78
|
-
{renderRequired}
|
|
83
|
+
{!deprecated && renderRequired}
|
|
84
|
+
{renderDeprecated}
|
|
79
85
|
{renderQualifierMessage}
|
|
80
86
|
{renderDefaultValue}
|
|
81
87
|
{renderSchemaDescription}
|
package/src/theme/styles.css
CHANGED