Fix x-codeSamples: false not working at the single operation level (#2408)

This commit is contained in:
Samy Pessé
2024-07-25 14:59:30 +02:00
committed by GitHub
parent 709f1a1ccb
commit ede2335fb3
3 changed files with 12 additions and 3 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@gitbook/react-openapi': patch
---
Fix x-codeSamples: false not working at the single operation level
@@ -52,7 +52,7 @@ export function OpenAPICodeSample(props: {
}> = null;
(['x-custom-examples', 'x-code-samples', 'x-codeSamples'] as const).forEach((key) => {
const customSamples = data.operation[key];
if (customSamples) {
if (customSamples && Array.isArray(customSamples)) {
customCodeSamples = customSamples.map((sample) => ({
key: `redocly-${sample.lang}`,
label: sample.label,
@@ -61,7 +61,11 @@ export function OpenAPICodeSample(props: {
}
});
const samples = customCodeSamples ?? (data['x-codeSamples'] !== false ? autoCodeSamples : []);
// Code samples can be disabled at the top-level or at the operation level
// If code samples are defined at the operation level, it will override the top-level setting
const codeSamplesDisabled =
data['x-codeSamples'] === false || data.operation['x-codeSamples'] === false;
const samples = customCodeSamples ?? (!codeSamplesDisabled ? autoCodeSamples : []);
if (samples.length === 0) {
return null;
}
@@ -43,7 +43,7 @@ export interface OpenAPICustomSpecProperties {
*/
export interface OpenAPICustomOperationProperties {
'x-code-samples'?: OpenAPICustomCodeSample[];
'x-codeSamples'?: OpenAPICustomCodeSample[];
'x-codeSamples'?: OpenAPICustomCodeSample[] | false;
'x-custom-examples'?: OpenAPICustomCodeSample[];
/**