@hono/zod-openapi 1.2.3 → 1.3.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @hono/zod-openapi
2
2
 
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1752](https://github.com/honojs/middleware/pull/1752) [`fe0f8e4b44ca8e78d2ed60ed8591f415cd85eaa9`](https://github.com/honojs/middleware/commit/fe0f8e4b44ca8e78d2ed60ed8591f415cd85eaa9) Thanks [@destroSunRay](https://github.com/destroSunRay)! - This PR adds two new utilities to improve route definition and registration in `@hono/zod-openapi`:
8
+ - `defineOpenAPIRoute`: Provides explicit type safety for route definitions
9
+ - `openapiRoutes`: Enables batch registration of multiple routes with full type safety
10
+ - Registering many routes individually was repetitive and verbose
11
+ - Type inference for complex route configurations was challenging
12
+ - Organizing routes across multiple files was difficult
13
+ - No built-in support for conditional route registration
14
+ - RPC type safety was hard to maintain across scattered route registrations
15
+ - `defineOpenAPIRoute`: Wraps route definitions with explicit types for better IDE support and type checking
16
+ - `openapiRoutes`: Accepts an array of route definitions and registers them all at once
17
+ - Supports `addRoute` flag for conditional registration
18
+ - Maintains full type safety and RPC support through recursive type merging
19
+ - Enables clean modular organization of routes
20
+ - ✅ Reduced boilerplate code
21
+ - ✅ Better type inference and IDE autocomplete
22
+ - ✅ Easier code organization and maintainability
23
+ - ✅ Declarative conditional routes
24
+ - ✅ Full backward compatibility
25
+
26
+ See the updated README for usage examples.
27
+ - All existing tests pass (102/102)
28
+ - Added tests for new functionality
29
+ - Verified type inference works correctly
30
+ - Updated package README with usage examples
31
+
32
+ ## 1.2.4
33
+
34
+ ### Patch Changes
35
+
36
+ - [#1831](https://github.com/honojs/middleware/pull/1831) [`40ede9c55abe672798deca6970ef60b945382d34`](https://github.com/honojs/middleware/commit/40ede9c55abe672798deca6970ef60b945382d34) Thanks [@yusukebe](https://github.com/yusukebe)! - fix: publish to JSR
37
+
3
38
  ## 1.2.3
4
39
 
5
40
  ### Patch Changes
package/README.md CHANGED
@@ -398,6 +398,83 @@ const appRoutes = app.openapi(route, (c) => {
398
398
  const client = hc<typeof appRoutes>('http://localhost:8787/')
399
399
  ```
400
400
 
401
+ ### Batch Route Registration
402
+
403
+ For better code organization and type safety, you can use `defineOpenAPIRoute` and `openapiRoutes` to register multiple routes at once.
404
+
405
+ #### Using `defineOpenAPIRoute`
406
+
407
+ `defineOpenAPIRoute` provides explicit type safety for route definitions:
408
+
409
+ ```ts
410
+ import { OpenAPIHono, defineOpenAPIRoute, createRoute, z } from '@hono/zod-openapi'
411
+
412
+ const getUserRoute = defineOpenAPIRoute({
413
+ route: createRoute({
414
+ method: 'get',
415
+ path: '/users/{id}',
416
+ request: {
417
+ params: z.object({ id: z.string() }),
418
+ },
419
+ responses: {
420
+ 200: {
421
+ content: {
422
+ 'application/json': {
423
+ schema: z.object({ id: z.string(), name: z.string() }),
424
+ },
425
+ },
426
+ },
427
+ },
428
+ }),
429
+ handler: (c) => {
430
+ const { id } = c.req.valid('param')
431
+ return c.json({ id, name: 'John Doe' }, 200)
432
+ },
433
+ })
434
+ ```
435
+
436
+ #### Using openapiRoutes for Batch Registration
437
+
438
+ Register multiple routes at once with full type safety:
439
+
440
+ ```ts
441
+ const app = new OpenAPIHono()
442
+
443
+ // 'as const' is important for type inference
444
+ app.openapiRoutes([getUserRoute, createUserRoute, updateUserRoute] as const)
445
+ ```
446
+
447
+ #### Conditional Routes
448
+
449
+ Use the addRoute flag to conditionally include routes:
450
+
451
+ ```ts
452
+ const debugRoute = defineOpenAPIRoute({
453
+ route: createRoute({
454
+ /* ... */
455
+ }),
456
+ handler: (c) => {
457
+ /* ... */
458
+ },
459
+ addRoute: process.env.NODE_ENV === 'development', // Only in dev
460
+ })
461
+ ```
462
+
463
+ #### Modular Organization
464
+
465
+ Organize routes across multiple files:
466
+
467
+ ```ts
468
+ // routes/users.ts
469
+ export const userRoutes = [getUserRoute, createUserRoute, updateUserRoute] as const
470
+
471
+ // app.ts
472
+ import { userRoutes } from './routes/users'
473
+ import { postRoutes } from './routes/posts'
474
+
475
+ app.openapiRoutes([...userRoutes, ...postRoutes] as const)
476
+ ```
477
+
401
478
  ## Tips
402
479
 
403
480
  ### Type utilities
package/dist/index.cjs CHANGED
@@ -60,6 +60,9 @@ function isZod(x) {
60
60
  const $ = (app) => {
61
61
  return app;
62
62
  };
63
+ const defineOpenAPIRoute = (def) => {
64
+ return def;
65
+ };
63
66
  var OpenAPIHono = class OpenAPIHono extends hono.Hono {
64
67
  openAPIRegistry;
65
68
  defaultHook;
@@ -159,6 +162,17 @@ var OpenAPIHono = class OpenAPIHono extends hono.Hono {
159
162
  this.on([route.method], [route.path.replaceAll(/\/{(.+?)}/g, "/:$1")], ...middleware, ...validators, handler);
160
163
  return this;
161
164
  };
165
+ /**
166
+ * Register a list of routes with full Type Safety and RPC support.
167
+ * * @param inputs - An array of objects containing { route, handler, hook }.
168
+ * Must be defined `as const` or inline to preserve tuple types.
169
+ */
170
+ openapiRoutes = (inputs) => {
171
+ inputs.filter(({ addRoute }) => addRoute !== false).forEach(({ route, handler, hook }) => {
172
+ this.openapi(route, handler, hook);
173
+ });
174
+ return this;
175
+ };
162
176
  getOpenAPIDocument = (objectConfig, generatorConfig) => {
163
177
  const document = new __asteasolutions_zod_to_openapi.OpenApiGeneratorV3(this.openAPIRegistry.definitions, generatorConfig).generateDocument(objectConfig);
164
178
  return this._basePath ? addBasePathToDocument(document, this._basePath) : document;
@@ -262,5 +276,6 @@ function isFormContentType(contentType) {
262
276
  exports.$ = $;
263
277
  exports.OpenAPIHono = OpenAPIHono;
264
278
  exports.createRoute = createRoute;
279
+ exports.defineOpenAPIRoute = defineOpenAPIRoute;
265
280
  exports.extendZodWithOpenApi = __asteasolutions_zod_to_openapi.extendZodWithOpenApi;
266
281
  exports.z = zod.z;
package/dist/index.d.cts CHANGED
@@ -142,6 +142,42 @@ type HonoToOpenAPIHono<T$1> = T$1 extends Hono<infer E, infer S, infer B> ? Open
142
142
  * ```
143
143
  */
144
144
  declare const $: <T extends Hono<any, any, any>>(app: T) => HonoToOpenAPIHono<T>;
145
+ type ComputeInput<R$1 extends RouteConfig> = InputTypeParam<R$1> & InputTypeQuery<R$1> & InputTypeHeader<R$1> & InputTypeCookie<R$1> & InputTypeForm<R$1> & InputTypeJson<R$1>;
146
+ type HandlerFromRoute<R$1 extends RouteConfig, E$1 extends Env> = Handler<E$1, ConvertPathType<R$1["path"]>, ComputeInput<R$1>, R$1 extends {
147
+ responses: {
148
+ [statusCode: number]: {
149
+ content: {
150
+ [mediaType: string]: ZodMediaTypeObject;
151
+ };
152
+ };
153
+ };
154
+ } ? MaybePromise<RouteConfigToTypedResponse<R$1>> : MaybePromise<RouteConfigToTypedResponse<R$1>> | MaybePromise<Response>>;
155
+ type HookFromRoute<R$1 extends RouteConfig, E$1 extends Env> = Hook<ComputeInput<R$1>, E$1, ConvertPathType<R$1["path"]>, R$1 extends {
156
+ responses: {
157
+ [statusCode: number]: {
158
+ content: {
159
+ [mediaType: string]: ZodMediaTypeObject;
160
+ };
161
+ };
162
+ };
163
+ } ? MaybePromise<RouteConfigToTypedResponse<R$1>> | undefined : MaybePromise<RouteConfigToTypedResponse<R$1>> | MaybePromise<Response> | undefined> | undefined;
164
+ type SchemaFromRoutes<Routes extends readonly {
165
+ route: RouteConfig;
166
+ addRoute?: boolean;
167
+ }[], BasePath extends string> = Routes extends readonly [infer Head, ...infer Tail] ? Head extends {
168
+ route: infer R extends RouteConfig;
169
+ addRoute?: infer AddRoute;
170
+ } ? ([AddRoute] extends [false] ? {} : ToSchema<R["method"], MergePath<BasePath, ConvertPathType<R["path"]>>, ComputeInput<R>, RouteConfigToTypedResponse<R>>) & SchemaFromRoutes<Tail extends readonly {
171
+ route: RouteConfig;
172
+ addRoute?: boolean;
173
+ }[] ? Tail : [], BasePath> : {} : {};
174
+ type OpenAPIRoute<R$1 extends RouteConfig = RouteConfig, E$1 extends Env = Env, AddRoute$1 extends boolean | undefined = boolean | undefined> = {
175
+ route: R$1;
176
+ handler: HandlerFromRoute<R$1, E$1>;
177
+ hook?: HookFromRoute<R$1, E$1>;
178
+ addRoute?: AddRoute$1;
179
+ };
180
+ declare const defineOpenAPIRoute: <R extends RouteConfig, E extends Env = Env, const AddRoute extends boolean | undefined = undefined>(def: OpenAPIRoute<R, E, AddRoute>) => OpenAPIRoute<R, E, AddRoute>;
145
181
  declare class OpenAPIHono<E$1 extends Env = Env, S$1 extends Schema = {}, BasePath extends string = "/"> extends Hono<E$1, S$1, BasePath> {
146
182
  openAPIRegistry: OpenAPIRegistry;
147
183
  defaultHook?: OpenAPIHonoOptions<E$1>["defaultHook"];
@@ -198,6 +234,17 @@ declare class OpenAPIHono<E$1 extends Env = Env, S$1 extends Schema = {}, BasePa
198
234
  };
199
235
  };
200
236
  } ? MaybePromise<RouteConfigToTypedResponse<R>> | undefined : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response> | undefined> | undefined) => OpenAPIHono<E$1, S$1 & ToSchema<R["method"], MergePath<BasePath, P>, I, RouteConfigToTypedResponse<R>>, BasePath>;
237
+ /**
238
+ * Register a list of routes with full Type Safety and RPC support.
239
+ * * @param inputs - An array of objects containing { route, handler, hook }.
240
+ * Must be defined `as const` or inline to preserve tuple types.
241
+ */
242
+ openapiRoutes: <const Inputs extends readonly {
243
+ route: RouteConfig;
244
+ handler: any;
245
+ hook?: any;
246
+ addRoute?: boolean;
247
+ }[]>(inputs: Inputs) => OpenAPIHono<E$1, S$1 & SchemaFromRoutes<Inputs, BasePath>, BasePath>;
201
248
  getOpenAPIDocument: (objectConfig: OpenAPIObjectConfig, generatorConfig?: OpenAPIGeneratorOptions) => OpenAPIObject;
202
249
  getOpenAPI31Document: (objectConfig: OpenAPIObjectConfig, generatorConfig?: OpenAPIGeneratorOptions) => OpenAPIObject$1;
203
250
  doc: <P extends string>(path: P, configureObject: OpenAPIObjectConfigure<E$1, P>, configureGenerator?: OpenAPIGeneratorConfigure<E$1, P>) => OpenAPIHono<E$1, S$1 & ToSchema<"get", MergePath<BasePath, P>, {}, {}>, BasePath>;
@@ -215,5 +262,5 @@ declare const createRoute: <P extends string, R extends Omit<RouteConfig, "path"
215
262
  getRoutingPath(): RoutingPath<R["path"]>;
216
263
  };
