From 2e697077bfa74b7983a026fa8f50d54502784056 Mon Sep 17 00:00:00 2001 From: scarf Date: Mon, 20 Nov 2023 14:08:12 +0900 Subject: [PATCH] fix(swagger-ui): support `persistAuthorization` and boolean option (#265) * feat: `persistAuthorization` Co-authored-by: Sor4chi <80559385+sor4chi@users.noreply.github.com> * test: `persistAuthorization` * chore: changeset Co-authored-by: Sor4chi <80559385+sor4chi@users.noreply.github.com> --------- Co-authored-by: Sor4chi <80559385+sor4chi@users.noreply.github.com> --- .changeset/soft-llamas-melt.md | 5 +++++ packages/swagger-ui/src/swagger/renderer.ts | 2 ++ packages/swagger-ui/test/option-renderer.test.ts | 8 ++++++++ 3 files changed, 15 insertions(+) create mode 100644 .changeset/soft-llamas-melt.md diff --git a/.changeset/soft-llamas-melt.md b/.changeset/soft-llamas-melt.md new file mode 100644 index 00000000..39696df3 --- /dev/null +++ b/.changeset/soft-llamas-melt.md @@ -0,0 +1,5 @@ +--- +'@hono/swagger-ui': minor +--- + +Added support for `persistAuthorization`. diff --git a/packages/swagger-ui/src/swagger/renderer.ts b/packages/swagger-ui/src/swagger/renderer.ts index 1ba7604b..bb7956b5 100644 --- a/packages/swagger-ui/src/swagger/renderer.ts +++ b/packages/swagger-ui/src/swagger/renderer.ts @@ -14,6 +14,7 @@ export type DistSwaggerUIOptions = { operationsSorter?: string requestInterceptor?: string responseInterceptor?: string + persistAuthorization?: boolean } const RENDER_TYPE = { @@ -37,6 +38,7 @@ const RENDER_TYPE_MAP = { operationsSorter: RENDER_TYPE.RAW, requestInterceptor: RENDER_TYPE.RAW, responseInterceptor: RENDER_TYPE.RAW, + persistAuthorization: RENDER_TYPE.RAW, } as const satisfies Record< keyof DistSwaggerUIOptions, (typeof RENDER_TYPE)[keyof typeof RENDER_TYPE] diff --git a/packages/swagger-ui/test/option-renderer.test.ts b/packages/swagger-ui/test/option-renderer.test.ts index d52efdec..0d2541b3 100644 --- a/packages/swagger-ui/test/option-renderer.test.ts +++ b/packages/swagger-ui/test/option-renderer.test.ts @@ -124,4 +124,12 @@ describe('SwaggerUIOption Rendering', () => { }) ).toEqual('responseInterceptor: (res) => res') }) + + it('renders correctly with persistAuthorization', () => { + expect( + renderSwaggerUIOptions({ + persistAuthorization: true, + }) + ).toEqual('persistAuthorization: true') + }) })