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.
@@ -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$responses, _api$requestBody$cont, _api$requestBody, _api$servers, _api$parameters, _window, _ref;
66
- const acceptArray = Array.from(new Set(Object.values((_api$responses = api === null || api === void 0 ? void 0 : api.responses) !== null && _api$responses !== void 0 ? _api$responses : {}).map(response => {
67
- var _response$content;
68
- return Object.keys((_response$content = response.content) !== null && _response$content !== void 0 ? _response$content : {});
69
- }).flat()));
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}
@@ -22,3 +22,12 @@
22
22
  font-size: var(--ifm-code-font-size);
23
23
  color: var(--openapi-required);
24
24
  }
25
+
26
+ .deprecated {
27
+ font-size: var(--ifm-code-font-size);
28
+ color: var(--openapi-deprecated);
29
+ }
30
+
31
+ .strikethrough {
32
+ text-decoration: line-through;
33
+ }
@@ -7,6 +7,7 @@
7
7
 
8
8
  :root {
9
9
  --openapi-required: var(--ifm-color-danger);
10
+ --openapi-deprecated: var(--ifm-color-warning);
10
11
  --openapi-code-blue: var(--ifm-color-info);
11
12
  --openapi-code-red: var(--ifm-color-danger);
12
13
  --openapi-code-orange: var(--ifm-color-warning);
@@ -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
- const acceptArray = Array.from(
49
- new Set(
50
- Object.values(api?.responses ?? {})
51
- .map((response) => Object.keys(response.content ?? {}))
52
- .flat()
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}
@@ -22,3 +22,12 @@
22
22
  font-size: var(--ifm-code-font-size);
23
23
  color: var(--openapi-required);
24
24
  }
25
+
26
+ .deprecated {
27
+ font-size: var(--ifm-code-font-size);
28
+ color: var(--openapi-deprecated);
29
+ }
30
+
31
+ .strikethrough {
32
+ text-decoration: line-through;
33
+ }
@@ -7,6 +7,7 @@
7
7
 
8
8
  :root {
9
9
  --openapi-required: var(--ifm-color-danger);
10
+ --openapi-deprecated: var(--ifm-color-warning);
10
11
  --openapi-code-blue: var(--ifm-color-info);
11
12
  --openapi-code-red: var(--ifm-color-danger);
12
13
  --openapi-code-orange: var(--ifm-color-warning);
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-529",
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-529",
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": "f5fc59449765c07686f86df742256acdd2eccb44"
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
- const acceptArray = Array.from(
68
- new Set(
69
- Object.values(api?.responses ?? {})
70
- .map((response: any) => Object.keys(response.content ?? {}))
71
- .flat()
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}
@@ -22,3 +22,12 @@
22
22
  font-size: var(--ifm-code-font-size);
23
23
  color: var(--openapi-required);
24
24
  }
25
+
26
+ .deprecated {
27
+ font-size: var(--ifm-code-font-size);
28
+ color: var(--openapi-deprecated);
29
+ }
30
+
31
+ .strikethrough {
32
+ text-decoration: line-through;
33
+ }
@@ -7,6 +7,7 @@
7
7
 
8
8
  :root {
9
9
  --openapi-required: var(--ifm-color-danger);
10
+ --openapi-deprecated: var(--ifm-color-warning);
10
11
  --openapi-code-blue: var(--ifm-color-info);
11
12
  --openapi-code-red: var(--ifm-color-danger);
12
13
  --openapi-code-orange: var(--ifm-color-warning);