217
264
  //#endregion
218
- export { $, DeepSimplify, HonoToOpenAPIHono, Hook, MiddlewareToHandlerType, OfHandlerType, OpenAPIGeneratorConfigure, OpenAPIGeneratorOptions, OpenAPIHono, OpenAPIHonoOptions, OpenAPIObjectConfigure, RouteConfig, RouteConfigToEnv, RouteConfigToTypedResponse, RouteHandler, RouteHook, createRoute, extendZodWithOpenApi, z };
265
+ export { $, DeepSimplify, HonoToOpenAPIHono, Hook, MiddlewareToHandlerType, OfHandlerType, OpenAPIGeneratorConfigure, OpenAPIGeneratorOptions, OpenAPIHono, OpenAPIHonoOptions, OpenAPIObjectConfigure, OpenAPIRoute, RouteConfig, RouteConfigToEnv, RouteConfigToTypedResponse, RouteHandler, RouteHook, createRoute, defineOpenAPIRoute, extendZodWithOpenApi, z };
219
266
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -142,6 +142,42 @@ type HonoToOpenAPIHono<T$1> = T$1 extends Hono<infer E, infer S, infer B> ? Open
142
142
  * ```
143
143
  */
144
144
  declare const $: <T extends Hono<any, any, any>>(app: T) => HonoToOpenAPIHono<T>;
145
+ type ComputeInput<R$1 extends RouteConfig> = InputTypeParam<R$1> & InputTypeQuery<R$1> & InputTypeHeader<R$1> & InputTypeCookie<R$1> & InputTypeForm<R$1> & InputTypeJson<R$1>;
146
+ type HandlerFromRoute<R$1 extends RouteConfig, E$1 extends Env> = Handler<E$1, ConvertPathType<R$1["path"]>, ComputeInput<R$1>, R$1 extends {
147
+ responses: {
148
+ [statusCode: number]: {
149
+ content: {
150
+ [mediaType: string]: ZodMediaTypeObject;
151
+ };
152
+ };
153
+ };
154
+ } ? MaybePromise<RouteConfigToTypedResponse<R$1>> : MaybePromise<RouteConfigToTypedResponse<R$1>> | MaybePromise<Response>>;
155
+ type HookFromRoute<R$1 extends RouteConfig, E$1 extends Env> = Hook<ComputeInput<R$1>, E$1, ConvertPathType<R$1["path"]>, R$1 extends {
156
+ responses: {
157
+ [statusCode: number]: {
158
+ content: {
159
+ [mediaType: string]: ZodMediaTypeObject;
160
+ };
161
+ };
162
+ };
163
+ } ? MaybePromise<RouteConfigToTypedResponse<R$1>> | undefined : MaybePromise<RouteConfigToTypedResponse<R$1>> | MaybePromise<Response> | undefined> | undefined;
164
+ type SchemaFromRoutes<Routes extends readonly {
165
+ route: RouteConfig;
166
+ addRoute?: boolean;
167
+ }[], BasePath extends string> = Routes extends readonly [infer Head, ...infer Tail] ? Head extends {
168
+ route: infer R extends RouteConfig;
169
+ addRoute?: infer AddRoute;
170
+ } ? ([AddRoute] extends [false] ? {} : ToSchema<R["method"], MergePath<BasePath, ConvertPathType<R["path"]>>, ComputeInput<R>, RouteConfigToTypedResponse<R>>) & SchemaFromRoutes<Tail extends readonly {
171
+ route: RouteConfig;
172
+ addRoute?: boolean;
173
+ }[] ? Tail : [], BasePath> : {} : {};
174
+ type OpenAPIRoute<R$1 extends RouteConfig = RouteConfig, E$1 extends Env = Env, AddRoute$1 extends boolean | undefined = boolean | undefined> = {
175
+ route: R$1;
176
+ handler: HandlerFromRoute<R$1, E$1>;
177
+ hook?: HookFromRoute<R$1, E$1>;
178
+ addRoute?: AddRoute$1;
179
+ };
180
+ declare const defineOpenAPIRoute: <R extends RouteConfig, E extends Env = Env, const AddRoute extends boolean | undefined = undefined>(def: OpenAPIRoute<R, E, AddRoute>) => OpenAPIRoute<R, E, AddRoute>;
145
181
  declare class OpenAPIHono<E$1 extends Env = Env, S$1 extends Schema = {}, BasePath extends string = "/"> extends Hono<E$1, S$1, BasePath> {
146
182
  openAPIRegistry: OpenAPIRegistry;
147
183
  defaultHook?: OpenAPIHonoOptions<E$1>["defaultHook"];
@@ -198,6 +234,17 @@ declare class OpenAPIHono<E$1 extends Env = Env, S$1 extends Schema = {}, BasePa
198
234
  };
199
235
  };
200
236
  } ? MaybePromise<RouteConfigToTypedResponse<R>> | undefined : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response> | undefined> | undefined) => OpenAPIHono<E$1, S$1 & ToSchema<R["method"], MergePath<BasePath, P>, I, RouteConfigToTypedResponse<R>>, BasePath>;
237
+ /**
238
+ * Register a list of routes with full Type Safety and RPC support.
239
+ * * @param inputs - An array of objects containing { route, handler, hook }.
240
+ * Must be defined `as const` or inline to preserve tuple types.
241
+ */
242
+ openapiRoutes: <const Inputs extends readonly {
243
+ route: RouteConfig;
244
+ handler: any;
245
+ hook?: any;
246
+ addRoute?: boolean;
247
+ }[]>(inputs: Inputs) => OpenAPIHono<E$1, S$1 & SchemaFromRoutes<Inputs, BasePath>, BasePath>;
201
248
  getOpenAPIDocument: (objectConfig: OpenAPIObjectConfig, generatorConfig?: OpenAPIGeneratorOptions) => OpenAPIObject;
202
249
  getOpenAPI31Document: (objectConfig: OpenAPIObjectConfig, generatorConfig?: OpenAPIGeneratorOptions) => OpenAPIObject$1;
203
250
  doc: <P extends string>(path: P, configureObject: OpenAPIObjectConfigure<E$1, P>, configureGenerator?: OpenAPIGeneratorConfigure<E$1, P>) => OpenAPIHono<E$1, S$1 & ToSchema<"get", MergePath<BasePath, P>, {}, {}>, BasePath>;
@@ -215,5 +262,5 @@ declare const createRoute: <P extends string, R extends Omit<RouteConfig, "path"
215
262
  getRoutingPath(): RoutingPath<R["path"]>;
216
263
  };
217
264
  //#endregion
218
- export { $, DeepSimplify, HonoToOpenAPIHono, Hook, MiddlewareToHandlerType, OfHandlerType, OpenAPIGeneratorConfigure, OpenAPIGeneratorOptions, OpenAPIHono, OpenAPIHonoOptions, OpenAPIObjectConfigure, RouteConfig, RouteConfigToEnv, RouteConfigToTypedResponse, RouteHandler, RouteHook, createRoute, extendZodWithOpenApi, z };
265
+ export { $, DeepSimplify, HonoToOpenAPIHono, Hook, MiddlewareToHandlerType, OfHandlerType, OpenAPIGeneratorConfigure, OpenAPIGeneratorOptions, OpenAPIHono, OpenAPIHonoOptions, OpenAPIObjectConfigure, OpenAPIRoute, RouteConfig, RouteConfigToEnv, RouteConfigToTypedResponse, RouteHandler, RouteHook, createRoute, defineOpenAPIRoute, extendZodWithOpenApi, z };
219
266
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -32,6 +32,9 @@ function isZod(x) {
32
32
  const $ = (app) => {
33
33
  return app;
34
34
  };
35
+ const defineOpenAPIRoute = (def) => {
36
+ return def;
37
+ };
35
38
  var OpenAPIHono = class OpenAPIHono extends Hono {
36
39
  openAPIRegistry;
37
40
  defaultHook;
@@ -131,6 +134,17 @@ var OpenAPIHono = class OpenAPIHono extends Hono {
131
134
  this.on([route.method], [route.path.replaceAll(/\/{(.+?)}/g, "/:$1")], ...middleware, ...validators, handler);
132
135
  return this;
133
136
  };
137
+ /**
138
+ * Register a list of routes with full Type Safety and RPC support.
139
+ * * @param inputs - An array of objects containing { route, handler, hook }.
140
+ * Must be defined `as const` or inline to preserve tuple types.
141
+ */
142
+ openapiRoutes = (inputs) => {
143
+ inputs.filter(({ addRoute }) => addRoute !== false).forEach(({ route, handler, hook }) => {
144
+ this.openapi(route, handler, hook);
145
+ });
146
+ return this;
147
+ };
134
148
  getOpenAPIDocument = (objectConfig, generatorConfig) => {
135
149
  const document = new OpenApiGeneratorV3(this.openAPIRegistry.definitions, generatorConfig).generateDocument(objectConfig);
136
150
  return this._basePath ? addBasePathToDocument(document, this._basePath) : document;
@@ -231,5 +245,5 @@ function isFormContentType(contentType) {
231
245
  }
232
246
 
233
247
  //#endregion
234
- export { $, OpenAPIHono, createRoute, extendZodWithOpenApi, z };
248
+ export { $, OpenAPIHono, createRoute, defineOpenAPIRoute, extendZodWithOpenApi, z };
235
249
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["validators: MiddlewareHandler[]","mw: MiddlewareHandler","e: any","errorIfNotExhaustive: never","updatedPaths: Record<string, any>"],"sources":["../src/zod-typeguard.ts","../src/index.ts"],"sourcesContent":["import type { ZodType as ZodTypeV3 } from 'zod/v3'\nimport type { ZodType as ZodTypeV4 } from 'zod/v4'\n\nfunction isObject(x: unknown): x is Record<string, unknown> {\n return typeof x === 'object' && x !== null\n}\n\nexport function isZod(x: unknown): x is ZodTypeV3 | ZodTypeV4 {\n if (!x) {\n return false\n }\n if (!isObject(x)) {\n return false\n }\n return (\n typeof x.parse === 'function' &&\n typeof x.safeParse === 'function' &&\n typeof x.parseAsync === 'function' &&\n typeof x.safeParseAsync === 'function'\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n RouteConfig as RouteConfigBase,\n ZodContentObject,\n ZodMediaTypeObject,\n ZodRequestBody,\n} from '@asteasolutions/zod-to-openapi'\nimport {\n OpenAPIRegistry,\n OpenApiGeneratorV3,\n OpenApiGeneratorV31,\n extendZodWithOpenApi,\n getOpenApiMetadata,\n} from '@asteasolutions/zod-to-openapi'\nimport { zValidator } from '@hono/zod-validator'\nimport { Hono } from 'hono'\nimport type {\n Context,\n Env,\n ErrorHandler,\n Handler,\n Input,\n MiddlewareHandler,\n NotFoundHandler,\n Schema,\n ToSchema,\n TypedResponse,\n ValidationTargets,\n} from 'hono'\nimport type { H, MergePath, MergeSchemaPath } from 'hono/types'\nimport type {\n ClientErrorStatusCode,\n InfoStatusCode,\n RedirectStatusCode,\n ServerErrorStatusCode,\n StatusCode,\n SuccessStatusCode,\n} from 'hono/utils/http-status'\nimport type { JSONParsed, RemoveBlankRecord } from 'hono/utils/types'\nimport { mergePath } from 'hono/utils/url'\nimport type { OpenAPIObject } from 'openapi3-ts/oas30'\nimport type { OpenAPIObject as OpenAPIV31bject } from 'openapi3-ts/oas31'\nimport type { ZodType, ZodError } from 'zod'\nimport { z } from 'zod'\nimport { isZod } from './zod-typeguard'\n\ntype MaybePromise<T> = Promise<T> | T\n\nexport type RouteConfig = RouteConfigBase & {\n middleware?: H | H[]\n hide?: boolean\n}\n\ntype RequestTypes = {\n body?: ZodRequestBody\n params?: ZodType\n query?: ZodType\n cookies?: ZodType\n headers?: ZodType | ZodType[]\n}\n\ntype IsJson<T> = T extends string\n ? T extends `application/${infer Start}json${infer _End}`\n ? Start extends '' | `${string}+` | `vnd.${string}+`\n ? 'json'\n : never\n : never\n : never\n\ntype IsForm<T> = T extends string\n ? T extends\n | `multipart/form-data${infer _Rest}`\n | `application/x-www-form-urlencoded${infer _Rest}`\n ? 'form'\n : never\n : never\n\ntype ReturnJsonOrTextOrResponse<\n ContentType,\n Content,\n Status extends keyof StatusCodeRangeDefinitions | StatusCode,\n> = ContentType extends string\n ? ContentType extends `application/${infer Start}json${infer _End}`\n ? Start extends '' | `${string}+` | `vnd.${string}+`\n ? TypedResponse<JSONParsed<Content>, ExtractStatusCode<Status>, 'json'>\n : never\n : ContentType extends `text/plain${infer _Rest}`\n ? TypedResponse<Content, ExtractStatusCode<Status>, 'text'>\n : Response\n : never\n\ntype RequestPart<R extends RouteConfig, Part extends string> = Part extends keyof R['request']\n ? R['request'][Part]\n : {}\n\ntype HasUndefined<T> = undefined extends T ? true : false\n\ntype InputTypeBase<\n R extends RouteConfig,\n Part extends string,\n Type extends keyof ValidationTargets,\n> = R['request'] extends RequestTypes\n ? RequestPart<R, Part> extends ZodType\n ? {\n in: {\n [K in Type]: HasUndefined<ValidationTargets[K]> extends true\n ? {\n [K2 in keyof z.input<RequestPart<R, Part>>]?: z.input<RequestPart<R, Part>>[K2]\n }\n : {\n [K2 in keyof z.input<RequestPart<R, Part>>]: z.input<RequestPart<R, Part>>[K2]\n }\n }\n out: { [K in Type]: z.output<RequestPart<R, Part>> }\n }\n : {}\n : {}\n\ntype InputTypeJson<R extends RouteConfig> = R['request'] extends RequestTypes\n ? R['request']['body'] extends ZodRequestBody\n ? R['request']['body']['content'] extends ZodContentObject\n ? IsJson<keyof R['request']['body']['content']> extends never\n ? {}\n : R['request']['body']['content'][keyof R['request']['body']['content']] extends Record<\n 'schema',\n ZodType<any>\n >\n ? {\n in: {\n json: z.input<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n out: {\n json: z.output<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n }\n : {}\n : {}\n : {}\n : {}\n\ntype InputTypeForm<R extends RouteConfig> = R['request'] extends RequestTypes\n ? R['request']['body'] extends ZodRequestBody\n ? R['request']['body']['content'] extends ZodContentObject\n ? IsForm<keyof R['request']['body']['content']> extends never\n ? {}\n : R['request']['body']['content'][keyof R['request']['body']['content']] extends Record<\n 'schema',\n ZodType<any>\n >\n ? {\n in: {\n form: z.input<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n out: {\n form: z.output<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n }\n : {}\n : {}\n : {}\n : {}\n\ntype InputTypeParam<R extends RouteConfig> = InputTypeBase<R, 'params', 'param'>\ntype InputTypeQuery<R extends RouteConfig> = InputTypeBase<R, 'query', 'query'>\ntype InputTypeHeader<R extends RouteConfig> = InputTypeBase<R, 'headers', 'header'>\ntype InputTypeCookie<R extends RouteConfig> = InputTypeBase<R, 'cookies', 'cookie'>\n\ntype ExtractContent<T> = T extends {\n [K in keyof T]: infer A\n}\n ? A extends Record<'schema', ZodType>\n ? z.infer<A['schema']>\n : never\n : never\n\ntype StatusCodeRangeDefinitions = {\n '1XX': InfoStatusCode\n '2XX': SuccessStatusCode\n '3XX': RedirectStatusCode\n '4XX': ClientErrorStatusCode\n '5XX': ServerErrorStatusCode\n}\ntype RouteConfigStatusCode = keyof StatusCodeRangeDefinitions | StatusCode\ntype ExtractStatusCode<T extends RouteConfigStatusCode> = T extends keyof StatusCodeRangeDefinitions\n ? StatusCodeRangeDefinitions[T]\n : T\ntype DefinedStatusCodes<R extends RouteConfig> = keyof R['responses'] & RouteConfigStatusCode\nexport type RouteConfigToTypedResponse<R extends RouteConfig> =\n | {\n [Status in DefinedStatusCodes<R>]: R['responses'][Status] extends { content: infer Content }\n ? undefined extends Content\n ? never\n : ReturnJsonOrTextOrResponse<\n keyof R['responses'][Status]['content'],\n ExtractContent<R['responses'][Status]['content']>,\n Status\n >\n : TypedResponse<{}, ExtractStatusCode<Status>, string>\n }[DefinedStatusCodes<R>]\n | ('default' extends keyof R['responses']\n ? R['responses']['default'] extends { content: infer Content }\n ? undefined extends Content\n ? never\n : ReturnJsonOrTextOrResponse<\n keyof Content,\n ExtractContent<Content>,\n Exclude<StatusCode, ExtractStatusCode<DefinedStatusCodes<R>>>\n >\n : TypedResponse<{}, Exclude<StatusCode, ExtractStatusCode<DefinedStatusCodes<R>>>, string>\n : never)\n\nexport type Hook<T, E extends Env, P extends string, R> = (\n result: { target: keyof ValidationTargets } & (\n | {\n success: true\n data: T\n }\n | {\n success: false\n error: ZodError\n }\n ),\n c: Context<E, P>\n) => R\n\ntype ConvertPathType<T extends string> = T extends `${infer Start}/{${infer Param}}${infer Rest}`\n ? `${Start}/:${Param}${ConvertPathType<Rest>}`\n : T\n\nexport type OpenAPIHonoOptions<E extends Env> = {\n defaultHook?: Hook<any, E, any, any>\n}\ntype HonoInit<E extends Env> = ConstructorParameters<typeof Hono>[0] & OpenAPIHonoOptions<E>\n\n/**\n * Turns `T | T[] | undefined` into `T[]`\n */\ntype AsArray<T> = T extends undefined // TODO move to utils?\n ? []\n : T extends any[]\n ? T\n : [T]\n\n/**\n * Like simplify but recursive\n */\nexport type DeepSimplify<T> = {\n // TODO move to utils?\n [KeyType in keyof T]: T[KeyType] extends Record<string, unknown>\n ? DeepSimplify<T[KeyType]>\n : T[KeyType]\n} & {}\n\n/**\n * Helper to infer generics from {@link MiddlewareHandler}\n */\nexport type OfHandlerType<T extends MiddlewareHandler> =\n T extends MiddlewareHandler<infer E, infer P, infer I>\n ? {\n env: E\n path: P\n input: I\n }\n : never\n\n/**\n * Reduce a tuple of middleware handlers into a single\n * handler representing the composition of all\n * handlers.\n */\nexport type MiddlewareToHandlerType<M extends MiddlewareHandler<any, any, any>[]> = M extends [\n infer First,\n infer Second,\n ...infer Rest,\n]\n ? First extends MiddlewareHandler<any, any, any>\n ? Second extends MiddlewareHandler<any, any, any>\n ? Rest extends MiddlewareHandler<any, any, any>[] // Ensure Rest is an array of MiddlewareHandler\n ? MiddlewareToHandlerType<\n [\n MiddlewareHandler<\n DeepSimplify<OfHandlerType<First>['env'] & OfHandlerType<Second>['env']>, // Combine envs\n OfHandlerType<First>['path'], // Keep path from First\n OfHandlerType<First>['input'] // Keep input from First\n >,\n ...Rest,\n ]\n >\n : never\n : never\n : never\n : M extends [infer Last]\n ? Last // Return the last remaining handler in the array\n : MiddlewareHandler<Env>\n\ntype RouteMiddlewareParams<R extends RouteConfig> = OfHandlerType<\n MiddlewareToHandlerType<AsArray<R['middleware']>>\n>\n\nexport type RouteConfigToEnv<R extends RouteConfig> =\n RouteMiddlewareParams<R> extends never ? Env : RouteMiddlewareParams<R>['env']\n\nexport type RouteHandler<\n R extends RouteConfig,\n E extends Env = RouteConfigToEnv<R>,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n> = Handler<\n E,\n P,\n I,\n // If response type is defined, only TypedResponse is allowed.\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>>\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response>\n>\n\nexport type RouteHook<\n R extends RouteConfig,\n E extends Env = RouteConfigToEnv<R>,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n> = Hook<\n I,\n E,\n P,\n RouteConfigToTypedResponse<R> | Response | Promise<Response> | void | Promise<void>\n>\n\ntype OpenAPIObjectConfig = Parameters<\n InstanceType<typeof OpenApiGeneratorV3>['generateDocument']\n>[0]\n\nexport type OpenAPIObjectConfigure<E extends Env, P extends string> =\n | OpenAPIObjectConfig\n | ((context: Context<E, P>) => OpenAPIObjectConfig)\n\nexport type OpenAPIGeneratorOptions = ConstructorParameters<typeof OpenApiGeneratorV3>[1]\n\nexport type OpenAPIGeneratorConfigure<E extends Env, P extends string> =\n | OpenAPIGeneratorOptions\n | ((context: Context<E, P>) => OpenAPIGeneratorOptions)\n\n/**\n * Utility type to convert Hono types to OpenAPIHono types.\n * Replaces Hono return types with OpenAPIHono in function signatures.\n *\n * @example\n * ```ts\n * type MyOpenAPIHono = HonoToOpenAPIHono<Hono<Env>>\n * ```\n */\nexport type HonoToOpenAPIHono<T> =\n T extends Hono<infer E, infer S, infer B> ? OpenAPIHono<E, S, B> : T\n\n/**\n * Converts a Hono instance to OpenAPIHono type.\n * Use this function to restore the OpenAPIHono type after chaining methods like `get`, `post`, `use`, etc.\n * @example\n * ```ts\n * import { OpenAPIHono, $ } from '@hono/zod-openapi'\n *\n * const app = $(\n * new OpenAPIHono().use(middleware)\n * )\n * app.openapi(route, handler)\n * ```\n */\nexport const $ = <T extends Hono<any, any, any>>(app: T): HonoToOpenAPIHono<T> => {\n return app as HonoToOpenAPIHono<T>\n}\n\nexport class OpenAPIHono<\n E extends Env = Env,\n S extends Schema = {},\n BasePath extends string = '/',\n> extends Hono<E, S, BasePath> {\n openAPIRegistry: OpenAPIRegistry\n defaultHook?: OpenAPIHonoOptions<E>['defaultHook']\n\n constructor(init?: HonoInit<E>) {\n super(init)\n this.openAPIRegistry = new OpenAPIRegistry()\n this.defaultHook = init?.defaultHook\n }\n\n /**\n *\n * @param {RouteConfig} route - The route definition which you create with `createRoute()`.\n * @param {Handler} handler - The handler. If you want to return a JSON object, you should specify the status code with `c.json()`.\n * @param {Hook} hook - Optional. The hook method defines what it should do after validation.\n * @example\n * app.openapi(\n * route,\n * (c) => {\n * // ...\n * return c.json(\n * {\n * age: 20,\n * name: 'Young man',\n * },\n * 200 // You should specify the status code even if it's 200.\n * )\n * },\n * (result, c) => {\n * if (!result.success) {\n * return c.json(\n * {\n * code: 400,\n * message: 'Custom Message',\n * },\n * 400\n * )\n * }\n * }\n *)\n */\n openapi = <\n R extends RouteConfig,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n >(\n { middleware: routeMiddleware, hide, ...route }: R,\n handler: Handler<\n // use the env from the middleware if it's defined\n R['middleware'] extends MiddlewareHandler[] | MiddlewareHandler\n ? RouteMiddlewareParams<R>['env'] & E\n : E,\n P,\n I,\n // If response type is defined, only TypedResponse is allowed.\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>>\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response>\n >,\n hook:\n | Hook<\n I,\n E,\n P,\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>> | undefined\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response> | undefined\n >\n | undefined = this.defaultHook\n ): OpenAPIHono<\n E,\n S & ToSchema<R['method'], MergePath<BasePath, P>, I, RouteConfigToTypedResponse<R>>,\n BasePath\n > => {\n if (!hide) {\n this.openAPIRegistry.registerPath(route)\n }\n\n const validators: MiddlewareHandler[] = []\n\n if (route.request?.query) {\n const validator = zValidator('query', route.request.query as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.params) {\n const validator = zValidator('param', route.request.params as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.headers) {\n const validator = zValidator('header', route.request.headers as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.cookies) {\n const validator = zValidator('cookie', route.request.cookies as any, hook as any)\n validators.push(validator as any)\n }\n\n const bodyContent = route.request?.body?.content\n\n if (bodyContent) {\n for (const mediaType of Object.keys(bodyContent)) {\n if (!bodyContent[mediaType]) {\n continue\n }\n const schema = (bodyContent[mediaType] as ZodMediaTypeObject)['schema']\n if (!isZod(schema)) {\n continue\n }\n if (isJSONContentType(mediaType)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore we can ignore the type error since Zod Validator's types are not used\n const validator = zValidator('json', schema, hook) as MiddlewareHandler\n if (route.request?.body?.required) {\n validators.push(validator)\n } else {\n const mw: MiddlewareHandler = async (c, next) => {\n if (c.req.header('content-type')) {\n if (isJSONContentType(c.req.header('content-type')!)) {\n return await validator(c, next)\n }\n }\n c.req.addValidatedData('json', {})\n await next()\n }\n validators.push(mw)\n }\n }\n if (isFormContentType(mediaType)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore we can ignore the type error since Zod Validator's types are not used\n const validator = zValidator('form', schema, hook) as MiddlewareHandler\n if (route.request?.body?.required) {\n validators.push(validator)\n } else {\n const mw: MiddlewareHandler = async (c, next) => {\n if (c.req.header('content-type')) {\n if (isFormContentType(c.req.header('content-type')!)) {\n return await validator(c, next)\n }\n }\n c.req.addValidatedData('form', {})\n await next()\n }\n validators.push(mw)\n }\n }\n }\n }\n\n const middleware = routeMiddleware\n ? Array.isArray(routeMiddleware)\n ? routeMiddleware\n : [routeMiddleware]\n : []\n\n this.on(\n [route.method],\n [route.path.replaceAll(/\\/{(.+?)}/g, '/:$1')],\n ...middleware,\n ...validators,\n handler\n )\n return this\n }\n\n getOpenAPIDocument = (\n objectConfig: OpenAPIObjectConfig,\n generatorConfig?: OpenAPIGeneratorOptions\n ): OpenAPIObject => {\n const generator = new OpenApiGeneratorV3(this.openAPIRegistry.definitions, generatorConfig)\n const document = generator.generateDocument(objectConfig)\n // @ts-expect-error the _basePath is a private property\n return this._basePath ? addBasePathToDocument(document, this._basePath) : document\n }\n\n getOpenAPI31Document = (\n objectConfig: OpenAPIObjectConfig,\n generatorConfig?: OpenAPIGeneratorOptions\n ): OpenAPIV31bject => {\n const generator = new OpenApiGeneratorV31(this.openAPIRegistry.definitions, generatorConfig)\n const document = generator.generateDocument(objectConfig)\n // @ts-expect-error the _basePath is a private property\n return this._basePath ? addBasePathToDocument(document, this._basePath) : document\n }\n\n doc = <P extends string>(\n path: P,\n configureObject: OpenAPIObjectConfigure<E, P>,\n configureGenerator?: OpenAPIGeneratorConfigure<E, P>\n ): OpenAPIHono<E, S & ToSchema<'get', MergePath<BasePath, P>, {}, {}>, BasePath> => {\n return this.get(path, (c) => {\n const objectConfig =\n typeof configureObject === 'function' ? configureObject(c) : configureObject\n const generatorConfig =\n typeof configureGenerator === 'function' ? configureGenerator(c) : configureGenerator\n try {\n const document = this.getOpenAPIDocument(objectConfig, generatorConfig)\n return c.json(document)\n } catch (e: any) {\n return c.json(e, 500)\n }\n }) as any\n }\n\n doc31 = <P extends string>(\n path: P,\n configureObject: OpenAPIObjectConfigure<E, P>,\n configureGenerator?: OpenAPIGeneratorConfigure<E, P>\n ): OpenAPIHono<E, S & ToSchema<'get', MergePath<BasePath, P>, {}, {}>, BasePath> => {\n return this.get(path, (c) => {\n const objectConfig =\n typeof configureObject === 'function' ? configureObject(c) : configureObject\n const generatorConfig =\n typeof configureGenerator === 'function' ? configureGenerator(c) : configureGenerator\n try {\n const document = this.getOpenAPI31Document(objectConfig, generatorConfig)\n return c.json(document)\n } catch (e: any) {\n return c.json(e, 500)\n }\n }) as any\n }\n\n route<\n SubPath extends string,\n SubEnv extends Env,\n SubSchema extends Schema,\n SubBasePath extends string,\n >(\n path: SubPath,\n app: Hono<SubEnv, SubSchema, SubBasePath>\n ): OpenAPIHono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> & S, BasePath>\n route<SubPath extends string>(path: SubPath): Hono<E, RemoveBlankRecord<S>, BasePath>\n route<\n SubPath extends string,\n SubEnv extends Env,\n SubSchema extends Schema,\n SubBasePath extends string,\n >(\n path: SubPath,\n app?: Hono<SubEnv, SubSchema, SubBasePath>\n ): OpenAPIHono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> & S, BasePath> {\n const pathForOpenAPI = path.replaceAll(/:([^\\/]+)/g, '{$1}')\n super.route(path, app as any)\n\n if (!(app instanceof OpenAPIHono)) {\n return this as any\n }\n\n app.openAPIRegistry.definitions.forEach((def) => {\n switch (def.type) {\n case 'component':\n return this.openAPIRegistry.registerComponent(def.componentType, def.name, def.component)\n\n case 'route': {\n this.openAPIRegistry.registerPath({\n ...def.route,\n path: mergePath(\n pathForOpenAPI,\n // @ts-expect-error _basePath is private\n app._basePath.replaceAll(/:([^\\/]+)/g, '{$1}'),\n def.route.path\n ),\n })\n return\n }\n\n case 'webhook': {\n this.openAPIRegistry.registerWebhook({\n ...def.webhook,\n path: mergePath(\n pathForOpenAPI,\n // @ts-expect-error _basePath is private\n app._basePath.replaceAll(/:([^\\/]+)/g, '{$1}'),\n def.webhook.path\n ),\n })\n return\n }\n\n case 'schema':\n return this.openAPIRegistry.register(\n getOpenApiMetadata(def.schema)._internal?.refId,\n def.schema\n )\n\n case 'parameter':\n return this.openAPIRegistry.registerParameter(\n getOpenApiMetadata(def.schema)._internal?.refId,\n def.schema\n )\n\n default: {\n const errorIfNotExhaustive: never = def\n throw new Error(`Unknown registry type: ${errorIfNotExhaustive}`)\n }\n }\n })\n\n return this as any\n }\n\n basePath<SubPath extends string>(path: SubPath): OpenAPIHono<E, S, MergePath<BasePath, SubPath>> {\n return new OpenAPIHono({ ...(super.basePath(path) as any), defaultHook: this.defaultHook })\n }\n\n // Type overrides to return OpenAPIHono instead of Hono\n declare onError: (handler: ErrorHandler<E>) => OpenAPIHono<E, S, BasePath>\n declare notFound: (handler: NotFoundHandler<E>) => OpenAPIHono<E, S, BasePath>\n}\n\ntype RoutingPath<P extends string> = P extends `${infer Head}/{${infer Param}}${infer Tail}`\n ? `${Head}/:${Param}${RoutingPath<Tail>}`\n : P\n\nexport const createRoute = <P extends string, R extends Omit<RouteConfig, 'path'> & { path: P }>(\n routeConfig: R\n): R & {\n getRoutingPath(): RoutingPath<R['path']>\n} => {\n const route = {\n ...routeConfig,\n getRoutingPath(): RoutingPath<R['path']> {\n return routeConfig.path.replaceAll(/\\/{(.+?)}/g, '/:$1') as RoutingPath<P>\n },\n }\n return Object.defineProperty(route, 'getRoutingPath', { enumerable: false })\n}\n\nextendZodWithOpenApi(z)\nexport { extendZodWithOpenApi, z }\n\nfunction addBasePathToDocument(document: Record<string, any>, basePath: string) {\n const updatedPaths: Record<string, any> = {}\n\n Object.keys(document.paths).forEach((path) => {\n updatedPaths[mergePath(basePath.replaceAll(/:([^\\/]+)/g, '{$1}'), path)] = document.paths[path]\n })\n\n return {\n ...document,\n paths: updatedPaths,\n }\n}\n\nfunction isJSONContentType(contentType: string) {\n return /^application\\/([a-z-\\.]+\\+)?json/.test(contentType)\n}\n\nfunction isFormContentType(contentType: string) {\n return (\n contentType.startsWith('multipart/form-data') ||\n contentType.startsWith('application/x-www-form-urlencoded')\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["validators: MiddlewareHandler[]","mw: MiddlewareHandler","e: any","errorIfNotExhaustive: never","updatedPaths: Record<string, any>"],"sources":["../src/zod-typeguard.ts","../src/index.ts"],"sourcesContent":["import type { ZodType as ZodTypeV3 } from 'zod/v3'\nimport type { ZodType as ZodTypeV4 } from 'zod/v4'\n\nfunction isObject(x: unknown): x is Record<string, unknown> {\n return typeof x === 'object' && x !== null\n}\n\nexport function isZod(x: unknown): x is ZodTypeV3 | ZodTypeV4 {\n if (!x) {\n return false\n }\n if (!isObject(x)) {\n return false\n }\n return (\n typeof x.parse === 'function' &&\n typeof x.safeParse === 'function' &&\n typeof x.parseAsync === 'function' &&\n typeof x.safeParseAsync === 'function'\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n RouteConfig as RouteConfigBase,\n ZodContentObject,\n ZodMediaTypeObject,\n ZodRequestBody,\n} from '@asteasolutions/zod-to-openapi'\nimport {\n OpenAPIRegistry,\n OpenApiGeneratorV3,\n OpenApiGeneratorV31,\n extendZodWithOpenApi,\n getOpenApiMetadata,\n} from '@asteasolutions/zod-to-openapi'\nimport { zValidator } from '@hono/zod-validator'\nimport { Hono } from 'hono'\nimport type {\n Context,\n Env,\n ErrorHandler,\n Handler,\n Input,\n MiddlewareHandler,\n NotFoundHandler,\n Schema,\n ToSchema,\n TypedResponse,\n ValidationTargets,\n} from 'hono'\nimport type { H, MergePath, MergeSchemaPath } from 'hono/types'\nimport type {\n ClientErrorStatusCode,\n InfoStatusCode,\n RedirectStatusCode,\n ServerErrorStatusCode,\n StatusCode,\n SuccessStatusCode,\n} from 'hono/utils/http-status'\nimport type { JSONParsed, RemoveBlankRecord } from 'hono/utils/types'\nimport { mergePath } from 'hono/utils/url'\nimport type { OpenAPIObject } from 'openapi3-ts/oas30'\nimport type { OpenAPIObject as OpenAPIV31bject } from 'openapi3-ts/oas31'\nimport type { ZodType, ZodError } from 'zod'\nimport { z } from 'zod'\nimport { isZod } from './zod-typeguard'\n\ntype MaybePromise<T> = Promise<T> | T\n\nexport type RouteConfig = RouteConfigBase & {\n middleware?: H | H[]\n hide?: boolean\n}\n\ntype RequestTypes = {\n body?: ZodRequestBody\n params?: ZodType\n query?: ZodType\n cookies?: ZodType\n headers?: ZodType | ZodType[]\n}\n\ntype IsJson<T> = T extends string\n ? T extends `application/${infer Start}json${infer _End}`\n ? Start extends '' | `${string}+` | `vnd.${string}+`\n ? 'json'\n : never\n : never\n : never\n\ntype IsForm<T> = T extends string\n ? T extends\n | `multipart/form-data${infer _Rest}`\n | `application/x-www-form-urlencoded${infer _Rest}`\n ? 'form'\n : never\n : never\n\ntype ReturnJsonOrTextOrResponse<\n ContentType,\n Content,\n Status extends keyof StatusCodeRangeDefinitions | StatusCode,\n> = ContentType extends string\n ? ContentType extends `application/${infer Start}json${infer _End}`\n ? Start extends '' | `${string}+` | `vnd.${string}+`\n ? TypedResponse<JSONParsed<Content>, ExtractStatusCode<Status>, 'json'>\n : never\n : ContentType extends `text/plain${infer _Rest}`\n ? TypedResponse<Content, ExtractStatusCode<Status>, 'text'>\n : Response\n : never\n\ntype RequestPart<R extends RouteConfig, Part extends string> = Part extends keyof R['request']\n ? R['request'][Part]\n : {}\n\ntype HasUndefined<T> = undefined extends T ? true : false\n\ntype InputTypeBase<\n R extends RouteConfig,\n Part extends string,\n Type extends keyof ValidationTargets,\n> = R['request'] extends RequestTypes\n ? RequestPart<R, Part> extends ZodType\n ? {\n in: {\n [K in Type]: HasUndefined<ValidationTargets[K]> extends true\n ? {\n [K2 in keyof z.input<RequestPart<R, Part>>]?: z.input<RequestPart<R, Part>>[K2]\n }\n : {\n [K2 in keyof z.input<RequestPart<R, Part>>]: z.input<RequestPart<R, Part>>[K2]\n }\n }\n out: { [K in Type]: z.output<RequestPart<R, Part>> }\n }\n : {}\n : {}\n\ntype InputTypeJson<R extends RouteConfig> = R['request'] extends RequestTypes\n ? R['request']['body'] extends ZodRequestBody\n ? R['request']['body']['content'] extends ZodContentObject\n ? IsJson<keyof R['request']['body']['content']> extends never\n ? {}\n : R['request']['body']['content'][keyof R['request']['body']['content']] extends Record<\n 'schema',\n ZodType<any>\n >\n ? {\n in: {\n json: z.input<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n out: {\n json: z.output<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n }\n : {}\n : {}\n : {}\n : {}\n\ntype InputTypeForm<R extends RouteConfig> = R['request'] extends RequestTypes\n ? R['request']['body'] extends ZodRequestBody\n ? R['request']['body']['content'] extends ZodContentObject\n ? IsForm<keyof R['request']['body']['content']> extends never\n ? {}\n : R['request']['body']['content'][keyof R['request']['body']['content']] extends Record<\n 'schema',\n ZodType<any>\n >\n ? {\n in: {\n form: z.input<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n out: {\n form: z.output<\n R['request']['body']['content'][keyof R['request']['body']['content']]['schema']\n >\n }\n }\n : {}\n : {}\n : {}\n : {}\n\ntype InputTypeParam<R extends RouteConfig> = InputTypeBase<R, 'params', 'param'>\ntype InputTypeQuery<R extends RouteConfig> = InputTypeBase<R, 'query', 'query'>\ntype InputTypeHeader<R extends RouteConfig> = InputTypeBase<R, 'headers', 'header'>\ntype InputTypeCookie<R extends RouteConfig> = InputTypeBase<R, 'cookies', 'cookie'>\n\ntype ExtractContent<T> = T extends {\n [K in keyof T]: infer A\n}\n ? A extends Record<'schema', ZodType>\n ? z.infer<A['schema']>\n : never\n : never\n\ntype StatusCodeRangeDefinitions = {\n '1XX': InfoStatusCode\n '2XX': SuccessStatusCode\n '3XX': RedirectStatusCode\n '4XX': ClientErrorStatusCode\n '5XX': ServerErrorStatusCode\n}\ntype RouteConfigStatusCode = keyof StatusCodeRangeDefinitions | StatusCode\ntype ExtractStatusCode<T extends RouteConfigStatusCode> = T extends keyof StatusCodeRangeDefinitions\n ? StatusCodeRangeDefinitions[T]\n : T\ntype DefinedStatusCodes<R extends RouteConfig> = keyof R['responses'] & RouteConfigStatusCode\nexport type RouteConfigToTypedResponse<R extends RouteConfig> =\n | {\n [Status in DefinedStatusCodes<R>]: R['responses'][Status] extends { content: infer Content }\n ? undefined extends Content\n ? never\n : ReturnJsonOrTextOrResponse<\n keyof R['responses'][Status]['content'],\n ExtractContent<R['responses'][Status]['content']>,\n Status\n >\n : TypedResponse<{}, ExtractStatusCode<Status>, string>\n }[DefinedStatusCodes<R>]\n | ('default' extends keyof R['responses']\n ? R['responses']['default'] extends { content: infer Content }\n ? undefined extends Content\n ? never\n : ReturnJsonOrTextOrResponse<\n keyof Content,\n ExtractContent<Content>,\n Exclude<StatusCode, ExtractStatusCode<DefinedStatusCodes<R>>>\n >\n : TypedResponse<{}, Exclude<StatusCode, ExtractStatusCode<DefinedStatusCodes<R>>>, string>\n : never)\n\nexport type Hook<T, E extends Env, P extends string, R> = (\n result: { target: keyof ValidationTargets } & (\n | {\n success: true\n data: T\n }\n | {\n success: false\n error: ZodError\n }\n ),\n c: Context<E, P>\n) => R\n\ntype ConvertPathType<T extends string> = T extends `${infer Start}/{${infer Param}}${infer Rest}`\n ? `${Start}/:${Param}${ConvertPathType<Rest>}`\n : T\n\nexport type OpenAPIHonoOptions<E extends Env> = {\n defaultHook?: Hook<any, E, any, any>\n}\ntype HonoInit<E extends Env> = ConstructorParameters<typeof Hono>[0] & OpenAPIHonoOptions<E>\n\n/**\n * Turns `T | T[] | undefined` into `T[]`\n */\ntype AsArray<T> = T extends undefined // TODO move to utils?\n ? []\n : T extends any[]\n ? T\n : [T]\n\n/**\n * Like simplify but recursive\n */\nexport type DeepSimplify<T> = {\n // TODO move to utils?\n [KeyType in keyof T]: T[KeyType] extends Record<string, unknown>\n ? DeepSimplify<T[KeyType]>\n : T[KeyType]\n} & {}\n\n/**\n * Helper to infer generics from {@link MiddlewareHandler}\n */\nexport type OfHandlerType<T extends MiddlewareHandler> =\n T extends MiddlewareHandler<infer E, infer P, infer I>\n ? {\n env: E\n path: P\n input: I\n }\n : never\n\n/**\n * Reduce a tuple of middleware handlers into a single\n * handler representing the composition of all\n * handlers.\n */\nexport type MiddlewareToHandlerType<M extends MiddlewareHandler<any, any, any>[]> = M extends [\n infer First,\n infer Second,\n ...infer Rest,\n]\n ? First extends MiddlewareHandler<any, any, any>\n ? Second extends MiddlewareHandler<any, any, any>\n ? Rest extends MiddlewareHandler<any, any, any>[] // Ensure Rest is an array of MiddlewareHandler\n ? MiddlewareToHandlerType<\n [\n MiddlewareHandler<\n DeepSimplify<OfHandlerType<First>['env'] & OfHandlerType<Second>['env']>, // Combine envs\n OfHandlerType<First>['path'], // Keep path from First\n OfHandlerType<First>['input'] // Keep input from First\n >,\n ...Rest,\n ]\n >\n : never\n : never\n : never\n : M extends [infer Last]\n ? Last // Return the last remaining handler in the array\n : MiddlewareHandler<Env>\n\ntype RouteMiddlewareParams<R extends RouteConfig> = OfHandlerType<\n MiddlewareToHandlerType<AsArray<R['middleware']>>\n>\n\nexport type RouteConfigToEnv<R extends RouteConfig> =\n RouteMiddlewareParams<R> extends never ? Env : RouteMiddlewareParams<R>['env']\n\nexport type RouteHandler<\n R extends RouteConfig,\n E extends Env = RouteConfigToEnv<R>,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n> = Handler<\n E,\n P,\n I,\n // If response type is defined, only TypedResponse is allowed.\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>>\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response>\n>\n\nexport type RouteHook<\n R extends RouteConfig,\n E extends Env = RouteConfigToEnv<R>,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n> = Hook<\n I,\n E,\n P,\n RouteConfigToTypedResponse<R> | Response | Promise<Response> | void | Promise<void>\n>\n\ntype OpenAPIObjectConfig = Parameters<\n InstanceType<typeof OpenApiGeneratorV3>['generateDocument']\n>[0]\n\nexport type OpenAPIObjectConfigure<E extends Env, P extends string> =\n | OpenAPIObjectConfig\n | ((context: Context<E, P>) => OpenAPIObjectConfig)\n\nexport type OpenAPIGeneratorOptions = ConstructorParameters<typeof OpenApiGeneratorV3>[1]\n\nexport type OpenAPIGeneratorConfigure<E extends Env, P extends string> =\n | OpenAPIGeneratorOptions\n | ((context: Context<E, P>) => OpenAPIGeneratorOptions)\n\n/**\n * Utility type to convert Hono types to OpenAPIHono types.\n * Replaces Hono return types with OpenAPIHono in function signatures.\n *\n * @example\n * ```ts\n * type MyOpenAPIHono = HonoToOpenAPIHono<Hono<Env>>\n * ```\n */\nexport type HonoToOpenAPIHono<T> =\n T extends Hono<infer E, infer S, infer B> ? OpenAPIHono<E, S, B> : T\n\n/**\n * Converts a Hono instance to OpenAPIHono type.\n * Use this function to restore the OpenAPIHono type after chaining methods like `get`, `post`, `use`, etc.\n * @example\n * ```ts\n * import { OpenAPIHono, $ } from '@hono/zod-openapi'\n *\n * const app = $(\n * new OpenAPIHono().use(middleware)\n * )\n * app.openapi(route, handler)\n * ```\n */\nexport const $ = <T extends Hono<any, any, any>>(app: T): HonoToOpenAPIHono<T> => {\n return app as HonoToOpenAPIHono<T>\n}\n\n// Helper: Consolidate all Input types (Query, Param, Json, etc.)\ntype ComputeInput<R extends RouteConfig> = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>\n\n// Helper: Calculate the expected Handler type for a specific RouteConfig\ntype HandlerFromRoute<R extends RouteConfig, E extends Env> = Handler<\n E,\n ConvertPathType<R['path']>,\n ComputeInput<R>,\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>>\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response>\n>\n\ntype HookFromRoute<R extends RouteConfig, E extends Env> =\n | Hook<\n ComputeInput<R>,\n E,\n ConvertPathType<R['path']>,\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>> | undefined\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response> | undefined\n >\n | undefined\n\n// Recursive Helper: Merge Schemas for the Return Type\ntype SchemaFromRoutes<\n Routes extends readonly { route: RouteConfig; addRoute?: boolean }[],\n BasePath extends string,\n> = Routes extends readonly [infer Head, ...infer Tail]\n ? Head extends { route: infer R extends RouteConfig; addRoute?: infer AddRoute }\n ? ([AddRoute] extends [false]\n ? {}\n : ToSchema<\n R['method'],\n MergePath<BasePath, ConvertPathType<R['path']>>,\n ComputeInput<R>,\n RouteConfigToTypedResponse<R>\n >) &\n SchemaFromRoutes<\n Tail extends readonly { route: RouteConfig; addRoute?: boolean }[] ? Tail : [],\n BasePath\n >\n : {}\n : {}\n\nexport type OpenAPIRoute<\n R extends RouteConfig = RouteConfig,\n E extends Env = Env,\n AddRoute extends boolean | undefined = boolean | undefined,\n> = {\n route: R\n handler: HandlerFromRoute<R, E>\n hook?: HookFromRoute<R, E>\n addRoute?: AddRoute\n}\n\nexport const defineOpenAPIRoute = <\n R extends RouteConfig,\n E extends Env = Env,\n const AddRoute extends boolean | undefined = undefined,\n>(\n def: OpenAPIRoute<R, E, AddRoute>\n): OpenAPIRoute<R, E, AddRoute> => {\n return def\n}\n\nexport class OpenAPIHono<\n E extends Env = Env,\n S extends Schema = {},\n BasePath extends string = '/',\n> extends Hono<E, S, BasePath> {\n openAPIRegistry: OpenAPIRegistry\n defaultHook?: OpenAPIHonoOptions<E>['defaultHook']\n\n constructor(init?: HonoInit<E>) {\n super(init)\n this.openAPIRegistry = new OpenAPIRegistry()\n this.defaultHook = init?.defaultHook\n }\n\n /**\n *\n * @param {RouteConfig} route - The route definition which you create with `createRoute()`.\n * @param {Handler} handler - The handler. If you want to return a JSON object, you should specify the status code with `c.json()`.\n * @param {Hook} hook - Optional. The hook method defines what it should do after validation.\n * @example\n * app.openapi(\n * route,\n * (c) => {\n * // ...\n * return c.json(\n * {\n * age: 20,\n * name: 'Young man',\n * },\n * 200 // You should specify the status code even if it's 200.\n * )\n * },\n * (result, c) => {\n * if (!result.success) {\n * return c.json(\n * {\n * code: 400,\n * message: 'Custom Message',\n * },\n * 400\n * )\n * }\n * }\n *)\n */\n openapi = <\n R extends RouteConfig,\n I extends Input = InputTypeParam<R> &\n InputTypeQuery<R> &\n InputTypeHeader<R> &\n InputTypeCookie<R> &\n InputTypeForm<R> &\n InputTypeJson<R>,\n P extends string = ConvertPathType<R['path']>,\n >(\n { middleware: routeMiddleware, hide, ...route }: R,\n handler: Handler<\n // use the env from the middleware if it's defined\n R['middleware'] extends MiddlewareHandler[] | MiddlewareHandler\n ? RouteMiddlewareParams<R>['env'] & E\n : E,\n P,\n I,\n // If response type is defined, only TypedResponse is allowed.\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>>\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response>\n >,\n hook:\n | Hook<\n I,\n E,\n P,\n R extends {\n responses: {\n [statusCode: number]: {\n content: {\n [mediaType: string]: ZodMediaTypeObject\n }\n }\n }\n }\n ? MaybePromise<RouteConfigToTypedResponse<R>> | undefined\n : MaybePromise<RouteConfigToTypedResponse<R>> | MaybePromise<Response> | undefined\n >\n | undefined = this.defaultHook\n ): OpenAPIHono<\n E,\n S & ToSchema<R['method'], MergePath<BasePath, P>, I, RouteConfigToTypedResponse<R>>,\n BasePath\n > => {\n if (!hide) {\n this.openAPIRegistry.registerPath(route)\n }\n\n const validators: MiddlewareHandler[] = []\n\n if (route.request?.query) {\n const validator = zValidator('query', route.request.query as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.params) {\n const validator = zValidator('param', route.request.params as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.headers) {\n const validator = zValidator('header', route.request.headers as any, hook as any)\n validators.push(validator as any)\n }\n\n if (route.request?.cookies) {\n const validator = zValidator('cookie', route.request.cookies as any, hook as any)\n validators.push(validator as any)\n }\n\n const bodyContent = route.request?.body?.content\n\n if (bodyContent) {\n for (const mediaType of Object.keys(bodyContent)) {\n if (!bodyContent[mediaType]) {\n continue\n }\n const schema = (bodyContent[mediaType] as ZodMediaTypeObject)['schema']\n if (!isZod(schema)) {\n continue\n }\n if (isJSONContentType(mediaType)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore we can ignore the type error since Zod Validator's types are not used\n const validator = zValidator('json', schema, hook) as MiddlewareHandler\n if (route.request?.body?.required) {\n validators.push(validator)\n } else {\n const mw: MiddlewareHandler = async (c, next) => {\n if (c.req.header('content-type')) {\n if (isJSONContentType(c.req.header('content-type')!)) {\n return await validator(c, next)\n }\n }\n c.req.addValidatedData('json', {})\n await next()\n }\n validators.push(mw)\n }\n }\n if (isFormContentType(mediaType)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore we can ignore the type error since Zod Validator's types are not used\n const validator = zValidator('form', schema, hook) as MiddlewareHandler\n if (route.request?.body?.required) {\n validators.push(validator)\n } else {\n const mw: MiddlewareHandler = async (c, next) => {\n if (c.req.header('content-type')) {\n if (isFormContentType(c.req.header('content-type')!)) {\n return await validator(c, next)\n }\n }\n c.req.addValidatedData('form', {})\n await next()\n }\n validators.push(mw)\n }\n }\n }\n }\n\n const middleware = routeMiddleware\n ? Array.isArray(routeMiddleware)\n ? routeMiddleware\n : [routeMiddleware]\n : []\n\n this.on(\n [route.method],\n [route.path.replaceAll(/\\/{(.+?)}/g, '/:$1')],\n ...middleware,\n ...validators,\n handler\n )\n return this\n }\n\n /**\n * Register a list of routes with full Type Safety and RPC support.\n * * @param inputs - An array of objects containing { route, handler, hook }.\n * Must be defined `as const` or inline to preserve tuple types.\n */\n openapiRoutes = <\n const Inputs extends readonly {\n route: RouteConfig\n handler: any\n hook?: any\n addRoute?: boolean\n }[],\n >(\n inputs: Inputs\n ): OpenAPIHono<E, S & SchemaFromRoutes<Inputs, BasePath>, BasePath> => {\n type Result = {\n [K in keyof Inputs]: Inputs[K] extends {\n route: infer R extends RouteConfig\n addRoute?: infer AR extends boolean | undefined\n }\n ? OpenAPIRoute<R, E, AR>\n : never\n }\n\n const typedInputs = inputs as unknown as Result\n\n typedInputs\n .filter(({ addRoute }) => addRoute !== false)\n .forEach(({ route, handler, hook }) => {\n this.openapi(route, handler, hook)\n })\n return this\n }\n\n getOpenAPIDocument = (\n objectConfig: OpenAPIObjectConfig,\n generatorConfig?: OpenAPIGeneratorOptions\n ): OpenAPIObject => {\n const generator = new OpenApiGeneratorV3(this.openAPIRegistry.definitions, generatorConfig)\n const document = generator.generateDocument(objectConfig)\n // @ts-expect-error the _basePath is a private property\n return this._basePath ? addBasePathToDocument(document, this._basePath) : document\n }\n\n getOpenAPI31Document = (\n objectConfig: OpenAPIObjectConfig,\n generatorConfig?: OpenAPIGeneratorOptions\n ): OpenAPIV31bject => {\n const generator = new OpenApiGeneratorV31(this.openAPIRegistry.definitions, generatorConfig)\n const document = generator.generateDocument(objectConfig)\n // @ts-expect-error the _basePath is a private property\n return this._basePath ? addBasePathToDocument(document, this._basePath) : document\n }\n\n doc = <P extends string>(\n path: P,\n configureObject: OpenAPIObjectConfigure<E, P>,\n configureGenerator?: OpenAPIGeneratorConfigure<E, P>\n ): OpenAPIHono<E, S & ToSchema<'get', MergePath<BasePath, P>, {}, {}>, BasePath> => {\n return this.get(path, (c) => {\n const objectConfig =\n typeof configureObject === 'function' ? configureObject(c) : configureObject\n const generatorConfig =\n typeof configureGenerator === 'function' ? configureGenerator(c) : configureGenerator\n try {\n const document = this.getOpenAPIDocument(objectConfig, generatorConfig)\n return c.json(document)\n } catch (e: any) {\n return c.json(e, 500)\n }\n }) as any\n }\n\n doc31 = <P extends string>(\n path: P,\n configureObject: OpenAPIObjectConfigure<E, P>,\n configureGenerator?: OpenAPIGeneratorConfigure<E, P>\n ): OpenAPIHono<E, S & ToSchema<'get', MergePath<BasePath, P>, {}, {}>, BasePath> => {\n return this.get(path, (c) => {\n const objectConfig =\n typeof configureObject === 'function' ? configureObject(c) : configureObject\n const generatorConfig =\n typeof configureGenerator === 'function' ? configureGenerator(c) : configureGenerator\n try {\n const document = this.getOpenAPI31Document(objectConfig, generatorConfig)\n return c.json(document)\n } catch (e: any) {\n return c.json(e, 500)\n }\n }) as any\n }\n\n override route<\n SubPath extends string,\n SubEnv extends Env,\n SubSchema extends Schema,\n SubBasePath extends string,\n >(\n path: SubPath,\n app: Hono<SubEnv, SubSchema, SubBasePath>\n ): OpenAPIHono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> & S, BasePath>\n override route<SubPath extends string>(path: SubPath): Hono<E, RemoveBlankRecord<S>, BasePath>\n override route<\n SubPath extends string,\n SubEnv extends Env,\n SubSchema extends Schema,\n SubBasePath extends string,\n >(\n path: SubPath,\n app?: Hono<SubEnv, SubSchema, SubBasePath>\n ): OpenAPIHono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> & S, BasePath> {\n const pathForOpenAPI = path.replaceAll(/:([^\\/]+)/g, '{$1}')\n super.route(path, app as any)\n\n if (!(app instanceof OpenAPIHono)) {\n return this as any\n }\n\n app.openAPIRegistry.definitions.forEach((def) => {\n switch (def.type) {\n case 'component':\n return this.openAPIRegistry.registerComponent(def.componentType, def.name, def.component)\n\n case 'route': {\n this.openAPIRegistry.registerPath({\n ...def.route,\n path: mergePath(\n pathForOpenAPI,\n // @ts-expect-error _basePath is private\n app._basePath.replaceAll(/:([^\\/]+)/g, '{$1}'),\n def.route.path\n ),\n })\n return\n }\n\n case 'webhook': {\n this.openAPIRegistry.registerWebhook({\n ...def.webhook,\n path: mergePath(\n pathForOpenAPI,\n // @ts-expect-error _basePath is private\n app._basePath.replaceAll(/:([^\\/]+)/g, '{$1}'),\n def.webhook.path\n ),\n })\n return\n }\n\n case 'schema':\n return this.openAPIRegistry.register(\n getOpenApiMetadata(def.schema)._internal?.refId,\n def.schema\n )\n\n case 'parameter':\n return this.openAPIRegistry.registerParameter(\n getOpenApiMetadata(def.schema)._internal?.refId,\n def.schema\n )\n\n default: {\n const errorIfNotExhaustive: never = def\n throw new Error(`Unknown registry type: ${errorIfNotExhaustive}`)\n }\n }\n })\n\n return this as any\n }\n\n override basePath<SubPath extends string>(\n path: SubPath\n ): OpenAPIHono<E, S, MergePath<BasePath, SubPath>> {\n return new OpenAPIHono({ ...(super.basePath(path) as any), defaultHook: this.defaultHook })\n }\n\n // Type overrides to return OpenAPIHono instead of Hono\n declare onError: (handler: ErrorHandler<E>) => OpenAPIHono<E, S, BasePath>\n declare notFound: (handler: NotFoundHandler<E>) => OpenAPIHono<E, S, BasePath>\n}\n\ntype RoutingPath<P extends string> = P extends `${infer Head}/{${infer Param}}${infer Tail}`\n ? `${Head}/:${Param}${RoutingPath<Tail>}`\n : P\n\nexport const createRoute = <P extends string, R extends Omit<RouteConfig, 'path'> & { path: P }>(\n routeConfig: R\n): R & {\n getRoutingPath(): RoutingPath<R['path']>\n} => {\n const route = {\n ...routeConfig,\n getRoutingPath(): RoutingPath<R['path']> {\n return routeConfig.path.replaceAll(/\\/{(.+?)}/g, '/:$1') as RoutingPath<P>\n },\n }\n return Object.defineProperty(route, 'getRoutingPath', { enumerable: false })\n}\n\nextendZodWithOpenApi(z)\nexport { extendZodWithOpenApi, z }\n\nfunction addBasePathToDocument(document: Record<string, any>, basePath: string) {\n const updatedPaths: Record<string, any> = {}\n\n Object.keys(document.paths).forEach((path) => {\n updatedPaths[mergePath(basePath.replaceAll(/:([^\\/]+)/g, '{$1}'), path)] = document.paths[path]\n })\n\n return {\n ...document,\n paths: updatedPaths,\n }\n}\n\nfunction isJSONContentType(contentType: string) {\n return /^application\\/([a-z-\\.]+\\+)?json/.test(contentType)\n}\n\nfunction isFormContentType(contentType: string) {\n return (\n contentType.startsWith('multipart/form-data') ||\n contentType.startsWith('application/x-www-form-urlencoded')\n )\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hono/zod-openapi",
3
- "version": "1.2.3",
3
+ "version": "1.3.0",
4
4
  "description": "A wrapper class of Hono which supports OpenAPI.",
5
5
  "type": "module",
6
6
  "module": "dist/index.js",