From f574858b9bdb5d2017e56620338c7c2b2485375f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Greg=20Berg=C3=A9?= Date: Fri, 7 Mar 2025 17:54:35 +0100 Subject: [PATCH] Fix OpenAPI example (#2944) --- .changeset/kind-baboons-sort.md | 5 +++++ packages/react-openapi/src/OpenAPISchema.tsx | 4 ++-- packages/react-openapi/src/utils.ts | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .changeset/kind-baboons-sort.md diff --git a/.changeset/kind-baboons-sort.md b/.changeset/kind-baboons-sort.md new file mode 100644 index 000000000..48aab4f3c --- /dev/null +++ b/.changeset/kind-baboons-sort.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-openapi': patch +--- + +Fix OpenAPI example display error diff --git a/packages/react-openapi/src/OpenAPISchema.tsx b/packages/react-openapi/src/OpenAPISchema.tsx index 31cddaa0b..7d93e2ef9 100644 --- a/packages/react-openapi/src/OpenAPISchema.tsx +++ b/packages/react-openapi/src/OpenAPISchema.tsx @@ -217,7 +217,7 @@ function OpenAPISchemaPresentation(props: { property: OpenAPISchemaPropertyEntry propertyName={propertyName} required={required} /> - {schema['x-deprecated-sunset'] ? ( + {typeof schema['x-deprecated-sunset'] === 'string' ? (
Sunset date:{' '} @@ -228,7 +228,7 @@ function OpenAPISchemaPresentation(props: { property: OpenAPISchemaPropertyEntry {description ? ( ) : null} - {example ? ( + {typeof example === 'string' ? (
Example: {example}
diff --git a/packages/react-openapi/src/utils.ts b/packages/react-openapi/src/utils.ts index a9fd74f13..2a6ce7b84 100644 --- a/packages/react-openapi/src/utils.ts +++ b/packages/react-openapi/src/utils.ts @@ -51,12 +51,12 @@ export function extractDescriptions(object: AnyObject) { /** * Resolve the first example from an object. */ -export function resolveFirstExample(object: AnyObject) { +export function resolveFirstExample(object: AnyObject): string | undefined { if ('examples' in object && typeof object.examples === 'object' && object.examples) { const keys = Object.keys(object.examples); const firstKey = keys[0]; if (firstKey && object.examples[firstKey]) { - return object.examples[firstKey]; + return formatExample(object.examples[firstKey]); } }