h3 0.5.0 → 0.5.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/index.cjs +13 -6
- package/dist/index.d.ts +11 -9
- package/dist/index.mjs +13 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -68,7 +68,11 @@ function defineLazyEventHandler(factory) {
|
|
|
68
68
|
}
|
|
69
69
|
if (!_promise) {
|
|
70
70
|
_promise = Promise.resolve(factory()).then((r) => {
|
|
71
|
-
|
|
71
|
+
const handler = r.default || r;
|
|
72
|
+
if (typeof handler !== "function") {
|
|
73
|
+
throw new TypeError("Invalid lazy handler result. It should be a function:", handler);
|
|
74
|
+
}
|
|
75
|
+
_resolved = toEventHandler(r.default || r);
|
|
72
76
|
return _resolved;
|
|
73
77
|
});
|
|
74
78
|
}
|
|
@@ -88,6 +92,9 @@ function toEventHandler(handler) {
|
|
|
88
92
|
if (isEventHandler(handler)) {
|
|
89
93
|
return handler;
|
|
90
94
|
}
|
|
95
|
+
if (typeof handler !== "function") {
|
|
96
|
+
throw new TypeError("Invalid handler. It should be a function:", handler);
|
|
97
|
+
}
|
|
91
98
|
return defineEventHandler((event) => {
|
|
92
99
|
return callHandler(handler, event.req, event.res);
|
|
93
100
|
});
|
|
@@ -305,6 +312,7 @@ function createApp(options = {}) {
|
|
|
305
312
|
}
|
|
306
313
|
};
|
|
307
314
|
const app = nodeHandler;
|
|
315
|
+
app.nodeHandler = nodeHandler;
|
|
308
316
|
app.stack = stack;
|
|
309
317
|
app.handler = handler;
|
|
310
318
|
app.use = (arg1, arg2, arg3) => use(app, arg1, arg2, arg3);
|
|
@@ -366,14 +374,13 @@ function createAppEventHandler(stack, options) {
|
|
|
366
374
|
});
|
|
367
375
|
}
|
|
368
376
|
function normalizeLayer(input) {
|
|
369
|
-
let handler = input.handler;
|
|
377
|
+
let handler = input.handler || input.handle;
|
|
370
378
|
if (handler.handler) {
|
|
371
379
|
handler = handler.handler;
|
|
372
380
|
}
|
|
373
|
-
if (
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
}
|
|
381
|
+
if (input.lazy) {
|
|
382
|
+
handler = defineLazyEventHandler(handler);
|
|
383
|
+
} else if (!isEventHandler(handler)) {
|
|
377
384
|
handler = toEventHandler(handler);
|
|
378
385
|
}
|
|
379
386
|
return {
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,8 @@ interface EventHandler {
|
|
|
21
21
|
(event: CompatibilityEvent): H3Response | Promise<H3Response>;
|
|
22
22
|
}
|
|
23
23
|
declare function defineEventHandler(handler: EventHandler): EventHandler;
|
|
24
|
-
declare
|
|
24
|
+
declare type LazyEventHandler = () => EventHandler | Promise<EventHandler>;
|
|
25
|
+
declare function defineLazyEventHandler(factory: LazyEventHandler): EventHandler;
|
|
25
26
|
declare function isEventHandler(input: any): input is EventHandler;
|
|
26
27
|
declare type CompatibilityEventHandler = EventHandler | Handler | Middleware;
|
|
27
28
|
declare function toEventHandler(handler: CompatibilityEventHandler): EventHandler;
|
|
@@ -58,11 +59,11 @@ declare type Stack = Layer[];
|
|
|
58
59
|
interface InputLayer {
|
|
59
60
|
route?: string;
|
|
60
61
|
match?: Matcher;
|
|
61
|
-
handler: Handler | LazyHandler;
|
|
62
|
+
handler: Handler | LazyHandler | EventHandler | LazyEventHandler;
|
|
62
63
|
lazy?: boolean;
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
/** @deprecated */
|
|
65
|
+
handle?: Handler;
|
|
66
|
+
/** @deprecated */
|
|
66
67
|
promisify?: boolean;
|
|
67
68
|
}
|
|
68
69
|
declare type InputStack = InputLayer[];
|
|
@@ -72,10 +73,11 @@ interface AppUse {
|
|
|
72
73
|
(handler: CompatibilityEventHandler | CompatibilityEventHandler[], options?: Partial<InputLayer>): App;
|
|
73
74
|
(options: InputLayer): App;
|
|
74
75
|
}
|
|
75
|
-
declare type NodeHandler = (req: http.IncomingMessage, res: http.ServerResponse) =>
|
|
76
|
+
declare type NodeHandler = (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
|
|
76
77
|
interface App extends NodeHandler {
|
|
77
78
|
stack: Stack;
|
|
78
79
|
handler: EventHandler;
|
|
80
|
+
nodeHandler: NodeHandler;
|
|
79
81
|
use: AppUse;
|
|
80
82
|
}
|
|
81
83
|
interface AppOptions {
|
|
@@ -128,10 +130,10 @@ declare function promisifyHandler(handler: Handler | Middleware): PromisifiedHan
|
|
|
128
130
|
/** @deprecated Use defineHandler */
|
|
129
131
|
declare const promisifyHandle: typeof promisifyHandler;
|
|
130
132
|
declare function callHandler(handler: Middleware, req: IncomingMessage, res: ServerResponse): Promise<unknown>;
|
|
131
|
-
declare function defineLazyHandler(handler: LazyHandler, promisify?: boolean):
|
|
133
|
+
declare function defineLazyHandler(handler: LazyHandler, promisify?: boolean): Handler;
|
|
132
134
|
/** @deprecated Use defineLazyHandler */
|
|
133
135
|
declare const lazyHandle: typeof defineLazyHandler;
|
|
134
|
-
declare function useBase(base: string, handler:
|
|
136
|
+
declare function useBase(base: string, handler: Handler): Handler;
|
|
135
137
|
|
|
136
138
|
/**
|
|
137
139
|
* Reads body of the request and returns encoded raw string (default) or `Buffer` if encoding if falsy.
|
|
@@ -222,4 +224,4 @@ interface Router extends AddRouteShortcuts {
|
|
|
222
224
|
}
|
|
223
225
|
declare function createRouter(): Router;
|
|
224
226
|
|
|
225
|
-
export { AddRouteShortcuts, App, AppOptions, AppUse, CompatibilityEvent, CompatibilityEventHandler, EventHandler, H3Error, H3Event, H3Response, InputLayer, InputStack, JSONValue, Layer, MIMES, Matcher, NodeHandler, Router, RouterMethod, RouterUse, Stack, _JSONValue, appendHeader, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, isEvent, isEventHandler, isMethod, isStream, lazyHandle, promisifyHandle, promisifyHandler, send, sendError, sendRedirect, sendStream, setCookie, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
|
227
|
+
export { AddRouteShortcuts, App, AppOptions, AppUse, CompatibilityEvent, CompatibilityEventHandler, Encoding, EventHandler, H3Error, H3Event, H3Response, HTTPMethod, Handler, IncomingMessage, InputLayer, InputStack, JSONValue, Layer, LazyEventHandler, LazyHandler, MIMES, Matcher, Middleware, NodeHandler, PromisifiedHandler, Router, RouterMethod, RouterUse, ServerResponse, Stack, _JSONValue, appendHeader, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, isEvent, isEventHandler, isMethod, isStream, lazyHandle, promisifyHandle, promisifyHandler, send, sendError, sendRedirect, sendStream, setCookie, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
package/dist/index.mjs
CHANGED
|
@@ -60,7 +60,11 @@ function defineLazyEventHandler(factory) {
|
|
|
60
60
|
}
|
|
61
61
|
if (!_promise) {
|
|
62
62
|
_promise = Promise.resolve(factory()).then((r) => {
|
|
63
|
-
|
|
63
|
+
const handler = r.default || r;
|
|
64
|
+
if (typeof handler !== "function") {
|
|
65
|
+
throw new TypeError("Invalid lazy handler result. It should be a function:", handler);
|
|
66
|
+
}
|
|
67
|
+
_resolved = toEventHandler(r.default || r);
|
|
64
68
|
return _resolved;
|
|
65
69
|
});
|
|
66
70
|
}
|
|
@@ -80,6 +84,9 @@ function toEventHandler(handler) {
|
|
|
80
84
|
if (isEventHandler(handler)) {
|
|
81
85
|
return handler;
|
|
82
86
|
}
|
|
87
|
+
if (typeof handler !== "function") {
|
|
88
|
+
throw new TypeError("Invalid handler. It should be a function:", handler);
|
|
89
|
+
}
|
|
83
90
|
return defineEventHandler((event) => {
|
|
84
91
|
return callHandler(handler, event.req, event.res);
|
|
85
92
|
});
|
|
@@ -297,6 +304,7 @@ function createApp(options = {}) {
|
|
|
297
304
|
}
|
|
298
305
|
};
|
|
299
306
|
const app = nodeHandler;
|
|
307
|
+
app.nodeHandler = nodeHandler;
|
|
300
308
|
app.stack = stack;
|
|
301
309
|
app.handler = handler;
|
|
302
310
|
app.use = (arg1, arg2, arg3) => use(app, arg1, arg2, arg3);
|
|
@@ -358,14 +366,13 @@ function createAppEventHandler(stack, options) {
|
|
|
358
366
|
});
|
|
359
367
|
}
|
|
360
368
|
function normalizeLayer(input) {
|
|
361
|
-
let handler = input.handler;
|
|
369
|
+
let handler = input.handler || input.handle;
|
|
362
370
|
if (handler.handler) {
|
|
363
371
|
handler = handler.handler;
|
|
364
372
|
}
|
|
365
|
-
if (
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
373
|
+
if (input.lazy) {
|
|
374
|
+
handler = defineLazyEventHandler(handler);
|
|
375
|
+
} else if (!isEventHandler(handler)) {
|
|
369
376
|
handler = toEventHandler(handler);
|
|
370
377
|
}
|
|
371
378
|
return {
|