hono 4.4.10 → 4.4.12
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/dist/adapter/aws-lambda/handler.js +1 -1
- package/dist/cjs/adapter/aws-lambda/handler.js +1 -1
- package/dist/cjs/client/client.js +6 -2
- package/dist/cjs/helper/streaming/sse.js +3 -1
- package/dist/cjs/helper/streaming/stream.js +3 -1
- package/dist/cjs/jsx/base.js +1 -0
- package/dist/cjs/utils/stream.js +2 -0
- package/dist/cjs/validator/validator.js +25 -24
- package/dist/client/client.js +6 -2
- package/dist/helper/streaming/sse.js +3 -1
- package/dist/helper/streaming/stream.js +3 -1
- package/dist/jsx/base.js +1 -0
- package/dist/types/context.d.ts +20 -20
- package/dist/types/hono-base.d.ts +11 -11
- package/dist/types/http-exception.d.ts +1 -1
- package/dist/types/jsx/intrinsic-elements.d.ts +2 -2
- package/dist/types/middleware/basic-auth/index.d.ts +1 -1
- package/dist/types/middleware/bearer-auth/index.d.ts +1 -1
- package/dist/types/middleware/body-limit/index.d.ts +1 -1
- package/dist/types/middleware/cache/index.d.ts +1 -1
- package/dist/types/middleware/compress/index.d.ts +1 -1
- package/dist/types/middleware/cors/index.d.ts +1 -1
- package/dist/types/middleware/csrf/index.d.ts +1 -1
- package/dist/types/middleware/etag/index.d.ts +1 -1
- package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
- package/dist/types/middleware/jwt/jwt.d.ts +1 -1
- package/dist/types/middleware/logger/index.d.ts +1 -1
- package/dist/types/middleware/method-override/index.d.ts +1 -1
- package/dist/types/middleware/pretty-json/index.d.ts +1 -1
- package/dist/types/middleware/secure-headers/secure-headers.d.ts +1 -1
- package/dist/types/middleware/timing/timing.d.ts +1 -1
- package/dist/types/middleware/trailing-slash/index.d.ts +2 -2
- package/dist/types/request.d.ts +17 -17
- package/dist/types/types.d.ts +86 -27
- package/dist/types/utils/jwt/jwa.d.ts +5 -0
- package/dist/types/utils/jwt/jws.d.ts +5 -0
- package/dist/types/utils/jwt/jwt.d.ts +5 -0
- package/dist/types/utils/jwt/types.d.ts +4 -0
- package/dist/types/utils/jwt/utf8.d.ts +4 -0
- package/dist/types/utils/stream.d.ts +4 -0
- package/dist/types/utils/types.d.ts +15 -3
- package/dist/utils/stream.js +2 -0
- package/dist/validator/validator.js +25 -24
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import type { MiddlewareHandler } from '../../types';
|
|
|
6
6
|
/**
|
|
7
7
|
* Trailing Slash Middleware for Hono.
|
|
8
8
|
*
|
|
9
|
-
* @see {@link https://hono.dev/middleware/builtin/trailing-slash}
|
|
9
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
|
|
10
10
|
*
|
|
11
11
|
* @returns {MiddlewareHandler} The middleware handler function.
|
|
12
12
|
*
|
|
@@ -23,7 +23,7 @@ export declare const trimTrailingSlash: () => MiddlewareHandler;
|
|
|
23
23
|
* Append trailing slash middleware for Hono.
|
|
24
24
|
* Append a trailing slash to the URL if it doesn't have one. For example, `/path/to/page` will be redirected to `/path/to/page/`.
|
|
25
25
|
*
|
|
26
|
-
* @see {@link https://hono.dev/middleware/builtin/trailing-slash}
|
|
26
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
|
|
27
27
|
*
|
|
28
28
|
* @returns {MiddlewareHandler} The middleware handler function.
|
|
29
29
|
*
|
package/dist/types/request.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
17
17
|
/**
|
|
18
18
|
* `.raw` can get the raw Request object.
|
|
19
19
|
*
|
|
20
|
-
* @see {@link https://hono.dev/api/request#raw}
|
|
20
|
+
* @see {@link https://hono.dev/docs/api/request#raw}
|
|
21
21
|
*
|
|
22
22
|
* @example
|
|
23
23
|
* ```ts
|
|
@@ -33,7 +33,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
33
33
|
/**
|
|
34
34
|
* `.path` can get the pathname of the request.
|
|
35
35
|
*
|
|
36
|
-
* @see {@link https://hono.dev/api/request#path}
|
|
36
|
+
* @see {@link https://hono.dev/docs/api/request#path}
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* ```ts
|
|
@@ -48,7 +48,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
48
48
|
/**
|
|
49
49
|
* `.req.param()` gets the path parameters.
|
|
50
50
|
*
|
|
51
|
-
* @see {@link https://hono.dev/api/routing#path-parameter}
|
|
51
|
+
* @see {@link https://hono.dev/docs/api/routing#path-parameter}
|
|
52
52
|
*
|
|
53
53
|
* @example
|
|
54
54
|
* ```ts
|
|
@@ -67,7 +67,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
67
67
|
/**
|
|
68
68
|
* `.query()` can get querystring parameters.
|
|
69
69
|
*
|
|
70
|
-
* @see {@link https://hono.dev/api/request#query}
|
|
70
|
+
* @see {@link https://hono.dev/docs/api/request#query}
|
|
71
71
|
*
|
|
72
72
|
* @example
|
|
73
73
|
* ```ts
|
|
@@ -87,7 +87,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
87
87
|
/**
|
|
88
88
|
* `.queries()` can get multiple querystring parameter values, e.g. /search?tags=A&tags=B
|
|
89
89
|
*
|
|
90
|
-
* @see {@link https://hono.dev/api/request#queries}
|
|
90
|
+
* @see {@link https://hono.dev/docs/api/request#queries}
|
|
91
91
|
*
|
|
92
92
|
* @example
|
|
93
93
|
* ```ts
|
|
@@ -102,7 +102,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
102
102
|
/**
|
|
103
103
|
* `.header()` can get the request header value.
|
|
104
104
|
*
|
|
105
|
-
* @see {@link https://hono.dev/api/request#header}
|
|
105
|
+
* @see {@link https://hono.dev/docs/api/request#header}
|
|
106
106
|
*
|
|
107
107
|
* @example
|
|
108
108
|
* ```ts
|
|
@@ -116,7 +116,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
116
116
|
/**
|
|
117
117
|
* `.parseBody()` can parse Request body of type `multipart/form-data` or `application/x-www-form-urlencoded`
|
|
118
118
|
*
|
|
119
|
-
* @see {@link https://hono.dev/api/request#parsebody}
|
|
119
|
+
* @see {@link https://hono.dev/docs/api/request#parsebody}
|
|
120
120
|
*
|
|
121
121
|
* @example
|
|
122
122
|
* ```ts
|
|
@@ -131,7 +131,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
131
131
|
/**
|
|
132
132
|
* `.json()` can parse Request body of type `application/json`
|
|
133
133
|
*
|
|
134
|
-
* @see {@link https://hono.dev/api/request#json}
|
|
134
|
+
* @see {@link https://hono.dev/docs/api/request#json}
|
|
135
135
|
*
|
|
136
136
|
* @example
|
|
137
137
|
* ```ts
|
|
@@ -144,7 +144,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
144
144
|
/**
|
|
145
145
|
* `.text()` can parse Request body of type `text/plain`
|
|
146
146
|
*
|
|
147
|
-
* @see {@link https://hono.dev/api/request#text}
|
|
147
|
+
* @see {@link https://hono.dev/docs/api/request#text}
|
|
148
148
|
*
|
|
149
149
|
* @example
|
|
150
150
|
* ```ts
|
|
@@ -157,7 +157,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
157
157
|
/**
|
|
158
158
|
* `.arrayBuffer()` parse Request body as an `ArrayBuffer`
|
|
159
159
|
*
|
|
160
|
-
* @see {@link https://hono.dev/api/request#arraybuffer}
|
|
160
|
+
* @see {@link https://hono.dev/docs/api/request#arraybuffer}
|
|
161
161
|
*
|
|
162
162
|
* @example
|
|
163
163
|
* ```ts
|
|
@@ -175,7 +175,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
175
175
|
* const body = await c.req.blob();
|
|
176
176
|
* });
|
|
177
177
|
* ```
|
|
178
|
-
* @see https://hono.dev/api/request#blob
|
|
178
|
+
* @see https://hono.dev/docs/api/request#blob
|
|
179
179
|
*/
|
|
180
180
|
blob(): Promise<Blob>;
|
|
181
181
|
/**
|
|
@@ -186,7 +186,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
186
186
|
* const body = await c.req.formData();
|
|
187
187
|
* });
|
|
188
188
|
* ```
|
|
189
|
-
* @see https://hono.dev/api/request#formdata
|
|
189
|
+
* @see https://hono.dev/docs/api/request#formdata
|
|
190
190
|
*/
|
|
191
191
|
formData(): Promise<FormData>;
|
|
192
192
|
/**
|
|
@@ -202,13 +202,13 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
202
202
|
* @param target - The target of the validation.
|
|
203
203
|
* @returns The validated data.
|
|
204
204
|
*
|
|
205
|
-
* @see https://hono.dev/api/request#valid
|
|
205
|
+
* @see https://hono.dev/docs/api/request#valid
|
|
206
206
|
*/
|
|
207
207
|
valid<T extends keyof I & keyof ValidationTargets>(target: T): InputToDataByTarget<I, T>;
|
|
208
208
|
/**
|
|
209
209
|
* `.url()` can get the request url strings.
|
|
210
210
|
*
|
|
211
|
-
* @see {@link https://hono.dev/api/request#url}
|
|
211
|
+
* @see {@link https://hono.dev/docs/api/request#url}
|
|
212
212
|
*
|
|
213
213
|
* @example
|
|
214
214
|
* ```ts
|
|
@@ -222,7 +222,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
222
222
|
/**
|
|
223
223
|
* `.method()` can get the method name of the request.
|
|
224
224
|
*
|
|
225
|
-
* @see {@link https://hono.dev/api/request#method}
|
|
225
|
+
* @see {@link https://hono.dev/docs/api/request#method}
|
|
226
226
|
*
|
|
227
227
|
* @example
|
|
228
228
|
* ```ts
|
|
@@ -235,7 +235,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
235
235
|
/**
|
|
236
236
|
* `.matchedRoutes()` can return a matched route in the handler
|
|
237
237
|
*
|
|
238
|
-
* @see {@link https://hono.dev/api/request#matchedroutes}
|
|
238
|
+
* @see {@link https://hono.dev/docs/api/request#matchedroutes}
|
|
239
239
|
*
|
|
240
240
|
* @example
|
|
241
241
|
* ```ts
|
|
@@ -259,7 +259,7 @@ export declare class HonoRequest<P extends string = '/', I extends Input['out']
|
|
|
259
259
|
/**
|
|
260
260
|
* `routePath()` can retrieve the path registered within the handler
|
|
261
261
|
*
|
|
262
|
-
* @see {@link https://hono.dev/api/request#routepath}
|
|
262
|
+
* @see {@link https://hono.dev/docs/api/request#routepath}
|
|
263
263
|
*
|
|
264
264
|
* @example
|
|
265
265
|
* ```ts
|
package/dist/types/types.d.ts
CHANGED
|
@@ -38,26 +38,19 @@ export interface HTTPResponseError extends Error {
|
|
|
38
38
|
export type ErrorHandler<E extends Env = any> = (err: Error | HTTPResponseError, c: Context<E>) => Response | Promise<Response>;
|
|
39
39
|
export interface HandlerInterface<E extends Env = Env, M extends string = string, S extends Schema = BlankSchema, BasePath extends string = '/'> {
|
|
40
40
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, I extends Input = BlankInput, R extends HandlerResponse<any> = any, E2 extends Env = E>(handler: H<E2, P, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath>;
|
|
41
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath>;
|
|
42
41
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, I extends Input = BlankInput, I2 extends Input = I, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(...handlers: [H<E2, P, I>, H<E3, P, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, P, I2, MergeTypedResponse<R>>, BasePath>;
|
|
43
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput,
|
|
42
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath>;
|
|
44
43
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, P, I3, MergeTypedResponse<R>>, BasePath>;
|
|
45
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I,
|
|
44
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R>>, BasePath>;
|
|
46
45
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>>(...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3>, H<E5, P, I4, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, P, I4, MergeTypedResponse<R>>, BasePath>;
|
|
46
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R>>, BasePath>;
|
|
47
|
+
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3>, H<E5, P, I4>, H<E6, P, I5, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, P, I5, MergeTypedResponse<R>>, BasePath>;
|
|
47
48
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>>(path: P, ...handlers: [
|
|
48
49
|
H<E2, MergedPath, I>,
|
|
49
50
|
H<E3, MergedPath, I2>,
|
|
50
51
|
H<E4, MergedPath, I3>,
|
|
51
52
|
H<E5, MergedPath, I4, R>
|
|
52
53
|
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R>>, BasePath>;
|
|
53
|
-
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3>, H<E5, P, I4>, H<E6, P, I5, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, P, I5, MergeTypedResponse<R>>, BasePath>;
|
|
54
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(path: P, ...handlers: [
|
|
55
|
-
H<E2, MergedPath, I>,
|
|
56
|
-
H<E3, MergedPath, I2>,
|
|
57
|
-
H<E4, MergedPath, I3>,
|
|
58
|
-
H<E5, MergedPath, I4>,
|
|
59
|
-
H<E6, MergedPath, I5, R>
|
|
60
|
-
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R>>, BasePath>;
|
|
61
54
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>>(...handlers: [
|
|
62
55
|
H<E2, P, I>,
|
|
63
56
|
H<E3, P, I2>,
|
|
@@ -66,14 +59,13 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
66
59
|
H<E6, P, I5>,
|
|
67
60
|
H<E7, P, I6, R>
|
|
68
61
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, P, I6, MergeTypedResponse<R>>, BasePath>;
|
|
69
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4,
|
|
62
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(path: P, ...handlers: [
|
|
70
63
|
H<E2, MergedPath, I>,
|
|
71
64
|
H<E3, MergedPath, I2>,
|
|
72
65
|
H<E4, MergedPath, I3>,
|
|
73
66
|
H<E5, MergedPath, I4>,
|
|
74
|
-
H<E6, MergedPath, I5
|
|
75
|
-
|
|
76
|
-
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R>>, BasePath>;
|
|
67
|
+
H<E6, MergedPath, I5, R>
|
|
68
|
+
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R>>, BasePath>;
|
|
77
69
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>>(...handlers: [
|
|
78
70
|
H<E2, P, I>,
|
|
79
71
|
H<E3, P, I2>,
|
|
@@ -83,15 +75,14 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
83
75
|
H<E7, P, I6>,
|
|
84
76
|
H<E8, P, I7, R>
|
|
85
77
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, P, I7, MergeTypedResponse<R>>, BasePath>;
|
|
86
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5,
|
|
78
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>>(path: P, ...handlers: [
|
|
87
79
|
H<E2, MergedPath, I>,
|
|
88
80
|
H<E3, MergedPath, I2>,
|
|
89
81
|
H<E4, MergedPath, I3>,
|
|
90
82
|
H<E5, MergedPath, I4>,
|
|
91
83
|
H<E6, MergedPath, I5>,
|
|
92
|
-
H<E7, MergedPath, I6
|
|
93
|
-
|
|
94
|
-
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R>>, BasePath>;
|
|
84
|
+
H<E7, MergedPath, I6, R>
|
|
85
|
+
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R>>, BasePath>;
|
|
95
86
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>>(...handlers: [
|
|
96
87
|
H<E2, P, I>,
|
|
97
88
|
H<E3, P, I2>,
|
|
@@ -102,16 +93,15 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
102
93
|
H<E8, P, I7>,
|
|
103
94
|
H<E9, P, I8, R>
|
|
104
95
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, P, I8, MergeTypedResponse<R>>, BasePath>;
|
|
105
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6,
|
|
96
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>>(path: P, ...handlers: [
|
|
106
97
|
H<E2, MergedPath, I>,
|
|
107
98
|
H<E3, MergedPath, I2>,
|
|
108
99
|
H<E4, MergedPath, I3>,
|
|
109
100
|
H<E5, MergedPath, I4>,
|
|
110
101
|
H<E6, MergedPath, I5>,
|
|
111
102
|
H<E7, MergedPath, I6>,
|
|
112
|
-
H<E8, MergedPath, I7
|
|
113
|
-
|
|
114
|
-
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R>>, BasePath>;
|
|
103
|
+
H<E8, MergedPath, I7, R>
|
|
104
|
+
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R>>, BasePath>;
|
|
115
105
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>>(...handlers: [
|
|
116
106
|
H<E2, P, I>,
|
|
117
107
|
H<E3, P, I2>,
|
|
@@ -123,7 +113,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
123
113
|
H<E9, P, I8>,
|
|
124
114
|
H<E10, P, I9, R>
|
|
125
115
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, P, I9, MergeTypedResponse<R>>, BasePath>;
|
|
126
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7,
|
|
116
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>>(path: P, ...handlers: [
|
|
127
117
|
H<E2, MergedPath, I>,
|
|
128
118
|
H<E3, MergedPath, I2>,
|
|
129
119
|
H<E4, MergedPath, I3>,
|
|
@@ -131,9 +121,8 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
131
121
|
H<E6, MergedPath, I5>,
|
|
132
122
|
H<E7, MergedPath, I6>,
|
|
133
123
|
H<E8, MergedPath, I7>,
|
|
134
|
-
H<E9, MergedPath, I8
|
|
135
|
-
|
|
136
|
-
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R>>, BasePath>;
|
|
124
|
+
H<E9, MergedPath, I8, R>
|
|
125
|
+
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R>>, BasePath>;
|
|
137
126
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = E, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>>(...handlers: [
|
|
138
127
|
H<E2, P, I>,
|
|
139
128
|
H<E3, P, I2>,
|
|
@@ -146,6 +135,17 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
146
135
|
H<E10, P, I9>,
|
|
147
136
|
H<E11, P, I10, R>
|
|
148
137
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, P, I10, MergeTypedResponse<R>>, BasePath>;
|
|
138
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>>(path: P, ...handlers: [
|
|
139
|
+
H<E2, MergedPath, I>,
|
|
140
|
+
H<E3, MergedPath, I2>,
|
|
141
|
+
H<E4, MergedPath, I3>,
|
|
142
|
+
H<E5, MergedPath, I4>,
|
|
143
|
+
H<E6, MergedPath, I5>,
|
|
144
|
+
H<E7, MergedPath, I6>,
|
|
145
|
+
H<E8, MergedPath, I7>,
|
|
146
|
+
H<E9, MergedPath, I8>,
|
|
147
|
+
H<E10, MergedPath, I9, R>
|
|
148
|
+
]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R>>, BasePath>;
|
|
149
149
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = E, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>>(path: P, ...handlers: [
|
|
150
150
|
H<E2, MergedPath, I>,
|
|
151
151
|
H<E3, MergedPath, I2>,
|
|
@@ -166,13 +166,16 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
166
166
|
<E2 extends Env = E>(...handlers: MiddlewareHandler<E2, MergePath<BasePath, ExtractKey<S>>>[]): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath>;
|
|
167
167
|
<E2 extends Env = E>(handler: MiddlewareHandler<E2, MergePath<BasePath, ExtractKey<S>>>): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath>;
|
|
168
168
|
<E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath>;
|
|
169
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E>(path: P, handler: MiddlewareHandler<E2, MergedPath>): Hono<IntersectNonAnyTypes<[E, E2]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
169
170
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath>;
|
|
171
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
170
172
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
171
173
|
MiddlewareHandler<E2, P>,
|
|
172
174
|
MiddlewareHandler<E3, P>,
|
|
173
175
|
MiddlewareHandler<E4, P>,
|
|
174
176
|
MiddlewareHandler<E5, P>
|
|
175
177
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath>;
|
|
178
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
176
179
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
177
180
|
MiddlewareHandler<E2, P>,
|
|
178
181
|
MiddlewareHandler<E3, P>,
|
|
@@ -180,6 +183,12 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
180
183
|
MiddlewareHandler<E5, P>,
|
|
181
184
|
MiddlewareHandler<E6, P>
|
|
182
185
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath>;
|
|
186
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>>(path: P, ...handlers: [
|
|
187
|
+
MiddlewareHandler<E2, P>,
|
|
188
|
+
MiddlewareHandler<E3, P>,
|
|
189
|
+
MiddlewareHandler<E4, P>,
|
|
190
|
+
MiddlewareHandler<E5, P>
|
|
191
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
183
192
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
184
193
|
MiddlewareHandler<E2, P>,
|
|
185
194
|
MiddlewareHandler<E3, P>,
|
|
@@ -188,6 +197,13 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
188
197
|
MiddlewareHandler<E6, P>,
|
|
189
198
|
MiddlewareHandler<E7, P>
|
|
190
199
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath>;
|
|
200
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(path: P, ...handlers: [
|
|
201
|
+
MiddlewareHandler<E2, P>,
|
|
202
|
+
MiddlewareHandler<E3, P>,
|
|
203
|
+
MiddlewareHandler<E4, P>,
|
|
204
|
+
MiddlewareHandler<E5, P>,
|
|
205
|
+
MiddlewareHandler<E6, P>
|
|
206
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
191
207
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
192
208
|
MiddlewareHandler<E2, P>,
|
|
193
209
|
MiddlewareHandler<E3, P>,
|
|
@@ -197,6 +213,14 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
197
213
|
MiddlewareHandler<E7, P>,
|
|
198
214
|
MiddlewareHandler<E8, P>
|
|
199
215
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath>;
|
|
216
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>>(path: P, ...handlers: [
|
|
217
|
+
MiddlewareHandler<E2, P>,
|
|
218
|
+
MiddlewareHandler<E3, P>,
|
|
219
|
+
MiddlewareHandler<E4, P>,
|
|
220
|
+
MiddlewareHandler<E5, P>,
|
|
221
|
+
MiddlewareHandler<E6, P>,
|
|
222
|
+
MiddlewareHandler<E7, P>
|
|
223
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
200
224
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
201
225
|
MiddlewareHandler<E2, P>,
|
|
202
226
|
MiddlewareHandler<E3, P>,
|
|
@@ -207,6 +231,15 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
207
231
|
MiddlewareHandler<E8, P>,
|
|
208
232
|
MiddlewareHandler<E9, P>
|
|
209
233
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath>;
|
|
234
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>>(path: P, ...handlers: [
|
|
235
|
+
MiddlewareHandler<E2, P>,
|
|
236
|
+
MiddlewareHandler<E3, P>,
|
|
237
|
+
MiddlewareHandler<E4, P>,
|
|
238
|
+
MiddlewareHandler<E5, P>,
|
|
239
|
+
MiddlewareHandler<E6, P>,
|
|
240
|
+
MiddlewareHandler<E7, P>,
|
|
241
|
+
MiddlewareHandler<E8, P>
|
|
242
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
210
243
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
211
244
|
MiddlewareHandler<E2, P>,
|
|
212
245
|
MiddlewareHandler<E3, P>,
|
|
@@ -218,6 +251,16 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
218
251
|
MiddlewareHandler<E9, P>,
|
|
219
252
|
MiddlewareHandler<E10, P>
|
|
220
253
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath>;
|
|
254
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>>(path: P, ...handlers: [
|
|
255
|
+
MiddlewareHandler<E2, P>,
|
|
256
|
+
MiddlewareHandler<E3, P>,
|
|
257
|
+
MiddlewareHandler<E4, P>,
|
|
258
|
+
MiddlewareHandler<E5, P>,
|
|
259
|
+
MiddlewareHandler<E6, P>,
|
|
260
|
+
MiddlewareHandler<E7, P>,
|
|
261
|
+
MiddlewareHandler<E8, P>,
|
|
262
|
+
MiddlewareHandler<E9, P>
|
|
263
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
221
264
|
<E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = E, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, P extends string = MergePath<BasePath, ExtractKey<S>>>(...handlers: [
|
|
222
265
|
MiddlewareHandler<E2, P>,
|
|
223
266
|
MiddlewareHandler<E3, P>,
|
|
@@ -230,6 +273,17 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
230
273
|
MiddlewareHandler<E10, P>,
|
|
231
274
|
MiddlewareHandler<E11, P>
|
|
232
275
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S, BasePath>;
|
|
276
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = E, E4 extends Env = E, E5 extends Env = E, E6 extends Env = E, E7 extends Env = E, E8 extends Env = E, E9 extends Env = E, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>>(path: P, ...handlers: [
|
|
277
|
+
MiddlewareHandler<E2, P>,
|
|
278
|
+
MiddlewareHandler<E3, P>,
|
|
279
|
+
MiddlewareHandler<E4, P>,
|
|
280
|
+
MiddlewareHandler<E5, P>,
|
|
281
|
+
MiddlewareHandler<E6, P>,
|
|
282
|
+
MiddlewareHandler<E7, P>,
|
|
283
|
+
MiddlewareHandler<E8, P>,
|
|
284
|
+
MiddlewareHandler<E9, P>,
|
|
285
|
+
MiddlewareHandler<E10, P>
|
|
286
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, ChangePathOfSchema<S, MergedPath>, BasePath>;
|
|
233
287
|
<P extends string, E2 extends Env = E>(path: P, ...handlers: MiddlewareHandler<E2, MergePath<BasePath, P>>[]): Hono<E, S, BasePath>;
|
|
234
288
|
}
|
|
235
289
|
export interface OnHandlerInterface<E extends Env = Env, S extends Schema = BlankSchema, BasePath extends string = '/'> {
|
|
@@ -398,6 +452,11 @@ export type Schema = {
|
|
|
398
452
|
[Method: `$${Lowercase<string>}`]: Endpoint;
|
|
399
453
|
};
|
|
400
454
|
};
|
|
455
|
+
type ChangePathOfSchema<S extends Schema, Path extends string> = keyof S extends never ? {
|
|
456
|
+
[K in Path]: never;
|
|
457
|
+
} : {
|
|
458
|
+
[K in keyof S as Path]: S[K];
|
|
459
|
+
};
|
|
401
460
|
export type Endpoint = {
|
|
402
461
|
input: Partial<ValidationTargets>;
|
|
403
462
|
output: any;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* JSON Web Signature (JWS)
|
|
4
|
+
* https://datatracker.ietf.org/doc/html/rfc7515
|
|
5
|
+
*/
|
|
1
6
|
import type { SignatureAlgorithm } from './jwa';
|
|
2
7
|
export type SignatureKey = string | JsonWebKey | CryptoKey;
|
|
3
8
|
export declare function signing(privateKey: SignatureKey, alg: SignatureAlgorithm, data: BufferSource): Promise<ArrayBuffer>;
|
|
@@ -12,6 +12,10 @@ export declare class StreamingApi {
|
|
|
12
12
|
* Whether the stream has been aborted.
|
|
13
13
|
*/
|
|
14
14
|
aborted: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the stream has been closed normally.
|
|
17
|
+
*/
|
|
18
|
+
closed: boolean;
|
|
15
19
|
constructor(writable: WritableStream, _readable: ReadableStream);
|
|
16
20
|
write(input: Uint8Array | string): Promise<StreamingApi>;
|
|
17
21
|
writeln(input: string): Promise<StreamingApi>;
|
|
@@ -8,16 +8,27 @@ export type NotEqual<X, Y> = true extends Equal<X, Y> ? false : true;
|
|
|
8
8
|
export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
9
9
|
export type RemoveBlankRecord<T> = T extends Record<infer K, unknown> ? K extends string ? T : never : never;
|
|
10
10
|
export type IfAnyThenEmptyObject<T> = 0 extends 1 & T ? {} : T;
|
|
11
|
-
export type JSONPrimitive = string | boolean | number | null
|
|
11
|
+
export type JSONPrimitive = string | boolean | number | null;
|
|
12
12
|
export type JSONArray = (JSONPrimitive | JSONObject | JSONArray)[];
|
|
13
13
|
export type JSONObject = {
|
|
14
14
|
[key: string]: JSONPrimitive | JSONArray | JSONObject | object;
|
|
15
15
|
};
|
|
16
|
+
export type InvalidJSONValue = undefined | symbol | ((...args: unknown[]) => unknown);
|
|
17
|
+
type InvalidToNull<T> = T extends InvalidJSONValue ? null : T;
|
|
18
|
+
type IsInvalid<T> = T extends InvalidJSONValue ? true : false;
|
|
19
|
+
/**
|
|
20
|
+
* symbol keys are omitted through `JSON.stringify`
|
|
21
|
+
*/
|
|
22
|
+
type OmitSymbolKeys<T> = {
|
|
23
|
+
[K in keyof T as K extends symbol ? never : K]: T[K];
|
|
24
|
+
};
|
|
16
25
|
export type JSONValue = JSONObject | JSONArray | JSONPrimitive;
|
|
17
26
|
export type JSONParsed<T> = T extends {
|
|
18
27
|
toJSON(): infer J;
|
|
19
|
-
} ? (() => J) extends () =>
|
|
20
|
-
|
|
28
|
+
} ? (() => J) extends () => JSONPrimitive ? J : (() => J) extends () => {
|
|
29
|
+
toJSON(): unknown;
|
|
30
|
+
} ? {} : JSONParsed<J> : T extends JSONPrimitive ? T : T extends InvalidJSONValue ? never : T extends [] ? [] : T extends readonly [infer R, ...infer U] ? [JSONParsed<InvalidToNull<R>>, ...JSONParsed<U>] : T extends Array<infer U> ? Array<JSONParsed<InvalidToNull<U>>> : T extends Set<unknown> | Map<unknown, unknown> ? {} : T extends object ? {
|
|
31
|
+
[K in keyof OmitSymbolKeys<T> as IsInvalid<T[K]> extends true ? never : K]: boolean extends IsInvalid<T[K]> ? JSONParsed<T[K]> | undefined : JSONParsed<T[K]>;
|
|
21
32
|
} : never;
|
|
22
33
|
/**
|
|
23
34
|
* Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
|
|
@@ -40,3 +51,4 @@ export type RequiredKeysOf<BaseType extends object> = Exclude<{
|
|
|
40
51
|
}[keyof BaseType], undefined>;
|
|
41
52
|
export type HasRequiredKeys<BaseType extends object> = RequiredKeysOf<BaseType> extends never ? false : true;
|
|
42
53
|
export type IsAny<T> = boolean extends (T extends never ? true : false) ? true : false;
|
|
54
|
+
export {};
|
package/dist/utils/stream.js
CHANGED
|
@@ -6,6 +6,7 @@ var StreamingApi = class {
|
|
|
6
6
|
abortSubscribers = [];
|
|
7
7
|
responseReadable;
|
|
8
8
|
aborted = false;
|
|
9
|
+
closed = false;
|
|
9
10
|
constructor(writable, _readable) {
|
|
10
11
|
this.writable = writable;
|
|
11
12
|
this.writer = writable.getWriter();
|
|
@@ -46,6 +47,7 @@ var StreamingApi = class {
|
|
|
46
47
|
await this.writer.close();
|
|
47
48
|
} catch (e) {
|
|
48
49
|
}
|
|
50
|
+
this.closed = true;
|
|
49
51
|
}
|
|
50
52
|
async pipe(body) {
|
|
51
53
|
this.writer.releaseLock();
|
|
@@ -23,33 +23,34 @@ var validator = (target, validationFunc) => {
|
|
|
23
23
|
if (!contentType) {
|
|
24
24
|
break;
|
|
25
25
|
}
|
|
26
|
+
let formData;
|
|
26
27
|
if (c.req.bodyCache.formData) {
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
formData = await c.req.bodyCache.formData;
|
|
29
|
+
} else {
|
|
30
|
+
try {
|
|
31
|
+
const arrayBuffer = await c.req.arrayBuffer();
|
|
32
|
+
formData = await bufferToFormData(arrayBuffer, contentType);
|
|
33
|
+
c.req.bodyCache.formData = formData;
|
|
34
|
+
} catch (e) {
|
|
35
|
+
let message = "Malformed FormData request.";
|
|
36
|
+
message += e instanceof Error ? ` ${e.message}` : ` ${String(e)}`;
|
|
37
|
+
throw new HTTPException(400, { message });
|
|
38
|
+
}
|
|
29
39
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} else if (Array.isArray(form[key])) {
|
|
39
|
-
;
|
|
40
|
-
form[key].push(value2);
|
|
41
|
-
}
|
|
42
|
-
} else {
|
|
43
|
-
form[key] = value2;
|
|
40
|
+
const form = {};
|
|
41
|
+
formData.forEach((value2, key) => {
|
|
42
|
+
if (key.endsWith("[]")) {
|
|
43
|
+
if (form[key] === void 0) {
|
|
44
|
+
form[key] = [value2];
|
|
45
|
+
} else if (Array.isArray(form[key])) {
|
|
46
|
+
;
|
|
47
|
+
form[key].push(value2);
|
|
44
48
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
message += e instanceof Error ? ` ${e.message}` : ` ${String(e)}`;
|
|
51
|
-
throw new HTTPException(400, { message });
|
|
52
|
-
}
|
|
49
|
+
} else {
|
|
50
|
+
form[key] = value2;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
value = form;
|
|
53
54
|
break;
|
|
54
55
|
}
|
|
55
56
|
case "query":
|