@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 +35 -0
- package/README.md +77 -0
- package/dist/index.cjs +15 -0
- package/dist/index.d.cts +48 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +48 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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":";;;;;;;;;;;KA8CK,YAA0B,CAAA,GAAA,CAAA,GAAR,OAAQ,CAAA,GAAA,CAAA,GAAK,GAAL;AAAR,KAEX,WAAA,GAAc,aAFH,GAAA;EAAa,UAAA,CAAA,EAGrB,CAHqB,GAGjB,CAHiB,EAAA;EAAA,IAAA,CAAA,EAAA,OAAA;AAEpC,CAAA;KAKK,YAAA,GALqB;EACX,IAAA,CAAA,EAKN,cALM;EAAI,MAAA,CAAA,EAMR,OANQ;EAAA,KAAA,CAAA,EAOT,OAPS;SAId,CAAA,EAIO,OAJP;EACI,OAAA,CAAA,EAIG,OAJH,GAIa,OAJb,EAAA;CACE;KAMN,MALK,CAAA,GAAA,CAAA,GAKO,GALP,SAAA,MAAA,GAMN,GANM,SAAA,eAAA,KAAA,MAAA,OAAA,KAAA,KAAA,EAAA,GAOJ,KAPI,SAAA,EAAA,GAAA,GAAA,MAAA,GAAA,GAAA,OAAA,MAAA,GAAA,GAAA,MAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA;KAaL,MAZO,CAAA,GAAA,CAAA,GAYK,GAZL,SAAA,MAAA,GAaR,GAbQ,SAAA,sBAAA,KAAA,MAAA,EAAA,GAAA,oCAAA,KAAA,MAAA,EAAA,GAAA,MAAA,GAAA,KAAA,GAAA,KAAA;KAoBP,0BAnBO,CAAU,WAAA,EAAA,SAAA,EAAA,iBAGjB,MAmBkB,0BAnBlB,GAmB+C,UAnB/C,CAAY,GAoBb,WApBa,SAAA,MAAA,GAqBb,WArBa,SAAA,eAAA,KAAA,MAAA,OAAA,KAAA,KAAA,EAAA,GAsBX,KAtBW,SAAA,EAAA,GAAA,GAAA,MAAA,GAAA,GAAA,OAAA,MAAA,GAAA,GAuBT,aAvBS,CAuBK,UAvBL,CAuBgB,SAvBhB,CAAA,EAuB0B,iBAvB1B,CAuB4C,QAvB5C,CAAA,EAAA,MAAA,CAAA,GAAA,KAAA,GAyBX,WAzBW,SAAA,aAAA,KAAA,MAAA,EAAA,GA0BT,aA1BS,CA0BK,SA1BL,EA0Bc,iBA1Bd,CA0BgC,QA1BhC,CAAA,EAAA,MAAA,CAAA,GA2BT,QA3BS,GAAA,KAAA;KA8BZ,WA7BD,CACE,YA4BqB,WA5BrB,EAAA,aAAA,MAAA,CAAA,GA4ByD,IAtB1D,SAAA,MAsB6E,GAtB7E,CAAA,SACD,CAAA,GAsBA,GAtBA,CAAA,SAAA,CAAA,CAsBa,IAtBb,CAAA,GAAA,CAAA,CAAA;AAAA,KAyBC,YAlBA,CAAA,GAAA,CAAA,GAAA,SAAA,SAkBoC,GAlBpC,GAAA,IAAA,GAAA,KAAA;KAoBA,aAjBkB,CAA6B,YAkBxC,WAlBwC,EAChD,aAAA,MAAA,EACA,aAAA,MAkBiB,iBAlBjB,CACE,GAkBF,GAlBE,CAAA,SAAA,CAAA,SAkBmB,YAlBnB,GAmBF,WAnBE,CAmBU,GAnBV,EAmBa,IAnBb,CAAA,SAmB2B,OAnB3B,GAAA;EAC2B,EAAA,EAAA,QAqBjB,IArBiB,GAqBV,YArBU,CAqBG,iBArBH,CAqBqB,CArBrB,CAAA,CAAA,SAAA,IAAA,GAAA,SAAA,MAuBJ,CAAA,CAAE,KAvBE,CAuBI,WAvBJ,CAuBgB,GAvBhB,EAuBmB,IAvBnB,CAAA,CAAA,IAuB6B,CAAA,CAAE,KAvB/B,CAuBqC,WAvBrC,CAuBiD,GAvBjD,EAuBoD,IAvBpD,CAAA,CAAA,CAuB2D,EAvB3D,CAAA,EAAA,GAAA,SAAA,MA0BJ,CAAA,CAAE,KA1BE,CA0BI,WA1BJ,CA0BgB,GA1BhB,EA0BmB,IA1BnB,CAAA,CAAA,GA0B4B,CAAA,CAAE,KA1B9B,CA0BoC,WA1BpC,CA0BgD,GA1BhD,EA0BmD,IA1BnD,CAAA,CAAA,CA0B0D,EA1B1D,CAAA,EAAA,EAAA;EAAX,GAAA,EAAA,QA6BD,IA7BC,GA6BM,CAAA,CAAE,MA7BR,CA6Be,WA7Bf,CA6B2B,GA7B3B,EA6B8B,IA7B9B,CAAA,CAAA,EAAA;CAAuC,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;KAkCxD,aAlCsC,CAAA,YAkCd,WAlCc,CAAA,GAkCC,GAlCD,CAAA,SAAA,CAAA,SAkCsB,YAlCtB,GAmCvC,GAnCuC,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,SAmCV,cAnCU,GAoCrC,GApCqC,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,SAoCG,gBApCH,GAqCnC,MArCmC,CAAA,MAqCtB,GArCsB,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,SAAA,KAAA,GAAA,CAAA,CAAA,GAuCjC,GAvCiC,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAuCK,GAvCL,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,SAuC8C,MAvC9C,CAAA,QAAA,EAyC7B,OAzC6B,CAAA,GAAA,CAAA,CAAA,GAAA;EAAnC,EAAA,EAAA;IAEF,IAAA,EA2CgB,CAAA,CAAE,KA3ClB,CA4CY,GA5CZ,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MA4CkD,GA5ClD,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;EACgB,CAAA;EAA2B,GAAA,EAAA;IAAlB,IAAA,EA+CT,CAAA,CAAE,MA/CO,CAgDb,GAhDa,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAgDyB,GAhDzB,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;EAAvB,CAAA;CACA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;KAwDH,aAxDG,CAAA,YAwDqB,WAxDrB,CAAA,GAwDoC,GAxDpC,CAAA,SAAA,CAAA,SAwDyD,YAxDzD,GAyDJ,GAzDI,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,SAyDyB,cAzDzB,GA0DF,GA1DE,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,SA0DsC,gBA1DtC,GA2DA,MA3DA,CAAA,MA2Da,GA3Db,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,SAAA,KAAA,GAAA,CAAA,CAAA,GA6DE,GA7DF,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MA6DwC,GA7DxC,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,SA6DiF,MA7DjF,CAAA,QAAA,EA+DM,OA/DN,CAAA,GAAA,CAAA,CAAA,GAAA;EAAA,EAAA,EAGH;IAAsB,IAAA,EAgEL,CAAA,CAAE,KAhEG,CAiET,GAjES,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAiE6B,GAjE7B,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;EAAoC,CAAA;EAAmB,GAAA,EAAA;IAC9E,IAAA,EAoEkB,CAAA,CAAE,MApEpB,CAqEc,GArEd,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAqEoD,GArEpD,CAAA,SAAA,CAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;EAAa,CAAA;CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KA8EZ,cA3EA,CAAA,YA2EyB,WA3EW,CAAA,GA2EI,aA3EJ,CA2EkB,GA3ElB,EAAA,QAAA,EAAA,OAAA,CAAA;AAAA,KA4EpC,cA1EA,CAAA,YA0EyB,WA1EzB,CAAA,GA0EwC,aA1ExC,CA0EsD,GA1EtD,EAAA,OAAA,EAAA,OAAA,CAAA;KA2EA,eA1EO,CAAA,YA0EmB,WA1EnB,CAAA,GA0EkC,aA1ElC,CA0EgD,GA1EhD,EAAA,SAAA,EAAA,QAAA,CAAA;KA2EP,eAzEgB,CAAA,YAyEU,WAzEV,CAAA,GAyEyB,aAzEzB,CAyEuC,GAzEvC,EAAA,SAAA,EAAA,QAAA,CAAA;KA2EhB,cA1ED,CAAA,GAAA,CAAA,GA0EqB,GA1ErB,SAAA,QAAA,MA2EU,GA3EV,GAAA,KAAA,EAAA,EAAA,GA6EA,CA7EA,SA6EU,MA7EV,CAAA,QAAA,EA6E2B,OA7E3B,CAAA,GA8EE,CAAA,CAAE,KA9EJ,CA8EU,CA9EV,CAAA,QAAA,CAAA,CAAA,GAAA,KAAA,GAAA,KAAA;KAkFC,0BAAA,GAlFoB;EACT,KAAA,EAkFP,cAlFO;EAAG,KAAA,EAmFV,iBAnFU;EAAf,KAAA,EAoFK,kBApFL;EAA6B,KAAA,EAqFxB,qBArFwB;EAGjB,KAAA,EAmFP,qBAnFO;CAAoB;KAqF/B,qBAAA,GArFiD,MAqFnB,0BArFmB,GAqFU,UArFV;KAsFjD,iBAtFkB,CAAA,YAsFU,qBAtFV,CAAA,GAsFmC,GAtFnC,SAAA,MAsFmD,0BAtFnD,GAuFnB,0BAvFmB,CAuFQ,GAvFR,CAAA,GAwFnB,GAxFmB;KAyFlB,kBAvF4C,CAAA,YAuFf,WAvFe,CAAA,GAAA,MAuFM,GAvFN,CAAA,WAAA,CAAA,GAuFuB,qBAvFvB;AAAG,KAwFxC,0BAxFwC,CAAA,YAwFH,WAxFG,CAAA,GAAA,aA0FnC,kBA1FmC,CA0FhB,GA1FgB,CAAA,GA0FX,GA1FW,CAAA,WAAA,CAAA,CA0FI,MA1FJ,CAAA,SAAA;EAAf,OAAA,EAAA,KAAA,QAAA;CAAR,GAAE,SAAA,SA2FH,OA3FG,GAAA,KAAA,GA6FnB,0BA7FmB,CAAA,MA8FX,GA9FW,CAAA,WAAA,CAAA,CA8FI,MA9FJ,CAAA,CAAA,SAAA,CAAA,EA+FjB,cA/FiB,CA+FF,GA/FE,CAAA,WAAA,CAAA,CA+Fa,MA/Fb,CAAA,CAAA,SAAA,CAAA,CAAA,EAgGjB,MAhGiB,CAAA,GAkGrB,aAlGqB,CAAA,CAAA,CAAA,EAkGH,iBAlGG,CAkGe,MAlGf,CAAA,EAAA,MAAA,CAAA,EAAA,CAmGzB,kBAnGyB,CAmGN,GAnGM,CAAA,CAAA,GAAA,CAAA,SAAA,SAAA,MAoGF,GApGE,CAAA,WAAA,CAAA,GAqGvB,GArGuB,CAAA,WAAA,CAAA,CAAA,SAAA,CAAA,SAAA;EAAmD,OAAA,EAAA,KAAA,QAAA;CAAG,GAAA,SAAA,SAsGzD,OAtGyD,GAAA,KAAA,GAwGzE,0BAxGyE,CAAA,MAyGjE,OAzGiE,EA0GvE,cA1GuE,CA0GxD,OA1GwD,CAAA,EA2GvE,OA3GuE,CA2G/D,UA3G+D,EA2GnD,iBA3GmD,CA2GjC,kBA3GiC,CA2Gd,GA3Gc,CAAA,CAAA,CAAA,CAAA,GA6G3E,aA7G2E,CAAA,CAAA,CAAA,EA6GzD,OA7GyD,CA6GjD,UA7GiD,EA6GrC,iBA7GqC,CA6GnB,kBA7GmB,CA6GA,GA7GA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,GAAA,KAAA,CAAA;AAAf,KAgH1D,IAhH0D,CAAR,GAAA,EAA8B,YAgH9D,GAhH8D,EAG3C,YAAA,MAAA,EAAG,GAAA,CAAf,GAAA,CAAA,MAAA,EAAA;EAAR,MAAE,EAAA,MA8GL,iBA9GK;CAAkD,GAAA,CAAA;EAAG,OAAA,EAAA,IAAA;EAAf,IAAA,EAiHvD,GAjHuD;CAAR,GAAE;EAA4B,OAAA,EAAA,KAAA;EAGtE,KAAA,EAkHN,QAlHM;CAA4B,CAAA,EAAA,CAAA,EAqH5C,OArH4C,CAqHpC,GArHoC,EAqHjC,GArHiC,CAAA,EAAA,GAsH5C,GAtH4C;KAwH5C,eAxH+C,CAAA,YAAA,MAAA,CAAA,GAwHX,GAxHW,SAAA,GAAA,KAAA,MAAA,KAAA,KAAA,MAAA,IAAA,KAAA,KAAA,EAAA,GAAA,GAyH7C,KAzH6C,KAyHnC,KAzHmC,GAyH3B,eAzH2B,CAyHX,IAzHW,CAAA,EAAA,GA0HhD,GA1HgD;AAAf,KA4HzB,kBA5HyB,CAAA,YA4HI,GA5HJ,CAAA,GAAA;EAAT,WAAE,CAAA,EA6Hd,IA7Hc,CAAA,GAAA,EA6HJ,GA7HI,EAAA,GAAA,EAAA,GAAA,CAAA;CAAA;AAAA,KA+HzB,QA1HA,CAAA,YA0HmB,GA1HnB,CAAA,GA0H0B,qBA1H1B,CAAA,OA0HuD,IA1HvD,CAAA,CAAA,CAAA,CAAA,GA0HkE,kBA1HlE,CA0HqF,GA1HrF,CAAA;;;;KA+HA,OA9HD,CAAA,GAAA,CAAA,GA8Hc,GA9Hd,SAAA,SAAA,GAAA,EAAA,GAgIA,GAhIA,SAAA,GAAA,EAAA,GAiIE,GAjIF,GAAA,CAkIG,GAlIH,CAAA;;;;AAEiB,KAqIT,YArIS,CAAA,GAAA,CAAA,GAAA,cAAA,MAuID,GAvIC,GAuIG,GAvIH,CAuIK,OAvIL,CAAA,SAuIsB,MAvItB,CAAA,MAAA,EAAA,OAAA,CAAA,GAwIf,YAxIe,CAwIF,GAxIE,CAwIA,OAxIA,CAAA,CAAA,GAyIf,GAzIe,CAyIb,OAzIa,CAAA,EAAA,GAAA,CAAA,CAAA;;;;AAIP,KA2IF,aA3IE,CAAA,YA2IsB,iBA3ItB,CAAA,GA4IZ,GA5IY,SA4IF,iBA5IE,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,EAAA,KAAA,EAAA,CAAA,GAAA;EAF2E,GAAA,EAgJ5E,CAhJ4E;EAOvE,IAAA,EA0IJ,CA1II;EAAsC,KAAA,EA2IzC,CA3IyC;CADlC,GAAE,KAAA;;;;;AAKA;AAUK,KAsIjB,uBAtIiB,CAAA,UAsIiB,iBAtIjB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,CAAA,GAsIuD,CAtIvD,SAAA,CAAA,KAAA,MAAA,EAAA,KAAA,OAAA,EAAA,GAAA,KAAA,KAAA,CAAA,GA2IzB,KA3IyB,SA2IX,iBA3IW,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,GA4IvB,MA5IuB,SA4IR,iBA5IQ,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,GA6IrB,IA7IqB,SA6IR,iBA7IQ,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GA8InB,uBA9ImB,CAAA,CAgJf,iBAhJe,CAiJb,YAjJa,CAiJA,aAjJA,CAiJc,KAjJd,CAAA,CAAA,KAAA,CAAA,GAiJ8B,aAjJ9B,CAiJ4C,MAjJ5C,CAAA,CAAA,KAAA,CAAA,CAAA,EAkJb,aAlJa,CAkJC,KAlJD,CAAA,CAAA,MAAA,CAAA,EAmJb,aAnJa,CAmJC,KAnJD,CAAA,CAAA,OAAA,CAAA,CAAA,EAAA,GAqJZ,IArJY,CAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GA2JzB,CA3JyB,SAAA,CAAA,KAAA,KAAA,CAAA,GA4JvB,IA5JuB,GA6JvB,iBA7JuB,CA6JL,GA7JK,CAAA;KA+JxB,qBA/JuC,CAAA,YA+JP,WA/JO,CAAA,GA+JQ,aA/JR,CAgK1C,uBAhK0C,CAgKlB,OAhKkB,CAgKV,GAhKU,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AAAqB,KAmKrD,gBAnKqD,CAAA,YAmK1B,WAnK0B,CAAA,GAoK/D,qBApK+D,CAoKzC,GApKyC,CAAA,SAAA,KAAA,GAoKtB,GApKsB,GAoKhB,qBApKgB,CAoKM,GApKN,CAAA,CAAA,KAAA,CAAA;AAC7D,KAqKQ,YArKR,CAA6B,YAsKrB,WAtKqB,EAC3B,YAsKM,GAtKN,GAsKY,gBAtKZ,CAsK6B,GAtK7B,CAAA,EAAwC,YAuKlC,KAvKkC,GAuK1B,cAvK0B,CAuKX,GAvKW,CAAA,GAwK1C,cAxK0C,CAwK3B,GAxK2B,CAAA,GAyK1C,eAzK0C,CAyK1B,GAzK0B,CAAA,GA0K1C,eA1K0C,CA0K1B,GA1K0B,CAAA,GA2K1C,aA3K0C,CA2K5B,GA3K4B,CAAA,GA4K1C,aA5K0C,CA4K5B,GA5K4B,CAAA,EACzB,YAAA,MAAA,GA4KA,eA5KA,CA4KgB,GA5KhB,CAAA,MAAA,CAAA,CAAA,CAAb,GA6KJ,OA7KI,CA8KN,GA9KM,EA+KN,GA/KM,EAgLN,GAhLM,EAkLN,GAlLM,SAAA;EAEE,SAAA,EAAA;IAAsC,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA;MAElC,OAAA,EAAA;QAF2E,CAAA,SAAA,EAAA,MAAA,CAAA,EAoL1D,kBApL0D;MAOvE,CAAA;IAAsC,CAAA;EADlC,CAAA;CAMJ,GA6KZ,YA7KY,CA6KC,0BA7KD,CA6K4B,GA7K5B,CAAA,CAAA,GA8KZ,YA9KY,CA8KC,0BA9KD,CA8K4B,GA9K5B,CAAA,CAAA,GA8KkC,YA9KlC,CA8K+C,QA9K/C,CAAA,CAAA;AAAsC,KAiL5C,SAjL4C,CADlC,YAmLV,WAnLY,EAAA,YAoLZ,GApLY,GAoLN,gBApLM,CAoLW,GApLX,CAAA,EAAA,YAqLZ,KA3KP,GA2Ke,cA3Kf,CA2K8B,GA3K9B,CAAA,GA4KD,cA5KC,CA4Kc,GA5Kd,CAAA,GA6KD,eA7KC,CA6Ke,GA7Kf,CAAA,GA8KD,eA9KC,CA8Ke,GA9Kf,CAAA,GA+KD,aA/KC,CA+Ka,GA/Kb,CAAA,GAgLD,aAhLC,CAgLa,GAhLb,CAAA,EAAyB,YAAA,MAAA,GAiLT,eAjLS,CAiLO,GAjLP,CAAA,MAAA,CAAA,CAAA,CAA6B,GAkLvD,IAlLuD,CAmLzD,GAnLyD,EAoLzD,GApLyD,EAqLzD,GArLyD,EAsLzD,0BAtLyD,CAsL9B,GAtL8B,CAAA,GAsLzB,QAtLyB,GAsLd,OAtLc,CAsLN,QAtLM,CAAA,GAAA,IAAA,GAsLa,OAtLb,CAAA,IAAA,CAAA,CAAA;KAyLtD,mBAAA,GAAsB,UAzLkB,CA0L3C,YA1L2C,CAAA,OA0LvB,kBA1LuB,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KA6LjC,sBA7LiC,CAAA,YA6LA,GA5LxC,EAAyB,YAAA,MAAA,CAA6B,GA6LvD,mBA7LuD,GAAA,CAAA,CAAA,OAAA,EA8L5C,OA9L4C,CA8LpC,GA9LoC,EA8LjC,GA9LiC,CAAA,EAAA,GA8L1B,mBA9L0B,CAAA;AAAd,KAgMjC,uBAAA,GAA0B,qBAhMO,CAAA,OAgMsB,kBAhMtB,CAAA,CAAA,CAAA,CAAA;AAAA,KAkMjC,yBAlMiC,CAAA,YAkMG,GAjM3C,EAA0B,YAAA,MAAA,CAA6B,GAkMxD,uBAlMwD,GAAA,CAAA,CAAA,OAAA,EAmM7C,OAnM6C,CAmMrC,GAnMqC,EAmMlC,GAnMkC,CAAA,EAAA,GAmM3B,uBAnM2B,CAAA;;;AAAd;;;;;AACA;;AAGhC,KA0MF,iBA1ME,CAAA,GAAA,CAAA,GA2MZ,GA3MY,SA2MF,IA3ME,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,EAAA,KAAA,EAAA,CAAA,GA2MgC,WA3MhC,CA2M4C,CA3M5C,EA2M+C,CA3M/C,EA2MkD,CA3MlD,CAAA,GA2MuD,GA3MvD;;;;;;;AAGN;;;;;;;AAWH,cA4MQ,CA5MR,EAAA,CAAA,UA4MuB,IA5MvB,CAA8B,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA,GAAA,EA4MmB,CA5MnB,EAAA,GA4MuB,iBA5MM,CA4MY,CA5MZ,CAAA;AAAA,KAiN3D,YAhNA,CAAA,YAgNuB,WAhNvB,CAAA,GAgNsC,cAhNtC,CAgNqD,GAhNrD,CAAA,GAiNH,cAjNG,CAiNY,GAjNZ,CAAA,GAkNH,eAlNG,CAkNa,GAlNb,CAAA,GAmNH,eAnNG,CAmNa,GAnNb,CAAA,GAoNH,aApNG,CAoNW,GApNX,CAAA,GAqNH,aArNG,CAqNW,GArNX,CAAA;KAwNA,gBAxN4B,CAAyB,YAwN1B,WAxN0B,EAAgB,YAwNnB,GAxNmB,CACtE,GAuN0D,OAvN1D,CAwNF,GAxNE,EAyNF,eAzNE,CAyNc,GAzNd,CAAA,MAAA,CAAA,CAAA,EA0NF,YA1NE,CA0NW,GA1NX,CAAA,EA2NF,GA3NE,SAAA;EAA2B,SAAA,EAAA;IAC3B,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA;MAAA,OAAA,EAAA;QACC,CAAA,SAAA,EAAA,MAAA,CAAA,EA6N0B,kBA7N1B;MAA6B,CAAA;IAAqB,CAAA;EAAiB,CAAA;CAAA,GAkOlE,YAlOkE,CAkOrD,0BAlOqD,CAkO1B,GAlO0B,CAAA,CAAA,GAmOlE,YAnOkE,CAmOrD,0BAnOqD,CAmO1B,GAnO0B,CAAA,CAAA,GAmOpB,YAnOoB,CAmOP,QAnOO,CAAA,CAAA;AACxE,KAqOK,aArOO,CAAqC,YAqOpB,WArOoB,EAEb,YAmOgB,GAnOhB,CAAnB,GAoOb,IApOa,CAqOX,YArOW,CAqOE,GArOF,CAAA,EAsOX,GAtOW,EAuOX,eAvOW,CAuOK,GAvOL,CAAA,MAAA,CAAA,CAAA,EAwOX,GAxOW,SAAA;EAAwB,SAAA,EAAA;IAAe,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA;MAC5B,OAAA,EAAA;QAGR,CAAA,SAAA,EAAA,MAAA,CAAA,EAwOe,kBAxOf;MAAe,CAAA;IACN,CAAA;EAAe,CAAA;CAA9B,GA4OJ,YA5OI,CA4OS,0BA5OT,CA4OoC,GA5OpC,CAAA,CAAA,GAAA,SAAA,GA6OJ,YA7OI,CA6OS,0BA7OT,CA6OoC,GA7OpC,CAAA,CAAA,GA6O0C,YA7O1C,CA6OuD,QA7OvD,CAAA,GAAA,SAAA,CAAA,GAAA,SAAA;KAkPT,gBAjPS,CAHF,eAAA,SAAA;EAKkC,KAAA,EAgPX,WAhPW;EAAlB,QAAA,CAAA,EAAA,OAAA;AAAlB,CAAA,EAAA,EACe,iBAAA,MAAA,CAAnB,GAiPF,MAjPE,SAAA,SAAA,CAAA,KAAA,KAAA,EAAA,GAAA,KAAA,KAAA,CAAA,GAkPF,IAlPE,SAAA;EACuB,KAAA,EAAA,KAAA,WAiPa,WAjPb;EACrB,QAAA,CAAA,EAAA,KAAA,SAAA;CACoB,GAAA,CAAA,CAgPpB,QAhPoB,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAkPlB,QAlPkB,CAmPhB,CAnPgB,CAAA,QAAA,CAAA,EAoPhB,SApPgB,CAoPN,QApPM,EAoPI,eApPJ,CAoPoB,CApPpB,CAAA,MAAA,CAAA,CAAA,CAAA,EAqPhB,YArPgB,CAqPH,CArPG,CAAA,EAsPhB,0BAtPgB,CAsPW,CAtPX,CAAA,CAAA,CAAA,GAwPpB,gBAxPoB,CAyPlB,IAzPkB,SAAA,SAAA;EAGR,KAAA,EAsPqB,WAtPrB;EACS,QAAA,CAAA,EAAA,OAAA;CAAf,EAAA,GAqPiE,IArPjE,GAAA,EAAA,EAsPJ,QAtPI,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AACQ,KA0PV,YA1PU,CAAiD,YA2P3D,WA3P2D,GA2P7C,WA3P6C,EAAnB,YA4PxC,GA5PwC,GA4PlC,GA5PkC,EAAlB,mBAAA,OAAA,GAAA,SAAA,GAAA,OAAA,GAAA,SAAA,CAApB,GAAA;EAHF,KAAA,EAkQH,GAlQG;EAKwB,OAAA,EA8PzB,gBA9PyB,CA8PR,GA9PQ,EA8PL,GA9PK,CAAA;EAAiD,IAAA,CAAA,EA+P5E,aA/P4E,CA+P9D,GA/P8D,EA+P3D,GA/P2D,CAAA;EAAnB,QAAA,CAAA,EAgQrD,UAhQqD;CAAlB;AAApB,cAmQf,kBAnQe,EAAA,CAAlB,UAoQE,WApQF,EAAA,UAqQE,GArQF,GAqQQ,GArQR,EAGV,uBAAY,OAAA,GAAA,SAAA,GAAA,SAAA,CAAkB,CAAA,GAAA,EAqQvB,YArQuB,CAqQV,CArQU,EAqQP,CArQO,EAqQJ,QArQI,CAAA,EAAA,GAsQ3B,YAtQ2B,CAsQd,CAtQc,EAsQX,CAtQW,EAsQR,QAtQQ,CAAA;AACJ,cAyQb,WAzQa,CAGZ,YAuQF,GAvQE,GAuQI,GAvQJ,EAIC,YAoQH,MApQG,GAAA,CAAA,CAAA,EAGF,iBAAA,MAAA,GAAA,GAAA,CAAG,SAmQN,IAnQM,CAmQD,GAnQC,EAmQE,GAnQF,EAmQK,QAnQL,CAAA,CAAA;EAAX,eAAA,EAoQc,eApQd;EACA,WAAA,CAAA,EAoQW,kBApQX,CAoQ8B,GApQ9B,CAAA,CAAA,aAAA,CAAA;EAAA,WAAA,CAAA,IAAA,CAAA,EAsQgB,QAtQhB,CAsQyB,GAtQzB,CAAA;EAAA;;;;;;;;AAML;;;;;;;;;;;;AAGuE;;;;;;AAcvE;;;;;EAGmB,OAAA,EAAA,CAAE,UAkRP,WAlRO,EAAf,UAmRQ,KAnRR,GAmRgB,cAnRhB,CAmR+B,CAnR/B,CAAA,GAoRA,cApRA,CAoRe,CApRf,CAAA,GAqRA,eArRA,CAqRgB,CArRhB,CAAA,GAsRA,eAtRA,CAsRgB,CAtRhB,CAAA,GAuRA,aAvRA,CAuRc,CAvRd,CAAA,GAwRA,aAxRA,CAwRc,CAxRd,CAAA,EACA,UAAA,MAAA,GAwRiB,eAxRjB,CAwRiC,CAxRjC,CAAA,MAAA,CAAA,CAAA,CAAE,CAAA;IAAA,UAAA,EA0RU,eA1RV;IAAA,IAAA;IAAA,GAAA;EAAA,CAAA,EA0R6C,CA1R7C,EAAA,OAAA,EA2RK,OA3RL,CA6RF,CA7RE,CAAA,YAAA,CAAA,SA6RsB,iBA7RtB,EAAA,GA6R4C,iBA7R5C,GA8RE,qBA9RF,CA8RwB,CA9RxB,CAAA,CAAA,KAAA,CAAA,GA8RoC,GA9RpC,GA+RE,GA/RF,EAgSF,CAhSE,EAiSF,CAjSE,EAmSF,CAnSE,SAAA;IAAA,SAAA,EAAA;MAMR,CAAY,UAAA,EAAA,MAAA,CAAA,EAAA;QAAwB,OAAA,EAAA;UAClC,CAAA,SAAA,EAAA,MAAA,CAAA,EAgSiC,kBAhSjC;QAAU,CAAA;MAEC,CAAA;IACC,CAAA;EACC,CAAA,GAiSL,YAjSK,CAiSQ,0BAjSR,CAiSmC,CAjSnC,CAAA,CAAA,GAkSL,YAlSK,CAkSQ,0BAlSR,CAkSmC,CAlSnC,CAAA,CAAA,GAkSyC,YAlSzC,CAkSsD,QAlStD,CAAA,CAAA,EAAA,IAeM,CAfN,EAqSP,IArSO,CAsSL,CAtSK,EAuSL,GAvSK,EAwSL,CAxSK,EAySL,CAzSK,SAAA;IAAA,SAAA,EAAA;MASf,CAAY,UAAA,EAAA,MAAA,CAAA,EAAA;QAAkC,OAAA,EAAA;UAAsC,CAAA,SAAA,EAAA,MAAA,CAAA,EAoS7C,kBApS6C;QAKhF,CAAA;MAAc,CAAA;IACZ,CAAA;EAAe,CAAA,GAmSP,YAnSO,CAmSM,0BAnSN,CAmSiC,CAnSjC,CAAA,CAAA,GAAA,SAAA,GAoSP,YApSO,CAoSM,0BApSN,CAoSiC,CApSjC,CAAA,CAAA,GAoSuC,YApSvC,CAoSoD,QApSpD,CAAA,GAAA,SAAA,CAAA,GAAA,SAAA,EAAA,GAuShB,WAvSgB,CAwSjB,GAxSiB,EAySjB,GAzSiB,GAySb,QAzSa,CAySJ,CAzSI,CAAA,QAAA,CAAA,EAySS,SAzST,CAySmB,QAzSnB,EAyS6B,CAzS7B,CAAA,EAySiC,CAzSjC,EAySoC,0BAzSpC,CAyS+D,CAzS/D,CAAA,CAAA,EA0SjB,QA1SiB,CAAA;EACb;;;;;EAImD,aAAA,EAAA,CAAA,qBAAA,SAAA;IAA3C,KAAA,EA4YH,WA5YG;IACc,OAAA,EAAA,GAAA;IAAd,IAAA,CAAA,EAAA,GAAA;IACc,QAAA,CAAA,EAAA,OAAA;EAAd,CAAA,EAAA,CAAA,CAAA,MAAA,EAgZJ,MAhZI,EAAA,GAiZX,WAjZW,CAiZC,GAjZD,EAiZI,GAjZJ,GAiZQ,gBAjZR,CAiZyB,MAjZzB,EAiZiC,QAjZjC,CAAA,EAiZ4C,QAjZ5C,CAAA;EAHF,kBAAA,EAAA,CAAA,YAAA,EAyaI,mBAzaJ,EAAA,eAAA,CAAA,EA0aQ,uBA1aR,EAAA,GA2aT,aA3aS;EAKG,oBAAA,EAAA,CAAA,YAAA,EA8aC,mBA9aD,EAAA,eAAA,CAAA,EA+aK,uBA/aL,EAAA,GAgbZ,eAhbY;EAPP,GAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,IAAA,EA+bA,CA/bA,EAAA,eAAA,EAgcW,sBAhcX,CAgckC,GAhclC,EAgcqC,CAhcrC,CAAA,EAAA,kBAAA,CAAA,EAice,yBAjcf,CAicyC,GAjczC,EAic4C,CAjc5C,CAAA,EAAA,GAkcL,WAlcK,CAkcO,GAlcP,EAkcU,GAlcV,GAkcc,QAlcd,CAAA,KAAA,EAkc8B,SAlc9B,CAkcwC,QAlcxC,EAkckD,CAlclD,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAkc+D,QAlc/D,CAAA;EAaN,KAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,IAAA,EAqcM,CArcN,EAAA,eAAA,EAsciB,sBAtcjB,CAscwC,GAtcxC,EAsc2C,CAtc3C,CAAA,EAAA,kBAAA,CAAA,EAucqB,yBAvcrB,CAuc+C,GAvc/C,EAuckD,CAvclD,CAAA,EAAA,GAwcC,WAxcD,CAwca,GAxcb,EAwcgB,GAxchB,GAwcoB,QAxcpB,CAAA,KAAA,EAwcoC,SAxcpC,CAwc8C,QAxc9C,EAwcwD,CAxcxD,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAwcqE,QAxcrE,CAAA;EACE,KAAA,CACkB,gBAAA,MAAA,EAAlB,eAuda,GAvdb,EAAA,kBAwdgB,MAxdhB,EAAkB,oBAEnB,MAAA,CAAgC,CAAA,IAAA,EAyd3B,OAzd2B,EAAA,GAAA,EA0d5B,IA1d4B,CA0dvB,MA1duB,EA0df,SA1de,EA0dJ,WA1dI,CAAA,CAAA,EA2dhC,WA3dgC,CA2dpB,GA3doB,EA2djB,eA3diB,CA2dD,SA3dC,EA2dU,SA3dV,CA2doB,QA3dpB,EA2d8B,OA3d9B,CAAA,CAAA,GA2d0C,GA3d1C,EA2d6C,QA3d7C,CAAA;EACH,KAAA,CAAA,gBAAA,MAAA,CAAA,CAAA,IAAA,EA2da,OA3db,CAAA,EA2duB,IA3dvB,CA2d4B,GA3d5B,EA2d+B,iBA3d/B,CA2diD,GA3djD,CAAA,EA2dqD,QA3drD,CAAA;EAAR,QAAA,CAAA,gBAAA,MAAA,CAAA,CAAA,IAAA,EAkiBhB,OAliBgB,CAAA,EAmiBrB,WAniBqB,CAmiBT,GAniBS,EAmiBN,GAniBM,EAmiBH,SAniBG,CAmiBO,QAniBP,EAmiBiB,OAniBjB,CAAA,CAAA;EAAxB,OAAA,EAAA,CAAA,OAAA,EAwiB2B,YAxiB3B,CAwiBwC,GAxiBxC,CAAA,EAAA,GAwiB+C,WAxiB/C,CAwiB2D,GAxiB3D,EAwiB8D,GAxiB9D,EAwiBiE,QAxiBjE,CAAA;EADkD,QAAA,EAAA,CAAA,OAAA,EA0iBtB,eA1iBsB,CA0iBN,GA1iBM,CAAA,EAAA,GA0iBC,WA1iBD,CA0iBa,GA1iBb,EA0iBgB,GA1iBhB,EA0iBmB,QA1iBnB,CAAA;;AAIpD,KAyiBK,WAziBO,CAAA,YAAA,MAAA,CAAA,GAyiByB,GAziBzB,SAAA,GAAA,KAAA,KAAA,KAAA,KAAA,MAAA,IAAA,KAAA,KAAA,EAAA,GAAA,GA0iBL,IA1iBK,KA0iBI,KA1iBJ,GA0iBY,WA1iBZ,CA0iBwB,IA1iBxB,CAAA,EAAA,GA2iBR,GA3iBQ;AAA2B,cA6iB1B,WA7iB0B,EAAA,CACf,UAAA,MAAA,EAAtB,UA4iBsD,IA5iBtD,CA4iB2D,WA5iB3D,EAAA,MAAA,CAAA,GAAA;EAAyC,IAAA,EA4iBiD,CA5iBjD;AAA4B,CAAA,CAAtB,CAAA,WAAA,EA6iBlC,CA7iBkC,EAAA,GA8iB9C,CA9iB8C,GAAA;EAAA,cAAA,EAAA,EA+iB7B,WA/iB6B,CA+iBjB,CA/iBiB,CAAA,MAAA,CAAA,CAAA;AAEjD,CAAA"}
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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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"}
|