docusaurus-theme-openapi-docs 0.0.0-695 → 0.0.0-696
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/ApiExplorer/CodeSnippets/index.js +10 -11
- package/lib/theme/ApiExplorer/CodeSnippets/languages.d.ts +1 -0
- package/lib/theme/ApiExplorer/CodeSnippets/languages.js +17 -1
- package/lib/theme/ApiExplorer/CodeTabs/index.js +8 -6
- package/package.json +3 -3
- package/src/theme/ApiExplorer/CodeSnippets/index.tsx +13 -13
- package/src/theme/ApiExplorer/CodeSnippets/languages.ts +16 -0
- package/src/theme/ApiExplorer/CodeTabs/index.js +8 -6
|
@@ -246,19 +246,14 @@ function CodeSnippets({ postman, codeSamples }) {
|
|
|
246
246
|
return defaultLang[0] ?? mergedLangs[0];
|
|
247
247
|
});
|
|
248
248
|
const [codeText, setCodeText] = (0, react_1.useState)("");
|
|
249
|
-
const [codeSampleCodeText, setCodeSampleCodeText] = (0, react_1.useState)(
|
|
249
|
+
const [codeSampleCodeText, setCodeSampleCodeText] = (0, react_1.useState)(
|
|
250
|
+
() => (0, languages_1.getCodeSampleSourceFromLanguage)(language)
|
|
251
|
+
);
|
|
250
252
|
(0, react_1.useEffect)(() => {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
language.sample &&
|
|
255
|
-
language.samples &&
|
|
256
|
-
language.samplesSources
|
|
257
|
-
) {
|
|
258
|
-
const sampleIndex = language.samples.findIndex(
|
|
259
|
-
(smp) => smp === language.sample
|
|
253
|
+
if (language && !!language.sample) {
|
|
254
|
+
setCodeSampleCodeText(
|
|
255
|
+
(0, languages_1.getCodeSampleSourceFromLanguage)(language)
|
|
260
256
|
);
|
|
261
|
-
setCodeSampleCodeText(language.samplesSources[sampleIndex]);
|
|
262
257
|
}
|
|
263
258
|
if (language && !!language.options) {
|
|
264
259
|
const postmanRequest = (0, buildPostmanRequest_1.default)(postman, {
|
|
@@ -388,7 +383,9 @@ function CodeSnippets({ postman, codeSamples }) {
|
|
|
388
383
|
action: {
|
|
389
384
|
setLanguage: setLanguage,
|
|
390
385
|
setSelectedVariant: setSelectedVariant,
|
|
386
|
+
setSelectedSample: setSelectedSample,
|
|
391
387
|
},
|
|
388
|
+
languageSet: mergedLangs,
|
|
392
389
|
lazy: true,
|
|
393
390
|
},
|
|
394
391
|
mergedLangs.map((lang) => {
|
|
@@ -414,6 +411,7 @@ function CodeSnippets({ postman, codeSamples }) {
|
|
|
414
411
|
includeSample: true,
|
|
415
412
|
currentLanguage: lang.language,
|
|
416
413
|
defaultValue: selectedSample,
|
|
414
|
+
languageSet: mergedLangs,
|
|
417
415
|
lazy: true,
|
|
418
416
|
},
|
|
419
417
|
lang.samples.map((sample, index) => {
|
|
@@ -452,6 +450,7 @@ function CodeSnippets({ postman, codeSamples }) {
|
|
|
452
450
|
includeVariant: true,
|
|
453
451
|
currentLanguage: lang.language,
|
|
454
452
|
defaultValue: selectedVariant,
|
|
453
|
+
languageSet: mergedLangs,
|
|
455
454
|
lazy: true,
|
|
456
455
|
},
|
|
457
456
|
lang.variants.map((variant, index) => {
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
* ========================================================================== */
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.getCodeSampleSourceFromLanguage = exports.mergeCodeSampleLanguage =
|
|
10
|
+
void 0;
|
|
10
11
|
function mergeCodeSampleLanguage(languages, codeSamples) {
|
|
11
12
|
return languages.map((language) => {
|
|
12
13
|
const languageCodeSamples = codeSamples.filter(
|
|
@@ -30,3 +31,18 @@ function mergeCodeSampleLanguage(languages, codeSamples) {
|
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
exports.mergeCodeSampleLanguage = mergeCodeSampleLanguage;
|
|
34
|
+
function getCodeSampleSourceFromLanguage(language) {
|
|
35
|
+
if (
|
|
36
|
+
language &&
|
|
37
|
+
language.sample &&
|
|
38
|
+
language.samples &&
|
|
39
|
+
language.samplesSources
|
|
40
|
+
) {
|
|
41
|
+
const sampleIndex = language.samples.findIndex(
|
|
42
|
+
(smp) => smp === language.sample
|
|
43
|
+
);
|
|
44
|
+
return language.samplesSources[sampleIndex];
|
|
45
|
+
}
|
|
46
|
+
return "";
|
|
47
|
+
}
|
|
48
|
+
exports.getCodeSampleSourceFromLanguage = getCodeSampleSourceFromLanguage;
|
|
@@ -12,12 +12,12 @@ import {
|
|
|
12
12
|
useTabs,
|
|
13
13
|
} from "@docusaurus/theme-common/internal";
|
|
14
14
|
import useIsBrowser from "@docusaurus/useIsBrowser";
|
|
15
|
-
import { languageSet } from "@theme/ApiExplorer/CodeSnippets";
|
|
16
15
|
import clsx from "clsx";
|
|
17
16
|
|
|
18
17
|
function TabList({
|
|
19
18
|
action,
|
|
20
19
|
currentLanguage,
|
|
20
|
+
languageSet,
|
|
21
21
|
includeVariant,
|
|
22
22
|
includeSample,
|
|
23
23
|
className,
|
|
@@ -48,16 +48,18 @@ function TabList({
|
|
|
48
48
|
)[0];
|
|
49
49
|
newLanguage.variant = newTabValue;
|
|
50
50
|
action.setSelectedVariant(newTabValue.toLowerCase());
|
|
51
|
+
} else if (currentLanguage && includeSample) {
|
|
52
|
+
newLanguage = languageSet.filter(
|
|
53
|
+
(lang) => lang.language === currentLanguage
|
|
54
|
+
)[0];
|
|
55
|
+
newLanguage.sample = newTabValue;
|
|
56
|
+
action.setSelectedSample(newTabValue);
|
|
51
57
|
} else {
|
|
52
58
|
newLanguage = languageSet.filter(
|
|
53
59
|
(lang) => lang.language === newTabValue
|
|
54
60
|
)[0];
|
|
55
61
|
action.setSelectedVariant(newLanguage.variant.toLowerCase());
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (currentLanguage && includeSample) {
|
|
59
|
-
newLanguage.sample = newTabValue;
|
|
60
|
-
action.setSelectedSample(newTabValue.toLowerCase());
|
|
62
|
+
action.setSelectedSample(newLanguage.sample);
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
action.setLanguage(newLanguage);
|
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-696",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"openapi",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"clsx": "^1.1.1",
|
|
44
44
|
"copy-text-to-clipboard": "^3.1.0",
|
|
45
45
|
"crypto-js": "^4.1.1",
|
|
46
|
-
"docusaurus-plugin-openapi-docs": "
|
|
46
|
+
"docusaurus-plugin-openapi-docs": "^2.0.4",
|
|
47
47
|
"docusaurus-plugin-sass": "^0.2.3",
|
|
48
48
|
"file-saver": "^2.0.5",
|
|
49
49
|
"lodash": "^4.17.20",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"engines": {
|
|
69
69
|
"node": ">=14"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "e69b80b5b4a3095fa07fd45a693b4c5b1af49314"
|
|
72
72
|
}
|
|
@@ -17,7 +17,10 @@ import { useTypedSelector } from "@theme/ApiItem/hooks";
|
|
|
17
17
|
import merge from "lodash/merge";
|
|
18
18
|
|
|
19
19
|
import { CodeSample, Language } from "./code-snippets-types";
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
getCodeSampleSourceFromLanguage,
|
|
22
|
+
mergeCodeSampleLanguage,
|
|
23
|
+
} from "./languages";
|
|
21
24
|
|
|
22
25
|
export const languageSet: Language[] = [
|
|
23
26
|
{
|
|
@@ -198,20 +201,13 @@ function CodeSnippets({ postman, codeSamples }: Props) {
|
|
|
198
201
|
return defaultLang[0] ?? mergedLangs[0];
|
|
199
202
|
});
|
|
200
203
|
const [codeText, setCodeText] = useState<string>("");
|
|
201
|
-
const [codeSampleCodeText, setCodeSampleCodeText] = useState<
|
|
204
|
+
const [codeSampleCodeText, setCodeSampleCodeText] = useState<
|
|
205
|
+
string | (() => string)
|
|
206
|
+
>(() => getCodeSampleSourceFromLanguage(language));
|
|
202
207
|
|
|
203
208
|
useEffect(() => {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
language &&
|
|
207
|
-
language.sample &&
|
|
208
|
-
language.samples &&
|
|
209
|
-
language.samplesSources
|
|
210
|
-
) {
|
|
211
|
-
const sampleIndex = language.samples.findIndex(
|
|
212
|
-
(smp) => smp === language.sample
|
|
213
|
-
);
|
|
214
|
-
setCodeSampleCodeText(language.samplesSources[sampleIndex]);
|
|
209
|
+
if (language && !!language.sample) {
|
|
210
|
+
setCodeSampleCodeText(getCodeSampleSourceFromLanguage(language));
|
|
215
211
|
}
|
|
216
212
|
|
|
217
213
|
if (language && !!language.options) {
|
|
@@ -344,7 +340,9 @@ function CodeSnippets({ postman, codeSamples }: Props) {
|
|
|
344
340
|
action={{
|
|
345
341
|
setLanguage: setLanguage,
|
|
346
342
|
setSelectedVariant: setSelectedVariant,
|
|
343
|
+
setSelectedSample: setSelectedSample,
|
|
347
344
|
}}
|
|
345
|
+
languageSet={mergedLangs}
|
|
348
346
|
lazy
|
|
349
347
|
>
|
|
350
348
|
{mergedLangs.map((lang) => {
|
|
@@ -367,6 +365,7 @@ function CodeSnippets({ postman, codeSamples }: Props) {
|
|
|
367
365
|
includeSample={true}
|
|
368
366
|
currentLanguage={lang.language}
|
|
369
367
|
defaultValue={selectedSample}
|
|
368
|
+
languageSet={mergedLangs}
|
|
370
369
|
lazy
|
|
371
370
|
>
|
|
372
371
|
{lang.samples.map((sample, index) => {
|
|
@@ -406,6 +405,7 @@ function CodeSnippets({ postman, codeSamples }: Props) {
|
|
|
406
405
|
includeVariant={true}
|
|
407
406
|
currentLanguage={lang.language}
|
|
408
407
|
defaultValue={selectedVariant}
|
|
408
|
+
languageSet={mergedLangs}
|
|
409
409
|
lazy
|
|
410
410
|
>
|
|
411
411
|
{lang.variants.map((variant, index) => {
|
|
@@ -35,3 +35,19 @@ export function mergeCodeSampleLanguage(
|
|
|
35
35
|
return language;
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
+
|
|
39
|
+
export function getCodeSampleSourceFromLanguage(language: Language) {
|
|
40
|
+
if (
|
|
41
|
+
language &&
|
|
42
|
+
language.sample &&
|
|
43
|
+
language.samples &&
|
|
44
|
+
language.samplesSources
|
|
45
|
+
) {
|
|
46
|
+
const sampleIndex = language.samples.findIndex(
|
|
47
|
+
(smp) => smp === language.sample
|
|
48
|
+
);
|
|
49
|
+
return language.samplesSources[sampleIndex];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
@@ -12,12 +12,12 @@ import {
|
|
|
12
12
|
useTabs,
|
|
13
13
|
} from "@docusaurus/theme-common/internal";
|
|
14
14
|
import useIsBrowser from "@docusaurus/useIsBrowser";
|
|
15
|
-
import { languageSet } from "@theme/ApiExplorer/CodeSnippets";
|
|
16
15
|
import clsx from "clsx";
|
|
17
16
|
|
|
18
17
|
function TabList({
|
|
19
18
|
action,
|
|
20
19
|
currentLanguage,
|
|
20
|
+
languageSet,
|
|
21
21
|
includeVariant,
|
|
22
22
|
includeSample,
|
|
23
23
|
className,
|
|
@@ -48,16 +48,18 @@ function TabList({
|
|
|
48
48
|
)[0];
|
|
49
49
|
newLanguage.variant = newTabValue;
|
|
50
50
|
action.setSelectedVariant(newTabValue.toLowerCase());
|
|
51
|
+
} else if (currentLanguage && includeSample) {
|
|
52
|
+
newLanguage = languageSet.filter(
|
|
53
|
+
(lang) => lang.language === currentLanguage
|
|
54
|
+
)[0];
|
|
55
|
+
newLanguage.sample = newTabValue;
|
|
56
|
+
action.setSelectedSample(newTabValue);
|
|
51
57
|
} else {
|
|
52
58
|
newLanguage = languageSet.filter(
|
|
53
59
|
(lang) => lang.language === newTabValue
|
|
54
60
|
)[0];
|
|
55
61
|
action.setSelectedVariant(newLanguage.variant.toLowerCase());
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (currentLanguage && includeSample) {
|
|
59
|
-
newLanguage.sample = newTabValue;
|
|
60
|
-
action.setSelectedSample(newTabValue.toLowerCase());
|
|
62
|
+
action.setSelectedSample(newLanguage.sample);
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
action.setLanguage(newLanguage);
|