hono 3.11.7 → 3.11.9
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/cloudflare-workers/serve-static.js +1 -1
- package/dist/{utils/cloudflare.js → adapter/cloudflare-workers/utils.js} +1 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +2 -2
- package/dist/cjs/{utils/cloudflare.js → adapter/cloudflare-workers/utils.js} +3 -3
- package/dist/cjs/helper/html/index.js +2 -0
- package/dist/cjs/hono-base.js +8 -8
- package/dist/cjs/utils/html.js +14 -2
- package/dist/helper/html/index.js +2 -0
- package/dist/hono-base.js +8 -8
- package/dist/types/client/types.d.ts +1 -1
- package/dist/types/hono-base.d.ts +2 -2
- package/dist/types/types.d.ts +30 -30
- package/dist/types/utils/html.d.ts +14 -0
- package/dist/utils/html.js +14 -2
- package/package.json +9 -12
- /package/dist/types/{utils/cloudflare.d.ts → adapter/cloudflare-workers/utils.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/adapter/cloudflare-workers/serve-static.ts
|
|
2
|
-
import { getContentFromKVAsset } from "../../utils/cloudflare.js";
|
|
3
2
|
import { getFilePath } from "../../utils/filepath.js";
|
|
4
3
|
import { getMimeType } from "../../utils/mime.js";
|
|
4
|
+
import { getContentFromKVAsset } from "./utils.js";
|
|
5
5
|
var DEFAULT_DOCUMENT = "index.html";
|
|
6
6
|
var serveStatic = (options = { root: "" }) => {
|
|
7
7
|
return async (c, next) => {
|
|
@@ -21,9 +21,9 @@ __export(serve_static_exports, {
|
|
|
21
21
|
serveStatic: () => serveStatic
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(serve_static_exports);
|
|
24
|
-
var import_cloudflare = require("../../utils/cloudflare");
|
|
25
24
|
var import_filepath = require("../../utils/filepath");
|
|
26
25
|
var import_mime = require("../../utils/mime");
|
|
26
|
+
var import_utils = require("./utils");
|
|
27
27
|
const DEFAULT_DOCUMENT = "index.html";
|
|
28
28
|
const serveStatic = (options = { root: "" }) => {
|
|
29
29
|
return async (c, next) => {
|
|
@@ -40,7 +40,7 @@ const serveStatic = (options = { root: "" }) => {
|
|
|
40
40
|
});
|
|
41
41
|
if (!path)
|
|
42
42
|
return await next();
|
|
43
|
-
const content = await (0,
|
|
43
|
+
const content = await (0, import_utils.getContentFromKVAsset)(path, {
|
|
44
44
|
manifest: options.manifest,
|
|
45
45
|
namespace: options.namespace ? options.namespace : c.env ? c.env.__STATIC_CONTENT : void 0
|
|
46
46
|
});
|
|
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
21
|
getContentFromKVAsset: () => getContentFromKVAsset
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(utils_exports);
|
|
24
24
|
const getContentFromKVAsset = async (path, options) => {
|
|
25
25
|
let ASSET_MANIFEST = {};
|
|
26
26
|
if (options && options.manifest) {
|
package/dist/cjs/hono-base.js
CHANGED
|
@@ -69,6 +69,14 @@ const _Hono = class extends defineDynamicClass() {
|
|
|
69
69
|
this.routes = [];
|
|
70
70
|
this.notFoundHandler = notFoundHandler;
|
|
71
71
|
this.errorHandler = errorHandler;
|
|
72
|
+
this.onError = (handler) => {
|
|
73
|
+
this.errorHandler = handler;
|
|
74
|
+
return this;
|
|
75
|
+
};
|
|
76
|
+
this.notFound = (handler) => {
|
|
77
|
+
this.notFoundHandler = handler;
|
|
78
|
+
return this;
|
|
79
|
+
};
|
|
72
80
|
this.head = () => {
|
|
73
81
|
console.warn("`app.head()` is no longer used. `app.get()` implicitly handles the HEAD method.");
|
|
74
82
|
return this;
|
|
@@ -163,14 +171,6 @@ const _Hono = class extends defineDynamicClass() {
|
|
|
163
171
|
subApp._basePath = (0, import_url.mergePath)(this._basePath, path);
|
|
164
172
|
return subApp;
|
|
165
173
|
}
|
|
166
|
-
onError(handler) {
|
|
167
|
-
this.errorHandler = handler;
|
|
168
|
-
return this;
|
|
169
|
-
}
|
|
170
|
-
notFound(handler) {
|
|
171
|
-
this.notFoundHandler = handler;
|
|
172
|
-
return this;
|
|
173
|
-
}
|
|
174
174
|
showRoutes() {
|
|
175
175
|
const length = 8;
|
|
176
176
|
this.routes.map((route) => {
|
package/dist/cjs/utils/html.js
CHANGED
|
@@ -28,16 +28,28 @@ const escapeRe = /[&<>'"]/;
|
|
|
28
28
|
const stringBufferToString = async (buffer) => {
|
|
29
29
|
let str = "";
|
|
30
30
|
const callbacks = [];
|
|
31
|
-
for (let i = buffer.length - 1;
|
|
31
|
+
for (let i = buffer.length - 1; ; i--) {
|
|
32
|
+
str += buffer[i];
|
|
33
|
+
i--;
|
|
34
|
+
if (i < 0) {
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
32
37
|
let r = await buffer[i];
|
|
33
38
|
if (typeof r === "object") {
|
|
34
39
|
callbacks.push(...r.callbacks || []);
|
|
35
40
|
}
|
|
41
|
+
const isEscaped = r.isEscaped;
|
|
36
42
|
r = await (typeof r === "object" ? r.toString() : r);
|
|
37
43
|
if (typeof r === "object") {
|
|
38
44
|
callbacks.push(...r.callbacks || []);
|
|
39
45
|
}
|
|
40
|
-
|
|
46
|
+
if (r.isEscaped ?? isEscaped) {
|
|
47
|
+
str += r;
|
|
48
|
+
} else {
|
|
49
|
+
const buf = [str];
|
|
50
|
+
escapeToBuffer(r, buf);
|
|
51
|
+
str = buf[0];
|
|
52
|
+
}
|
|
41
53
|
}
|
|
42
54
|
return (0, import_html.raw)(str, callbacks);
|
|
43
55
|
};
|
package/dist/hono-base.js
CHANGED
|
@@ -48,6 +48,14 @@ var _Hono = class extends defineDynamicClass() {
|
|
|
48
48
|
this.routes = [];
|
|
49
49
|
this.notFoundHandler = notFoundHandler;
|
|
50
50
|
this.errorHandler = errorHandler;
|
|
51
|
+
this.onError = (handler) => {
|
|
52
|
+
this.errorHandler = handler;
|
|
53
|
+
return this;
|
|
54
|
+
};
|
|
55
|
+
this.notFound = (handler) => {
|
|
56
|
+
this.notFoundHandler = handler;
|
|
57
|
+
return this;
|
|
58
|
+
};
|
|
51
59
|
this.head = () => {
|
|
52
60
|
console.warn("`app.head()` is no longer used. `app.get()` implicitly handles the HEAD method.");
|
|
53
61
|
return this;
|
|
@@ -142,14 +150,6 @@ var _Hono = class extends defineDynamicClass() {
|
|
|
142
150
|
subApp._basePath = mergePath(this._basePath, path);
|
|
143
151
|
return subApp;
|
|
144
152
|
}
|
|
145
|
-
onError(handler) {
|
|
146
|
-
this.errorHandler = handler;
|
|
147
|
-
return this;
|
|
148
|
-
}
|
|
149
|
-
notFound(handler) {
|
|
150
|
-
this.notFoundHandler = handler;
|
|
151
|
-
return this;
|
|
152
|
-
}
|
|
153
153
|
showRoutes() {
|
|
154
154
|
const length = 8;
|
|
155
155
|
this.routes.map((route) => {
|
|
@@ -9,7 +9,7 @@ export type ClientRequestOptions<T = unknown> = keyof T extends never ? {
|
|
|
9
9
|
headers: T;
|
|
10
10
|
fetch?: typeof fetch | HonoRequest;
|
|
11
11
|
};
|
|
12
|
-
type ClientRequest<S extends Schema> = {
|
|
12
|
+
export type ClientRequest<S extends Schema> = {
|
|
13
13
|
[M in keyof S]: S[M] extends {
|
|
14
14
|
input: infer R;
|
|
15
15
|
output: infer O;
|
|
@@ -35,8 +35,8 @@ declare class Hono<E extends Env = Env, S extends Schema = {}, BasePath extends
|
|
|
35
35
|
private errorHandler;
|
|
36
36
|
route<SubPath extends string, SubEnv extends Env, SubSchema extends Schema, SubBasePath extends string>(path: SubPath, app?: Hono<SubEnv, SubSchema, SubBasePath>): Hono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> & S, BasePath>;
|
|
37
37
|
basePath<SubPath extends string>(path: SubPath): Hono<E, S, MergePath<BasePath, SubPath>>;
|
|
38
|
-
onError(handler: ErrorHandler<E>)
|
|
39
|
-
notFound(handler: NotFoundHandler<E>)
|
|
38
|
+
onError: (handler: ErrorHandler<E>) => this;
|
|
39
|
+
notFound: (handler: NotFoundHandler<E>) => this;
|
|
40
40
|
/**
|
|
41
41
|
* @deprecated
|
|
42
42
|
* Use `showRoutes()` utility methods provided by 'hono/dev' instead of `app.showRoutes()`.
|
package/dist/types/types.d.ts
CHANGED
|
@@ -83,22 +83,22 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
83
83
|
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, P, I10['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
84
84
|
<P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>, I extends Input = {}, R extends HandlerResponse<any> = any>(...handlers: H<E, P, I, R>[]): Hono<E, S & ToSchema<M, P, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
85
85
|
<P extends string, R extends HandlerResponse<any> = any, I extends Input = {}>(path: P): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
86
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M,
|
|
87
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M,
|
|
88
|
-
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M,
|
|
86
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
87
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
88
|
+
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
89
89
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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: [
|
|
90
90
|
H<E2, MergedPath, I>,
|
|
91
91
|
H<E3, MergedPath, I2>,
|
|
92
92
|
H<E4, MergedPath, I3>,
|
|
93
93
|
H<E5, MergedPath, I4, R>
|
|
94
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M,
|
|
94
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
95
95
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
96
96
|
H<E2, MergedPath, I>,
|
|
97
97
|
H<E3, MergedPath, I2>,
|
|
98
98
|
H<E4, MergedPath, I3>,
|
|
99
99
|
H<E5, MergedPath, I4>,
|
|
100
100
|
H<E6, MergedPath, I5, R>
|
|
101
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M,
|
|
101
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
102
102
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
103
103
|
H<E2, MergedPath, I>,
|
|
104
104
|
H<E3, MergedPath, I2>,
|
|
@@ -106,7 +106,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
106
106
|
H<E5, MergedPath, I4>,
|
|
107
107
|
H<E6, MergedPath, I5>,
|
|
108
108
|
H<E7, MergedPath, I6, R>
|
|
109
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M,
|
|
109
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
110
110
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
111
111
|
H<E2, MergedPath, I>,
|
|
112
112
|
H<E3, MergedPath, I2>,
|
|
@@ -115,7 +115,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
115
115
|
H<E6, MergedPath, I5>,
|
|
116
116
|
H<E7, MergedPath, I6>,
|
|
117
117
|
H<E8, MergedPath, I7, R>
|
|
118
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M,
|
|
118
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
119
119
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
120
120
|
H<E2, MergedPath, I>,
|
|
121
121
|
H<E3, MergedPath, I2>,
|
|
@@ -125,7 +125,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
125
125
|
H<E7, MergedPath, I6>,
|
|
126
126
|
H<E8, MergedPath, I7>,
|
|
127
127
|
H<E9, MergedPath, I8, R>
|
|
128
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M,
|
|
128
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
129
129
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
130
130
|
H<E2, MergedPath, I>,
|
|
131
131
|
H<E3, MergedPath, I2>,
|
|
@@ -136,7 +136,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
136
136
|
H<E8, MergedPath, I7>,
|
|
137
137
|
H<E9, MergedPath, I8>,
|
|
138
138
|
H<E10, MergedPath, I9, R>
|
|
139
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M,
|
|
139
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
140
140
|
<P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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: [
|
|
141
141
|
H<E2, MergedPath, I>,
|
|
142
142
|
H<E3, MergedPath, I2>,
|
|
@@ -148,7 +148,7 @@ export interface HandlerInterface<E extends Env = Env, M extends string = string
|
|
|
148
148
|
H<E9, MergedPath, I8>,
|
|
149
149
|
H<E10, MergedPath, I9>,
|
|
150
150
|
H<E11, MergedPath, I10, R>
|
|
151
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M,
|
|
151
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
152
152
|
<P extends string, I extends Input = {}, R extends HandlerResponse<any> = any>(path: P, ...handlers: H<E, MergePath<BasePath, P>, I, R>[]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
153
153
|
}
|
|
154
154
|
export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schema = {}, BasePath extends string = '/'> {
|
|
@@ -156,22 +156,22 @@ export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schem
|
|
|
156
156
|
<P extends string, E2 extends Env = E>(path: P, ...handlers: MiddlewareHandler<E2, MergePath<BasePath, P>>[]): Hono<E, S, BasePath>;
|
|
157
157
|
}
|
|
158
158
|
export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {}, BasePath extends string = '/'> {
|
|
159
|
-
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(method: M, path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M,
|
|
160
|
-
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M,
|
|
161
|
-
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M,
|
|
159
|
+
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(method: M, path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
160
|
+
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
161
|
+
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
162
162
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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]>>(method: M, path: P, ...handlers: [
|
|
163
163
|
H<E2, MergedPath, I>,
|
|
164
164
|
H<E3, MergedPath, I2>,
|
|
165
165
|
H<E4, MergedPath, I3>,
|
|
166
166
|
H<E5, MergedPath, I4, R>
|
|
167
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M,
|
|
167
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
168
168
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
169
169
|
H<E2, MergedPath, I>,
|
|
170
170
|
H<E3, MergedPath, I2>,
|
|
171
171
|
H<E4, MergedPath, I3>,
|
|
172
172
|
H<E5, MergedPath, I4>,
|
|
173
173
|
H<E6, MergedPath, I5, R>
|
|
174
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M,
|
|
174
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
175
175
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
176
176
|
H<E2, MergedPath, I>,
|
|
177
177
|
H<E3, MergedPath, I2>,
|
|
@@ -179,7 +179,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
179
179
|
H<E5, MergedPath, I4>,
|
|
180
180
|
H<E6, MergedPath, I5>,
|
|
181
181
|
H<E7, MergedPath, I6, R>
|
|
182
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M,
|
|
182
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
183
183
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
184
184
|
H<E2, MergedPath, I>,
|
|
185
185
|
H<E3, MergedPath, I2>,
|
|
@@ -188,7 +188,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
188
188
|
H<E6, MergedPath, I5>,
|
|
189
189
|
H<E7, MergedPath, I6>,
|
|
190
190
|
H<E8, MergedPath, I7, R>
|
|
191
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M,
|
|
191
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
192
192
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
193
193
|
H<E2, MergedPath, I>,
|
|
194
194
|
H<E3, MergedPath, I2>,
|
|
@@ -198,7 +198,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
198
198
|
H<E7, MergedPath, I6>,
|
|
199
199
|
H<E8, MergedPath, I7>,
|
|
200
200
|
H<E9, MergedPath, I8, R>
|
|
201
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M,
|
|
201
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
202
202
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
203
203
|
H<E2, MergedPath, I>,
|
|
204
204
|
H<E3, MergedPath, I2>,
|
|
@@ -209,7 +209,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
209
209
|
H<E8, MergedPath, I7>,
|
|
210
210
|
H<E9, MergedPath, I8>,
|
|
211
211
|
H<E10, MergedPath, I9, R>
|
|
212
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M,
|
|
212
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
213
213
|
<M extends string, P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, 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, 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]>>(method: M, path: P, ...handlers: [
|
|
214
214
|
H<E2, MergedPath, I>,
|
|
215
215
|
H<E3, MergedPath, I2>,
|
|
@@ -221,24 +221,24 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
221
221
|
H<E9, MergedPath, I8>,
|
|
222
222
|
H<E10, MergedPath, I9>,
|
|
223
223
|
H<E11, MergedPath, I10>
|
|
224
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M,
|
|
224
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10['in'], MergeTypedResponseData<HandlerResponse<any>>>, BasePath>;
|
|
225
225
|
<M extends string, P extends string, R extends HandlerResponse<any> = any, I extends Input = {}>(method: M, path: P, ...handlers: H<E, MergePath<BasePath, P>, I, R>[]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
226
|
-
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(methods: Ms, path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<Ms[number],
|
|
227
|
-
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(methods: Ms, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<Ms[number],
|
|
228
|
-
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(methods: Ms, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<Ms[number],
|
|
226
|
+
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, E2 extends Env = E>(methods: Ms, path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
227
|
+
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(methods: Ms, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I2['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
228
|
+
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = E, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(methods: Ms, path: P, ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I3['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
229
229
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = {}, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
230
230
|
H<E2, MergedPath, I>,
|
|
231
231
|
H<E3, MergedPath, I2>,
|
|
232
232
|
H<E4, MergedPath, I3>,
|
|
233
233
|
H<E5, MergedPath, I4, R>
|
|
234
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<Ms[number],
|
|
234
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I4['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
235
235
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
236
236
|
H<E2, MergedPath, I>,
|
|
237
237
|
H<E3, MergedPath, I2>,
|
|
238
238
|
H<E4, MergedPath, I3>,
|
|
239
239
|
H<E5, MergedPath, I4>,
|
|
240
240
|
H<E6, MergedPath, I5, R>
|
|
241
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<Ms[number],
|
|
241
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I5['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
242
242
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
243
243
|
H<E2, MergedPath, I>,
|
|
244
244
|
H<E3, MergedPath, I2>,
|
|
@@ -246,7 +246,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
246
246
|
H<E5, MergedPath, I4>,
|
|
247
247
|
H<E6, MergedPath, I5>,
|
|
248
248
|
H<E7, MergedPath, I6, R>
|
|
249
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<Ms[number],
|
|
249
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I6['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
250
250
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
251
251
|
H<E2, MergedPath, I>,
|
|
252
252
|
H<E3, MergedPath, I2>,
|
|
@@ -255,7 +255,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
255
255
|
H<E6, MergedPath, I5>,
|
|
256
256
|
H<E7, MergedPath, I6>,
|
|
257
257
|
H<E8, MergedPath, I7, R>
|
|
258
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<Ms[number],
|
|
258
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I7['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
259
259
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, R extends HandlerResponse<any> = any, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
260
260
|
H<E2, MergedPath, I>,
|
|
261
261
|
H<E3, MergedPath, I2>,
|
|
@@ -265,7 +265,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
265
265
|
H<E7, MergedPath, I6>,
|
|
266
266
|
H<E8, MergedPath, I7>,
|
|
267
267
|
H<E9, MergedPath, I8, R>
|
|
268
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<Ms[number],
|
|
268
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I8['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
269
269
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
270
270
|
H<E2, MergedPath, I>,
|
|
271
271
|
H<E3, MergedPath, I2>,
|
|
@@ -276,7 +276,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
276
276
|
H<E8, MergedPath, I7>,
|
|
277
277
|
H<E9, MergedPath, I8>,
|
|
278
278
|
H<E10, MergedPath, I9>
|
|
279
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<Ms[number],
|
|
279
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I9['in'], MergeTypedResponseData<HandlerResponse<any>>>, BasePath>;
|
|
280
280
|
<Ms extends string[], P extends string, MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>, 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, 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]>>(methods: Ms, path: P, ...handlers: [
|
|
281
281
|
H<E2, MergedPath, I>,
|
|
282
282
|
H<E3, MergedPath, I2>,
|
|
@@ -288,7 +288,7 @@ export interface OnHandlerInterface<E extends Env = Env, S extends Schema = {},
|
|
|
288
288
|
H<E9, MergedPath, I8>,
|
|
289
289
|
H<E10, MergedPath, I9>,
|
|
290
290
|
H<E11, MergedPath, I10>
|
|
291
|
-
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<Ms[number],
|
|
291
|
+
]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<Ms[number], MergePath<BasePath, P>, I10['in'], MergeTypedResponseData<HandlerResponse<any>>>, BasePath>;
|
|
292
292
|
<P extends string, R extends HandlerResponse<any> = any, I extends Input = {}>(methods: string[], path: P, ...handlers: H<E, MergePath<BasePath, P>, I, R>[]): Hono<E, S & ToSchema<string, MergePath<BasePath, P>, I['in'], MergeTypedResponseData<R>>, BasePath>;
|
|
293
293
|
}
|
|
294
294
|
type ExtractKey<S> = S extends Record<infer Key, unknown> ? Key extends string ? Key : never : string;
|
|
@@ -8,6 +8,20 @@ export type HtmlEscaped = {
|
|
|
8
8
|
callbacks?: HtmlEscapedCallback[];
|
|
9
9
|
};
|
|
10
10
|
export type HtmlEscapedString = string & HtmlEscaped;
|
|
11
|
+
/**
|
|
12
|
+
* StringBuffer contains string and Promise<string> alternately
|
|
13
|
+
* The length of the array will be odd, the odd numbered element will be a string,
|
|
14
|
+
* and the even numbered element will be a Promise<string>.
|
|
15
|
+
* When concatenating into a single string, it must be processed from the tail.
|
|
16
|
+
* @example
|
|
17
|
+
* [
|
|
18
|
+
* 'framework.',
|
|
19
|
+
* Promise.resolve('ultra fast'),
|
|
20
|
+
* 'a ',
|
|
21
|
+
* Promise.resolve('is '),
|
|
22
|
+
* 'Hono',
|
|
23
|
+
* ]
|
|
24
|
+
*/
|
|
11
25
|
export type StringBuffer = (string | Promise<string>)[];
|
|
12
26
|
export declare const stringBufferToString: (buffer: StringBuffer) => Promise<HtmlEscapedString>;
|
|
13
27
|
export declare const escapeToBuffer: (str: string, buffer: StringBuffer) => void;
|
package/dist/utils/html.js
CHANGED
|
@@ -4,16 +4,28 @@ var escapeRe = /[&<>'"]/;
|
|
|
4
4
|
var stringBufferToString = async (buffer) => {
|
|
5
5
|
let str = "";
|
|
6
6
|
const callbacks = [];
|
|
7
|
-
for (let i = buffer.length - 1;
|
|
7
|
+
for (let i = buffer.length - 1; ; i--) {
|
|
8
|
+
str += buffer[i];
|
|
9
|
+
i--;
|
|
10
|
+
if (i < 0) {
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
8
13
|
let r = await buffer[i];
|
|
9
14
|
if (typeof r === "object") {
|
|
10
15
|
callbacks.push(...r.callbacks || []);
|
|
11
16
|
}
|
|
17
|
+
const isEscaped = r.isEscaped;
|
|
12
18
|
r = await (typeof r === "object" ? r.toString() : r);
|
|
13
19
|
if (typeof r === "object") {
|
|
14
20
|
callbacks.push(...r.callbacks || []);
|
|
15
21
|
}
|
|
16
|
-
|
|
22
|
+
if (r.isEscaped ?? isEscaped) {
|
|
23
|
+
str += r;
|
|
24
|
+
} else {
|
|
25
|
+
const buf = [str];
|
|
26
|
+
escapeToBuffer(r, buf);
|
|
27
|
+
str = buf[0];
|
|
28
|
+
}
|
|
17
29
|
}
|
|
18
30
|
return raw(str, callbacks);
|
|
19
31
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hono",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.9",
|
|
4
4
|
"description": "Ultrafast web framework for the Edges",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"test": "tsc --noEmit && vitest --run",
|
|
14
14
|
"test:deno": "env NAME=Deno deno test --allow-read --allow-env runtime_tests/deno && deno test --no-lock -c runtime_tests/deno-jsx/deno.precompile.json runtime_tests/deno-jsx && deno test --no-lock -c runtime_tests/deno-jsx/deno.react-jsx.json runtime_tests/deno-jsx",
|
|
15
15
|
"test:bun": "env NAME=Bun bun test --jsx-import-source ../../src/jsx runtime_tests/bun/index.test.tsx",
|
|
16
|
-
"test:fastly": "
|
|
16
|
+
"test:fastly": "vitest --run --config ./runtime_tests/fastly/vitest.config.ts",
|
|
17
17
|
"test:lagon": "start-server-and-test \"lagon dev runtime_tests/lagon/index.ts -e runtime_tests/lagon/.env.lagon\" http://127.0.0.1:1234 \"yarn vitest --run runtime_tests/lagon/index.test.ts --config runtime_tests/lagon/vitest.config.ts\"",
|
|
18
18
|
"test:node": "env NAME=Node vitest --run --config ./runtime_tests/node/vitest.config.ts",
|
|
19
19
|
"test:wrangler": "vitest --run --config ./runtime_tests/wrangler/vitest.config.ts",
|
|
@@ -441,25 +441,22 @@
|
|
|
441
441
|
"nodejs"
|
|
442
442
|
],
|
|
443
443
|
"devDependencies": {
|
|
444
|
-
"@cloudflare/workers-types": "^4.
|
|
445
|
-
"@hono/eslint-config": "^0.0.
|
|
446
|
-
"@hono/node-server": "^1.
|
|
444
|
+
"@cloudflare/workers-types": "^4.20231121.0",
|
|
445
|
+
"@hono/eslint-config": "^0.0.3",
|
|
446
|
+
"@hono/node-server": "^1.3.3",
|
|
447
447
|
"@types/crypto-js": "^4.1.1",
|
|
448
448
|
"@types/glob": "^8.0.0",
|
|
449
|
-
"@types/jest": "^29.4.0",
|
|
450
449
|
"@types/jsdom": "^21.1.4",
|
|
451
450
|
"@types/node": "^20.8.2",
|
|
452
451
|
"@types/node-fetch": "^2.6.2",
|
|
453
452
|
"@types/supertest": "^2.0.12",
|
|
454
|
-
"@vitest/coverage-v8": "^0.
|
|
453
|
+
"@vitest/coverage-v8": "^1.0.4",
|
|
455
454
|
"arg": "^5.0.2",
|
|
456
455
|
"crypto-js": "^4.1.1",
|
|
457
456
|
"denoify": "^1.6.6",
|
|
458
457
|
"esbuild": "^0.15.12",
|
|
459
458
|
"eslint": "^8.55.0",
|
|
460
459
|
"form-data": "^4.0.0",
|
|
461
|
-
"jest": "^29.6.4",
|
|
462
|
-
"jest-preset-fastly-js-compute": "^1.3.0",
|
|
463
460
|
"jsdom": "^22.1.0",
|
|
464
461
|
"msw": "^1.0.0",
|
|
465
462
|
"node-fetch": "2",
|
|
@@ -469,11 +466,11 @@
|
|
|
469
466
|
"rimraf": "^3.0.2",
|
|
470
467
|
"start-server-and-test": "^1.15.2",
|
|
471
468
|
"supertest": "^6.3.3",
|
|
472
|
-
"ts-jest": "^29.1.1",
|
|
473
469
|
"tsx": "^3.11.0",
|
|
474
470
|
"typescript": "^5.3.3",
|
|
475
|
-
"
|
|
476
|
-
"
|
|
471
|
+
"vite-plugin-fastly-js-compute": "^0.4.2",
|
|
472
|
+
"vitest": "^1.0.4",
|
|
473
|
+
"wrangler": "3.17.1",
|
|
477
474
|
"zod": "^3.20.2"
|
|
478
475
|
},
|
|
479
476
|
"engines": {
|
|
File without changes
|