hono 4.6.20 → 4.7.1
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 +0 -2
- package/dist/cjs/adapter/aws-lambda/handler.js +0 -8
- package/dist/cjs/helper/accepts/accepts.js +4 -26
- package/dist/cjs/helper/factory/index.js +6 -2
- package/dist/cjs/helper/proxy/index.js +75 -0
- package/dist/cjs/middleware/combine/index.js +10 -3
- package/dist/cjs/middleware/etag/digest.js +3 -8
- package/dist/cjs/middleware/etag/index.js +18 -2
- package/dist/cjs/middleware/jwk/index.js +28 -0
- package/dist/cjs/middleware/jwk/jwk.js +124 -0
- package/dist/cjs/middleware/language/index.js +36 -0
- package/dist/cjs/middleware/language/language.js +210 -0
- package/dist/cjs/middleware/logger/index.js +2 -3
- package/dist/cjs/request.js +1 -1
- package/dist/cjs/router/linear-router/router.js +3 -1
- package/dist/cjs/router/trie-router/node.js +24 -11
- package/dist/cjs/utils/accept.js +86 -0
- package/dist/cjs/utils/jwt/index.js +1 -1
- package/dist/cjs/utils/jwt/jwt.js +56 -3
- package/dist/cjs/utils/jwt/types.js +8 -0
- package/dist/cjs/utils/url.js +10 -25
- package/dist/helper/accepts/accepts.js +2 -23
- package/dist/helper/factory/index.js +6 -2
- package/dist/helper/proxy/index.js +52 -0
- package/dist/middleware/combine/index.js +10 -3
- package/dist/middleware/etag/digest.js +3 -8
- package/dist/middleware/etag/index.js +18 -2
- package/dist/middleware/jwk/index.js +5 -0
- package/dist/middleware/jwk/jwk.js +101 -0
- package/dist/middleware/language/index.js +15 -0
- package/dist/middleware/language/language.js +178 -0
- package/dist/middleware/logger/index.js +2 -3
- package/dist/request.js +1 -1
- package/dist/router/linear-router/router.js +3 -1
- package/dist/router/trie-router/node.js +24 -11
- package/dist/types/adapter/cloudflare-pages/handler.d.ts +1 -1
- package/dist/types/adapter/cloudflare-workers/websocket.d.ts +1 -1
- package/dist/types/adapter/lambda-edge/handler.d.ts +2 -2
- package/dist/types/client/types.d.ts +7 -8
- package/dist/types/compose.d.ts +11 -1
- package/dist/types/context.d.ts +31 -21
- package/dist/types/helper/accepts/accepts.d.ts +0 -1
- package/dist/types/helper/adapter/index.d.ts +2 -2
- package/dist/types/helper/conninfo/types.d.ts +2 -2
- package/dist/types/helper/css/common.d.ts +6 -1
- package/dist/types/helper/factory/index.d.ts +289 -12
- package/dist/types/helper/proxy/index.d.ts +54 -0
- package/dist/types/helper/ssg/ssg.d.ts +1 -1
- package/dist/types/helper/websocket/index.d.ts +1 -2
- package/dist/types/hono-base.d.ts +18 -15
- package/dist/types/hono.d.ts +1 -1
- package/dist/types/jsx/base.d.ts +4 -1
- package/dist/types/jsx/dom/hooks/index.d.ts +9 -3
- package/dist/types/jsx/dom/index.d.ts +28 -7
- package/dist/types/jsx/dom/intrinsic-element/components.d.ts +6 -6
- package/dist/types/jsx/dom/render.d.ts +28 -4
- package/dist/types/jsx/dom/server.d.ts +28 -7
- package/dist/types/jsx/hooks/index.d.ts +20 -5
- package/dist/types/jsx/index.d.ts +28 -7
- package/dist/types/jsx/intrinsic-element/components.d.ts +4 -4
- package/dist/types/jsx/intrinsic-elements.d.ts +46 -46
- package/dist/types/middleware/compress/index.d.ts +4 -1
- package/dist/types/middleware/etag/digest.d.ts +1 -1
- package/dist/types/middleware/etag/index.d.ts +4 -0
- package/dist/types/middleware/jwk/index.d.ts +1 -0
- package/dist/types/middleware/jwk/jwk.d.ts +40 -0
- package/dist/types/middleware/language/index.d.ts +7 -0
- package/dist/types/middleware/language/language.d.ts +102 -0
- package/dist/types/middleware/secure-headers/permissions-policy.d.ts +3 -3
- package/dist/types/middleware/secure-headers/secure-headers.d.ts +1 -1
- package/dist/types/preset/quick.d.ts +1 -1
- package/dist/types/preset/tiny.d.ts +1 -1
- package/dist/types/request.d.ts +5 -3
- package/dist/types/router/linear-router/router.d.ts +0 -1
- package/dist/types/router/pattern-router/router.d.ts +0 -1
- package/dist/types/router/reg-exp-router/node.d.ts +4 -2
- package/dist/types/router/reg-exp-router/router.d.ts +0 -1
- package/dist/types/router/reg-exp-router/trie.d.ts +5 -2
- package/dist/types/router/smart-router/router.d.ts +0 -1
- package/dist/types/router/trie-router/node.d.ts +6 -2
- package/dist/types/router/trie-router/router.d.ts +0 -1
- package/dist/types/router.d.ts +20 -2
- package/dist/types/types.d.ts +2002 -111
- package/dist/types/utils/accept.d.ts +11 -0
- package/dist/types/utils/cookie.d.ts +4 -4
- package/dist/types/utils/headers.d.ts +3 -3
- package/dist/types/utils/html.d.ts +6 -2
- package/dist/types/utils/jwt/index.d.ts +4 -0
- package/dist/types/utils/jwt/jws.d.ts +4 -1
- package/dist/types/utils/jwt/jwt.d.ts +8 -2
- package/dist/types/utils/jwt/types.d.ts +4 -0
- package/dist/types/utils/mime.d.ts +2 -2
- package/dist/types/utils/stream.d.ts +0 -4
- package/dist/types/utils/url.d.ts +16 -2
- package/dist/types/validator/validator.d.ts +18 -6
- package/dist/utils/accept.js +63 -0
- package/dist/utils/jwt/index.js +2 -2
- package/dist/utils/jwt/jwt.js +54 -2
- package/dist/utils/jwt/types.js +7 -0
- package/dist/utils/url.js +10 -25
- package/package.json +24 -3
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Adapter Helper for Hono.
|
|
4
4
|
*/
|
|
5
5
|
import type { Context } from '../../context';
|
|
6
|
-
export type Runtime =
|
|
6
|
+
export type Runtime = "node" | "deno" | "bun" | "workerd" | "fastly" | "edge-light" | "other";
|
|
7
7
|
export declare const env: <T extends Record<string, unknown>, C extends Context = Context<{
|
|
8
8
|
Bindings: T;
|
|
9
|
-
}, any, {}>>(c: C, runtime?: Runtime) => T & C["env"];
|
|
9
|
+
}, any, {}>>(c: T extends Record<string, unknown> ? Context : C, runtime?: Runtime) => T & C["env"];
|
|
10
10
|
export declare const knownUserAgents: Partial<Record<Runtime, string>>;
|
|
11
11
|
export declare const getRuntimeKey: () => Runtime;
|
|
12
12
|
export declare const checkUserAgentEquals: (platform: string) => boolean;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Context } from '../../context';
|
|
2
|
-
export type AddressType =
|
|
2
|
+
export type AddressType = "IPv6" | "IPv4" | undefined;
|
|
3
3
|
export type NetAddrInfo = {
|
|
4
4
|
/**
|
|
5
5
|
* Transport protocol type
|
|
6
6
|
*/
|
|
7
|
-
transport?:
|
|
7
|
+
transport?: "tcp" | "udp";
|
|
8
8
|
/**
|
|
9
9
|
* Transport port number
|
|
10
10
|
*/
|
|
@@ -29,7 +29,12 @@ type CssVariableBasicType = CssClassName | CssEscapedString | string | number |
|
|
|
29
29
|
type CssVariableAsyncType = Promise<CssVariableBasicType>;
|
|
30
30
|
type CssVariableArrayType = (CssVariableBasicType | CssVariableAsyncType)[];
|
|
31
31
|
export type CssVariableType = CssVariableBasicType | CssVariableAsyncType | CssVariableArrayType;
|
|
32
|
-
export declare const buildStyleString: (strings: TemplateStringsArray, values: CssVariableType[]) => [
|
|
32
|
+
export declare const buildStyleString: (strings: TemplateStringsArray, values: CssVariableType[]) => [
|
|
33
|
+
string,
|
|
34
|
+
string,
|
|
35
|
+
CssClassName[],
|
|
36
|
+
string[]
|
|
37
|
+
];
|
|
33
38
|
export declare const cssCommon: (strings: TemplateStringsArray, values: CssVariableType[]) => CssClassName;
|
|
34
39
|
export declare const cxCommon: (args: (string | boolean | null | undefined | CssClassName)[]) => (string | boolean | null | undefined | CssClassName)[];
|
|
35
40
|
export declare const keyframesCommon: (strings: TemplateStringsArray, ...values: CssVariableType[]) => CssClassName;
|
|
@@ -3,15 +3,101 @@
|
|
|
3
3
|
* Factory Helper for Hono.
|
|
4
4
|
*/
|
|
5
5
|
import { Hono } from '../../hono';
|
|
6
|
+
import type { HonoOptions } from '../../hono-base';
|
|
6
7
|
import type { Env, H, HandlerResponse, Input, IntersectNonAnyTypes, MiddlewareHandler } from '../../types';
|
|
7
8
|
type InitApp<E extends Env = Env> = (app: Hono<E>) => void;
|
|
8
9
|
export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
9
|
-
<I extends Input = {}, R extends HandlerResponse<any> = any, E2 extends Env = E>(handler1: H<E2, P, I, R>): [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<I extends Input = {}, I2 extends Input = I,
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
<I extends Input = {}, R extends HandlerResponse<any> = any, E2 extends Env = E>(handler1: H<E2, P, I, R>): [
|
|
11
|
+
H<E2, P, I, R>
|
|
12
|
+
];
|
|
13
|
+
<I extends Input = {}, I2 extends Input = I, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
14
|
+
E,
|
|
15
|
+
E2
|
|
16
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>): [
|
|
17
|
+
H<E2, P, I, R>,
|
|
18
|
+
H<E3, P, I2, R>
|
|
19
|
+
];
|
|
20
|
+
<I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
21
|
+
E,
|
|
22
|
+
E2
|
|
23
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
24
|
+
E,
|
|
25
|
+
E2,
|
|
26
|
+
E3
|
|
27
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>): [
|
|
28
|
+
H<E2, P, I, R>,
|
|
29
|
+
H<E3, P, I2, R>,
|
|
30
|
+
H<E4, P, I3, R>
|
|
31
|
+
];
|
|
32
|
+
<I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
33
|
+
E,
|
|
34
|
+
E2
|
|
35
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
36
|
+
E,
|
|
37
|
+
E2,
|
|
38
|
+
E3
|
|
39
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
40
|
+
E,
|
|
41
|
+
E2,
|
|
42
|
+
E3,
|
|
43
|
+
E4
|
|
44
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>): [
|
|
45
|
+
H<E2, P, I, R>,
|
|
46
|
+
H<E3, P, I2, R>,
|
|
47
|
+
H<E4, P, I3, R>,
|
|
48
|
+
H<E5, P, I4, R>
|
|
49
|
+
];
|
|
50
|
+
<I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
51
|
+
E,
|
|
52
|
+
E2
|
|
53
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
54
|
+
E,
|
|
55
|
+
E2,
|
|
56
|
+
E3
|
|
57
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
58
|
+
E,
|
|
59
|
+
E2,
|
|
60
|
+
E3,
|
|
61
|
+
E4
|
|
62
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
63
|
+
E,
|
|
64
|
+
E2,
|
|
65
|
+
E3,
|
|
66
|
+
E4,
|
|
67
|
+
E5
|
|
68
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>): [
|
|
69
|
+
H<E2, P, I, R>,
|
|
70
|
+
H<E3, P, I2, R>,
|
|
71
|
+
H<E4, P, I3, R>,
|
|
72
|
+
H<E5, P, I4, R>,
|
|
73
|
+
H<E6, P, I5, R>
|
|
74
|
+
];
|
|
75
|
+
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
76
|
+
E,
|
|
77
|
+
E2
|
|
78
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
79
|
+
E,
|
|
80
|
+
E2,
|
|
81
|
+
E3
|
|
82
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
83
|
+
E,
|
|
84
|
+
E2,
|
|
85
|
+
E3,
|
|
86
|
+
E4
|
|
87
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
88
|
+
E,
|
|
89
|
+
E2,
|
|
90
|
+
E3,
|
|
91
|
+
E4,
|
|
92
|
+
E5
|
|
93
|
+
]>, E7 extends Env = IntersectNonAnyTypes<[
|
|
94
|
+
E,
|
|
95
|
+
E2,
|
|
96
|
+
E3,
|
|
97
|
+
E4,
|
|
98
|
+
E5,
|
|
99
|
+
E6
|
|
100
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>, handler6: H<E7, P, I6, R>): [
|
|
15
101
|
H<E2, P, I, R>,
|
|
16
102
|
H<E3, P, I2, R>,
|
|
17
103
|
H<E4, P, I3, R>,
|
|
@@ -19,7 +105,40 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
|
19
105
|
H<E6, P, I5, R>,
|
|
20
106
|
H<E7, P, I6, R>
|
|
21
107
|
];
|
|
22
|
-
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
108
|
+
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
109
|
+
E,
|
|
110
|
+
E2
|
|
111
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
112
|
+
E,
|
|
113
|
+
E2,
|
|
114
|
+
E3
|
|
115
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
116
|
+
E,
|
|
117
|
+
E2,
|
|
118
|
+
E3,
|
|
119
|
+
E4
|
|
120
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
121
|
+
E,
|
|
122
|
+
E2,
|
|
123
|
+
E3,
|
|
124
|
+
E4,
|
|
125
|
+
E5
|
|
126
|
+
]>, E7 extends Env = IntersectNonAnyTypes<[
|
|
127
|
+
E,
|
|
128
|
+
E2,
|
|
129
|
+
E3,
|
|
130
|
+
E4,
|
|
131
|
+
E5,
|
|
132
|
+
E6
|
|
133
|
+
]>, E8 extends Env = IntersectNonAnyTypes<[
|
|
134
|
+
E,
|
|
135
|
+
E2,
|
|
136
|
+
E3,
|
|
137
|
+
E4,
|
|
138
|
+
E5,
|
|
139
|
+
E6,
|
|
140
|
+
E7
|
|
141
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>, handler6: H<E7, P, I6, R>, handler7: H<E8, P, I7, R>): [
|
|
23
142
|
H<E2, P, I, R>,
|
|
24
143
|
H<E3, P, I2, R>,
|
|
25
144
|
H<E4, P, I3, R>,
|
|
@@ -28,7 +147,49 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
|
28
147
|
H<E7, P, I6, R>,
|
|
29
148
|
H<E8, P, I7, R>
|
|
30
149
|
];
|
|
31
|
-
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
150
|
+
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
151
|
+
E,
|
|
152
|
+
E2
|
|
153
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
154
|
+
E,
|
|
155
|
+
E2,
|
|
156
|
+
E3
|
|
157
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
158
|
+
E,
|
|
159
|
+
E2,
|
|
160
|
+
E3,
|
|
161
|
+
E4
|
|
162
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
163
|
+
E,
|
|
164
|
+
E2,
|
|
165
|
+
E3,
|
|
166
|
+
E4,
|
|
167
|
+
E5
|
|
168
|
+
]>, E7 extends Env = IntersectNonAnyTypes<[
|
|
169
|
+
E,
|
|
170
|
+
E2,
|
|
171
|
+
E3,
|
|
172
|
+
E4,
|
|
173
|
+
E5,
|
|
174
|
+
E6
|
|
175
|
+
]>, E8 extends Env = IntersectNonAnyTypes<[
|
|
176
|
+
E,
|
|
177
|
+
E2,
|
|
178
|
+
E3,
|
|
179
|
+
E4,
|
|
180
|
+
E5,
|
|
181
|
+
E6,
|
|
182
|
+
E7
|
|
183
|
+
]>, E9 extends Env = IntersectNonAnyTypes<[
|
|
184
|
+
E,
|
|
185
|
+
E2,
|
|
186
|
+
E3,
|
|
187
|
+
E4,
|
|
188
|
+
E5,
|
|
189
|
+
E6,
|
|
190
|
+
E7,
|
|
191
|
+
E8
|
|
192
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>, handler6: H<E7, P, I6, R>, handler7: H<E8, P, I7, R>, handler8: H<E9, P, I8, R>): [
|
|
32
193
|
H<E2, P, I, R>,
|
|
33
194
|
H<E3, P, I2, R>,
|
|
34
195
|
H<E4, P, I3, R>,
|
|
@@ -38,7 +199,59 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
|
38
199
|
H<E8, P, I7, R>,
|
|
39
200
|
H<E9, P, I8, R>
|
|
40
201
|
];
|
|
41
|
-
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
202
|
+
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
203
|
+
E,
|
|
204
|
+
E2
|
|
205
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
206
|
+
E,
|
|
207
|
+
E2,
|
|
208
|
+
E3
|
|
209
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
210
|
+
E,
|
|
211
|
+
E2,
|
|
212
|
+
E3,
|
|
213
|
+
E4
|
|
214
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
215
|
+
E,
|
|
216
|
+
E2,
|
|
217
|
+
E3,
|
|
218
|
+
E4,
|
|
219
|
+
E5
|
|
220
|
+
]>, E7 extends Env = IntersectNonAnyTypes<[
|
|
221
|
+
E,
|
|
222
|
+
E2,
|
|
223
|
+
E3,
|
|
224
|
+
E4,
|
|
225
|
+
E5,
|
|
226
|
+
E6
|
|
227
|
+
]>, E8 extends Env = IntersectNonAnyTypes<[
|
|
228
|
+
E,
|
|
229
|
+
E2,
|
|
230
|
+
E3,
|
|
231
|
+
E4,
|
|
232
|
+
E5,
|
|
233
|
+
E6,
|
|
234
|
+
E7
|
|
235
|
+
]>, E9 extends Env = IntersectNonAnyTypes<[
|
|
236
|
+
E,
|
|
237
|
+
E2,
|
|
238
|
+
E3,
|
|
239
|
+
E4,
|
|
240
|
+
E5,
|
|
241
|
+
E6,
|
|
242
|
+
E7,
|
|
243
|
+
E8
|
|
244
|
+
]>, E10 extends Env = IntersectNonAnyTypes<[
|
|
245
|
+
E,
|
|
246
|
+
E2,
|
|
247
|
+
E3,
|
|
248
|
+
E4,
|
|
249
|
+
E5,
|
|
250
|
+
E6,
|
|
251
|
+
E7,
|
|
252
|
+
E8,
|
|
253
|
+
E9
|
|
254
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>, handler6: H<E7, P, I6, R>, handler7: H<E8, P, I7, R>, handler8: H<E9, P, I8, R>, handler9: H<E10, P, I9, R>): [
|
|
42
255
|
H<E2, P, I, R>,
|
|
43
256
|
H<E3, P, I2, R>,
|
|
44
257
|
H<E4, P, I3, R>,
|
|
@@ -49,7 +262,70 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
|
49
262
|
H<E9, P, I8, R>,
|
|
50
263
|
H<E10, P, I9, R>
|
|
51
264
|
];
|
|
52
|
-
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
265
|
+
<I extends Input = {}, 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, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[
|
|
266
|
+
E,
|
|
267
|
+
E2
|
|
268
|
+
]>, E4 extends Env = IntersectNonAnyTypes<[
|
|
269
|
+
E,
|
|
270
|
+
E2,
|
|
271
|
+
E3
|
|
272
|
+
]>, E5 extends Env = IntersectNonAnyTypes<[
|
|
273
|
+
E,
|
|
274
|
+
E2,
|
|
275
|
+
E3,
|
|
276
|
+
E4
|
|
277
|
+
]>, E6 extends Env = IntersectNonAnyTypes<[
|
|
278
|
+
E,
|
|
279
|
+
E2,
|
|
280
|
+
E3,
|
|
281
|
+
E4,
|
|
282
|
+
E5
|
|
283
|
+
]>, E7 extends Env = IntersectNonAnyTypes<[
|
|
284
|
+
E,
|
|
285
|
+
E2,
|
|
286
|
+
E3,
|
|
287
|
+
E4,
|
|
288
|
+
E5,
|
|
289
|
+
E6
|
|
290
|
+
]>, E8 extends Env = IntersectNonAnyTypes<[
|
|
291
|
+
E,
|
|
292
|
+
E2,
|
|
293
|
+
E3,
|
|
294
|
+
E4,
|
|
295
|
+
E5,
|
|
296
|
+
E6,
|
|
297
|
+
E7
|
|
298
|
+
]>, E9 extends Env = IntersectNonAnyTypes<[
|
|
299
|
+
E,
|
|
300
|
+
E2,
|
|
301
|
+
E3,
|
|
302
|
+
E4,
|
|
303
|
+
E5,
|
|
304
|
+
E6,
|
|
305
|
+
E7,
|
|
306
|
+
E8
|
|
307
|
+
]>, E10 extends Env = IntersectNonAnyTypes<[
|
|
308
|
+
E,
|
|
309
|
+
E2,
|
|
310
|
+
E3,
|
|
311
|
+
E4,
|
|
312
|
+
E5,
|
|
313
|
+
E6,
|
|
314
|
+
E7,
|
|
315
|
+
E8,
|
|
316
|
+
E9
|
|
317
|
+
]>, E11 extends Env = IntersectNonAnyTypes<[
|
|
318
|
+
E,
|
|
319
|
+
E2,
|
|
320
|
+
E3,
|
|
321
|
+
E4,
|
|
322
|
+
E5,
|
|
323
|
+
E6,
|
|
324
|
+
E7,
|
|
325
|
+
E8,
|
|
326
|
+
E9,
|
|
327
|
+
E10
|
|
328
|
+
]>>(handler1: H<E2, P, I, R>, handler2: H<E3, P, I2, R>, handler3: H<E4, P, I3, R>, handler4: H<E5, P, I4, R>, handler5: H<E6, P, I5, R>, handler6: H<E7, P, I6, R>, handler7: H<E8, P, I7, R>, handler8: H<E9, P, I8, R>, handler9: H<E10, P, I9, R>, handler10: H<E11, P, I10, R>): [
|
|
53
329
|
H<E2, P, I, R>,
|
|
54
330
|
H<E3, P, I2, R>,
|
|
55
331
|
H<E4, P, I3, R>,
|
|
@@ -63,16 +339,17 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
|
|
|
63
339
|
];
|
|
64
340
|
}
|
|
65
341
|
export declare class Factory<E extends Env = Env, P extends string = string> {
|
|
66
|
-
private initApp?;
|
|
67
342
|
constructor(init?: {
|
|
68
343
|
initApp?: InitApp<E>;
|
|
344
|
+
defaultAppOptions?: HonoOptions<E>;
|
|
69
345
|
});
|
|
70
|
-
createApp: () => Hono<E>;
|
|
346
|
+
createApp: (options?: HonoOptions<E>) => Hono<E>;
|
|
71
347
|
createMiddleware: <I extends Input = {}>(middleware: MiddlewareHandler<E, P, I>) => MiddlewareHandler<E, P, I>;
|
|
72
348
|
createHandlers: CreateHandlersInterface<E, P>;
|
|
73
349
|
}
|
|
74
350
|
export declare const createFactory: <E extends Env = Env, P extends string = string>(init?: {
|
|
75
351
|
initApp?: InitApp<E>;
|
|
352
|
+
defaultAppOptions?: HonoOptions<E>;
|
|
76
353
|
}) => Factory<E, P>;
|
|
77
354
|
export declare const createMiddleware: <E extends Env = any, P extends string = string, I extends Input = {}>(middleware: MiddlewareHandler<E, P, I>) => MiddlewareHandler<E, P, I>;
|
|
78
355
|
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Proxy Helper for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { RequestHeader } from '../../utils/headers';
|
|
6
|
+
interface ProxyRequestInit extends Omit<RequestInit, "headers"> {
|
|
7
|
+
raw?: Request;
|
|
8
|
+
headers?: HeadersInit | [
|
|
9
|
+
string,
|
|
10
|
+
string
|
|
11
|
+
][] | Record<RequestHeader, string | undefined> | Record<string, string | undefined>;
|
|
12
|
+
}
|
|
13
|
+
interface ProxyFetch {
|
|
14
|
+
(input: string | URL | Request, init?: ProxyRequestInit): Promise<Response>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fetch API wrapper for proxy.
|
|
18
|
+
* The parameters and return value are the same as for `fetch` (except for the proxy-specific options).
|
|
19
|
+
*
|
|
20
|
+
* The “Accept-Encoding” header is replaced with an encoding that the current runtime can handle.
|
|
21
|
+
* Unnecessary response headers are deleted and a Response object is returned that can be returned
|
|
22
|
+
* as is as a response from the handler.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* app.get('/proxy/:path', (c) => {
|
|
27
|
+
* return proxy(`http://${originServer}/${c.req.param('path')}`, {
|
|
28
|
+
* headers: {
|
|
29
|
+
* ...c.req.header(), // optional, specify only when forwarding all the request data (including credentials) is necessary.
|
|
30
|
+
* 'X-Forwarded-For': '127.0.0.1',
|
|
31
|
+
* 'X-Forwarded-Host': c.req.header('host'),
|
|
32
|
+
* Authorization: undefined, // do not propagate request headers contained in c.req.header('Authorization')
|
|
33
|
+
* },
|
|
34
|
+
* }).then((res) => {
|
|
35
|
+
* res.headers.delete('Set-Cookie')
|
|
36
|
+
* return res
|
|
37
|
+
* })
|
|
38
|
+
* })
|
|
39
|
+
*
|
|
40
|
+
* app.all('/proxy/:path', (c) => {
|
|
41
|
+
* return proxy(`http://${originServer}/${c.req.param('path')}`, {
|
|
42
|
+
* ...c.req, // optional, specify only when forwarding all the request data (including credentials) is necessary.
|
|
43
|
+
* headers: {
|
|
44
|
+
* ...c.req.header(),
|
|
45
|
+
* 'X-Forwarded-For': '127.0.0.1',
|
|
46
|
+
* 'X-Forwarded-Host': c.req.header('host'),
|
|
47
|
+
* Authorization: undefined, // do not propagate request headers contained in c.req.header('Authorization')
|
|
48
|
+
* },
|
|
49
|
+
* })
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare const proxy: ProxyFetch;
|
|
54
|
+
export {};
|
|
@@ -64,7 +64,7 @@ export interface ToSSGInterface {
|
|
|
64
64
|
* `ToSSGAdaptorInterface` is an experimental feature.
|
|
65
65
|
* The API might be changed.
|
|
66
66
|
*/
|
|
67
|
-
export interface ToSSGAdaptorInterface<E extends Env = Env, S extends Schema = {}, BasePath extends string =
|
|
67
|
+
export interface ToSSGAdaptorInterface<E extends Env = Env, S extends Schema = {}, BasePath extends string = "/"> {
|
|
68
68
|
(app: Hono<E, S, BasePath>, options?: ToSSGOptions): Promise<ToSSGResult>;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
@@ -17,7 +17,7 @@ export interface WSEvents<T = unknown> {
|
|
|
17
17
|
* Upgrade WebSocket Type
|
|
18
18
|
*/
|
|
19
19
|
export type UpgradeWebSocket<T = unknown, U = any, _WSEvents = WSEvents<T>> = (createEvents: (c: Context) => _WSEvents | Promise<_WSEvents>, options?: U) => MiddlewareHandler<any, string, {
|
|
20
|
-
outputFormat:
|
|
20
|
+
outputFormat: "ws";
|
|
21
21
|
}>;
|
|
22
22
|
/**
|
|
23
23
|
* ReadyState for WebSocket
|
|
@@ -44,7 +44,6 @@ export interface SendOptions {
|
|
|
44
44
|
* A context for controlling WebSockets
|
|
45
45
|
*/
|
|
46
46
|
export declare class WSContext<T = unknown> {
|
|
47
|
-
#private;
|
|
48
47
|
constructor(init: WSContextInit<T>);
|
|
49
48
|
send(source: string | ArrayBuffer | Uint8Array, options?: SendOptions): void;
|
|
50
49
|
raw?: T;
|
|
@@ -7,7 +7,7 @@ import type { ExecutionContext } from './context';
|
|
|
7
7
|
import type { Router } from './router';
|
|
8
8
|
import type { Env, ErrorHandler, H, HandlerInterface, MergePath, MergeSchemaPath, MiddlewareHandlerInterface, NotFoundHandler, OnHandlerInterface, RouterRoute, Schema } from './types';
|
|
9
9
|
type GetPath<E extends Env> = (request: Request, options?: {
|
|
10
|
-
env?: E[
|
|
10
|
+
env?: E["Bindings"];
|
|
11
11
|
}) => string;
|
|
12
12
|
export type HonoOptions<E extends Env> = {
|
|
13
13
|
/**
|
|
@@ -28,7 +28,10 @@ export type HonoOptions<E extends Env> = {
|
|
|
28
28
|
* const app = new Hono({ router: new RegExpRouter() })
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
router?: Router<[
|
|
31
|
+
router?: Router<[
|
|
32
|
+
H,
|
|
33
|
+
RouterRoute
|
|
34
|
+
]>;
|
|
32
35
|
/**
|
|
33
36
|
* `getPath` can handle the host header value.
|
|
34
37
|
*
|
|
@@ -57,23 +60,23 @@ type MountOptions = MountOptionHandler | {
|
|
|
57
60
|
optionHandler?: MountOptionHandler;
|
|
58
61
|
replaceRequest?: MountReplaceRequest;
|
|
59
62
|
};
|
|
60
|
-
declare class Hono<E extends Env = Env, S extends Schema = {}, BasePath extends string =
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
all: HandlerInterface<E, 'all', S, BasePath>;
|
|
63
|
+
declare class Hono<E extends Env = Env, S extends Schema = {}, BasePath extends string = "/"> {
|
|
64
|
+
get: HandlerInterface<E, "get", S, BasePath>;
|
|
65
|
+
post: HandlerInterface<E, "post", S, BasePath>;
|
|
66
|
+
put: HandlerInterface<E, "put", S, BasePath>;
|
|
67
|
+
delete: HandlerInterface<E, "delete", S, BasePath>;
|
|
68
|
+
options: HandlerInterface<E, "options", S, BasePath>;
|
|
69
|
+
patch: HandlerInterface<E, "patch", S, BasePath>;
|
|
70
|
+
all: HandlerInterface<E, "all", S, BasePath>;
|
|
69
71
|
on: OnHandlerInterface<E, S, BasePath>;
|
|
70
72
|
use: MiddlewareHandlerInterface<E, S, BasePath>;
|
|
71
|
-
router: Router<[
|
|
73
|
+
router: Router<[
|
|
74
|
+
H,
|
|
75
|
+
RouterRoute
|
|
76
|
+
]>;
|
|
72
77
|
readonly getPath: GetPath<E>;
|
|
73
|
-
private _basePath;
|
|
74
78
|
routes: RouterRoute[];
|
|
75
79
|
constructor(options?: HonoOptions<E>);
|
|
76
|
-
private errorHandler;
|
|
77
80
|
/**
|
|
78
81
|
* `.route()` allows grouping other Hono instance in routes.
|
|
79
82
|
*
|
|
@@ -184,7 +187,7 @@ declare class Hono<E extends Env = Env, S extends Schema = {}, BasePath extends
|
|
|
184
187
|
* @returns {Response | Promise<Response>} response of request
|
|
185
188
|
*
|
|
186
189
|
*/
|
|
187
|
-
fetch: (request: Request, Env?: E[
|
|
190
|
+
fetch: (request: Request, Env?: E["Bindings"] | {}, executionCtx?: ExecutionContext) => Response | Promise<Response>;
|
|
188
191
|
/**
|
|
189
192
|
* `.request()` is a useful method for testing.
|
|
190
193
|
* You can pass a URL or pathname to send a GET request.
|
package/dist/types/hono.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { BlankEnv, BlankSchema, Env, Schema } from './types';
|
|
|
9
9
|
* @template S - The schema type.
|
|
10
10
|
* @template BasePath - The base path type.
|
|
11
11
|
*/
|
|
12
|
-
export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string =
|
|
12
|
+
export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = "/"> extends HonoBase<E, S, BasePath> {
|
|
13
13
|
/**
|
|
14
14
|
* Creates an instance of the Hono class.
|
|
15
15
|
*
|
package/dist/types/jsx/base.d.ts
CHANGED
|
@@ -23,7 +23,10 @@ export declare namespace JSX {
|
|
|
23
23
|
}
|
|
24
24
|
export declare const getNameSpaceContext: () => Context<string> | undefined;
|
|
25
25
|
export declare const booleanAttributes: string[];
|
|
26
|
-
type LocalContexts = [
|
|
26
|
+
type LocalContexts = [
|
|
27
|
+
Context<unknown>,
|
|
28
|
+
unknown
|
|
29
|
+
][];
|
|
27
30
|
export type Child = string | Promise<string> | number | JSXNode | null | undefined | boolean | Child[];
|
|
28
31
|
export declare class JSXNode implements HtmlEscaped {
|
|
29
32
|
tag: string | Function;
|
|
@@ -10,7 +10,7 @@ type FormStatus = {
|
|
|
10
10
|
} | {
|
|
11
11
|
pending: true;
|
|
12
12
|
data: FormData;
|
|
13
|
-
method:
|
|
13
|
+
method: "get" | "post";
|
|
14
14
|
action: string | ((formData: FormData) => void | Promise<void>);
|
|
15
15
|
};
|
|
16
16
|
export declare const FormContext: Context<FormStatus>;
|
|
@@ -27,7 +27,10 @@ export declare const useFormStatus: () => FormStatus;
|
|
|
27
27
|
* @param updateState
|
|
28
28
|
* @returns [T, (action: N) => void]
|
|
29
29
|
*/
|
|
30
|
-
export declare const useOptimistic: <T, N>(state: T, updateState: (currentState: T, action: N) => T) => [
|
|
30
|
+
export declare const useOptimistic: <T, N>(state: T, updateState: (currentState: T, action: N) => T) => [
|
|
31
|
+
T,
|
|
32
|
+
(action: N) => void
|
|
33
|
+
];
|
|
31
34
|
/**
|
|
32
35
|
* This hook returns the current state and a function to update the state by form action
|
|
33
36
|
* @param fn
|
|
@@ -35,5 +38,8 @@ export declare const useOptimistic: <T, N>(state: T, updateState: (currentState:
|
|
|
35
38
|
* @param permalink
|
|
36
39
|
* @returns [T, (data: FormData) => void]
|
|
37
40
|
*/
|
|
38
|
-
export declare const useActionState: <T>(fn: Function, initialState: T, permalink?: string) => [
|
|
41
|
+
export declare const useActionState: <T>(fn: Function, initialState: T, permalink?: string) => [
|
|
42
|
+
T,
|
|
43
|
+
Function
|
|
44
|
+
];
|
|
39
45
|
export {};
|
|
@@ -20,22 +20,37 @@ export { reactAPICompatVersion as version, createElement as jsx, useState, useEf
|
|
|
20
20
|
declare const _default: {
|
|
21
21
|
version: string;
|
|
22
22
|
useState: {
|
|
23
|
-
<T>(initialState: T | (() => T)): [
|
|
24
|
-
|
|
23
|
+
<T>(initialState: T | (() => T)): [
|
|
24
|
+
T,
|
|
25
|
+
(newState: T | ((currentState: T) => T)) => void
|
|
26
|
+
];
|
|
27
|
+
<T = undefined>(): [
|
|
28
|
+
T | undefined,
|
|
29
|
+
(newState: T | ((currentState: T | undefined) => T | undefined) | undefined) => void
|
|
30
|
+
];
|
|
25
31
|
};
|
|
26
32
|
useEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void;
|
|
27
33
|
useRef: <T>(initialValue: T | null) => import("..").RefObject<T>;
|
|
28
34
|
useCallback: <T extends Function>(callback: T, deps: readonly unknown[]) => T;
|
|
29
35
|
use: <T>(promise: Promise<T>) => T;
|
|
30
36
|
startTransition: (callback: () => void) => void;
|
|
31
|
-
useTransition: () => [
|
|
37
|
+
useTransition: () => [
|
|
38
|
+
boolean,
|
|
39
|
+
(callback: () => void | Promise<void>) => void
|
|
40
|
+
];
|
|
32
41
|
useDeferredValue: <T>(value: T, initialValue?: T) => T;
|
|
33
42
|
startViewTransition: (callback: () => void) => void;
|
|
34
|
-
useViewTransition: () => [
|
|
43
|
+
useViewTransition: () => [
|
|
44
|
+
boolean,
|
|
45
|
+
(callback: () => void) => void
|
|
46
|
+
];
|
|
35
47
|
useMemo: <T>(factory: () => T, deps: readonly unknown[]) => T;
|
|
36
48
|
useLayoutEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void;
|
|
37
49
|
useInsertionEffect: (effect: () => void | (() => void), deps?: readonly unknown[]) => void;
|
|
38
|
-
useReducer: <T, A>(reducer: (state: T, action: A) => T, initialArg: T, init?: (initialState: T) => T) => [
|
|
50
|
+
useReducer: <T, A>(reducer: (state: T, action: A) => T, initialArg: T, init?: (initialState: T) => T) => [
|
|
51
|
+
T,
|
|
52
|
+
(action: A) => void
|
|
53
|
+
];
|
|
39
54
|
useId: () => string;
|
|
40
55
|
useDebugValue: (_value: unknown, _formatter?: (value: unknown) => string) => void;
|
|
41
56
|
createRef: <T>() => import("..").RefObject<T>;
|
|
@@ -55,8 +70,14 @@ declare const _default: {
|
|
|
55
70
|
method: "get" | "post";
|
|
56
71
|
action: string | ((formData: FormData) => void | Promise<void>);
|
|
57
72
|
};
|
|
58
|
-
useActionState: <T>(fn: Function, initialState: T, permalink?: string) => [
|
|
59
|
-
|
|
73
|
+
useActionState: <T>(fn: Function, initialState: T, permalink?: string) => [
|
|
74
|
+
T,
|
|
75
|
+
Function
|
|
76
|
+
];
|
|
77
|
+
useOptimistic: <T, N>(state: T, updateState: (currentState: T, action: N) => T) => [
|
|
78
|
+
T,
|
|
79
|
+
(action: N) => void
|
|
80
|
+
];
|
|
60
81
|
Suspense: FC<import("..").PropsWithChildren<{
|
|
61
82
|
fallback: any;
|
|
62
83
|
}>>;
|