@middy/core 3.1.0-rc.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +3 -3
- package/index.d.ts +11 -7
- package/index.js +3 -3
- package/package.json +4 -3
package/index.cjs
CHANGED
|
@@ -81,7 +81,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
|
|
|
81
81
|
const timeoutEarly = plugin.timeoutEarly && request.context.getRemainingTimeInMillis;
|
|
82
82
|
try {
|
|
83
83
|
await runMiddlewares(request, beforeMiddlewares, plugin);
|
|
84
|
-
if (request.response === undefined) {
|
|
84
|
+
if (typeof request.response === 'undefined') {
|
|
85
85
|
plugin.beforeHandler?.();
|
|
86
86
|
const handlerAbort = new AbortController();
|
|
87
87
|
let timeoutAbort;
|
|
@@ -111,7 +111,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
|
|
|
111
111
|
request.error = e;
|
|
112
112
|
throw request.error;
|
|
113
113
|
}
|
|
114
|
-
if (request.response === undefined) throw request.error;
|
|
114
|
+
if (typeof request.response === 'undefined') throw request.error;
|
|
115
115
|
} finally{
|
|
116
116
|
await plugin.requestEnd?.(request);
|
|
117
117
|
}
|
|
@@ -122,7 +122,7 @@ const runMiddlewares = async (request, middlewares, plugin)=>{
|
|
|
122
122
|
plugin.beforeMiddleware?.(nextMiddleware.name);
|
|
123
123
|
const res = await nextMiddleware(request);
|
|
124
124
|
plugin.afterMiddleware?.(nextMiddleware.name);
|
|
125
|
-
if (res !== undefined) {
|
|
125
|
+
if (typeof res !== 'undefined') {
|
|
126
126
|
request.response = res;
|
|
127
127
|
return;
|
|
128
128
|
}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Callback as LambdaCallback,
|
|
2
3
|
Context as LambdaContext,
|
|
3
|
-
Handler as LambdaHandler
|
|
4
|
-
Callback as LambdaCallback
|
|
4
|
+
Handler as LambdaHandler
|
|
5
5
|
} from 'aws-lambda'
|
|
6
6
|
|
|
7
7
|
declare type PluginHook = () => void
|
|
@@ -33,7 +33,7 @@ interface Request<TEvent = any, TResult = any, TErr = Error, TContext extends La
|
|
|
33
33
|
|
|
34
34
|
declare type MiddlewareFn<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> = (request: Request<TEvent, TResult, TErr, TContext>) => any
|
|
35
35
|
|
|
36
|
-
export interface MiddlewareObj<TEvent =
|
|
36
|
+
export interface MiddlewareObj<TEvent = unknown, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> {
|
|
37
37
|
before?: MiddlewareFn<TEvent, TResult, TErr, TContext>
|
|
38
38
|
after?: MiddlewareFn<TEvent, TResult, TErr, TContext>
|
|
39
39
|
onError?: MiddlewareFn<TEvent, TResult, TErr, TContext>
|
|
@@ -53,12 +53,16 @@ export interface MiddyfiedHandler<TEvent = any, TResult = any, TErr = Error, TCo
|
|
|
53
53
|
handler: (handler: MiddlewareHandler<LambdaHandler<TEvent, TResult>, TContext>) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
declare type AttachMiddlewareFn<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> =
|
|
56
|
+
declare type AttachMiddlewareFn<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> =
|
|
57
|
+
(middleware: MiddlewareFn<TEvent, TResult, TErr, TContext>) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
|
|
57
58
|
|
|
58
|
-
declare type AttachMiddlewareObj<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> =
|
|
59
|
+
declare type AttachMiddlewareObj<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> =
|
|
60
|
+
(middleware: MiddlewareObj<TEvent, TResult, TErr, TContext>) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
|
|
59
61
|
|
|
60
62
|
declare type UseFn<TEvent = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> =
|
|
61
|
-
|
|
63
|
+
<TMiddleware extends MiddlewareObj<any, any, Error, any>>(middlewares: TMiddleware | TMiddleware[]) => TMiddleware extends MiddlewareObj<infer TMiddlewareEvent, any, Error, infer TMiddlewareContext>
|
|
64
|
+
? MiddyfiedHandler<TMiddlewareEvent & TEvent, TResult, TErr, TMiddlewareContext & TContext> // always true
|
|
65
|
+
: never
|
|
62
66
|
|
|
63
67
|
declare type MiddlewareHandler<THandler extends LambdaHandler<any, any>, TContext extends LambdaContext = LambdaContext> =
|
|
64
68
|
THandler extends LambdaHandler<infer TEvent, infer TResult> // always true
|
|
@@ -70,7 +74,7 @@ declare type MiddlewareHandler<THandler extends LambdaHandler<any, any>, TContex
|
|
|
70
74
|
* @param handler your original AWS Lambda function
|
|
71
75
|
* @param plugin wraps around each middleware and handler to add custom lifecycle behaviours (e.g. to profile performance)
|
|
72
76
|
*/
|
|
73
|
-
declare function middy<TEvent =
|
|
77
|
+
declare function middy<TEvent = unknown, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> (handler?: MiddlewareHandler<LambdaHandler<TEvent, TResult>, TContext>, plugin?: PluginObject): MiddyfiedHandler<TEvent, TResult, TErr, TContext>
|
|
74
78
|
|
|
75
79
|
declare namespace middy {
|
|
76
80
|
export {
|
package/index.js
CHANGED
|
@@ -76,7 +76,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
|
|
|
76
76
|
const timeoutEarly = plugin.timeoutEarly && request.context.getRemainingTimeInMillis;
|
|
77
77
|
try {
|
|
78
78
|
await runMiddlewares(request, beforeMiddlewares, plugin);
|
|
79
|
-
if (request.response === undefined) {
|
|
79
|
+
if (typeof request.response === 'undefined') {
|
|
80
80
|
plugin.beforeHandler?.();
|
|
81
81
|
const handlerAbort = new AbortController();
|
|
82
82
|
let timeoutAbort;
|
|
@@ -106,7 +106,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
|
|
|
106
106
|
request.error = e;
|
|
107
107
|
throw request.error;
|
|
108
108
|
}
|
|
109
|
-
if (request.response === undefined) throw request.error;
|
|
109
|
+
if (typeof request.response === 'undefined') throw request.error;
|
|
110
110
|
} finally{
|
|
111
111
|
await plugin.requestEnd?.(request);
|
|
112
112
|
}
|
|
@@ -117,7 +117,7 @@ const runMiddlewares = async (request, middlewares, plugin)=>{
|
|
|
117
117
|
plugin.beforeMiddleware?.(nextMiddleware.name);
|
|
118
118
|
const res = await nextMiddleware(request);
|
|
119
119
|
plugin.afterMiddleware?.(nextMiddleware.name);
|
|
120
|
-
if (res !== undefined) {
|
|
120
|
+
if (typeof res !== 'undefined') {
|
|
121
121
|
request.response = res;
|
|
122
122
|
return;
|
|
123
123
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@middy/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "🛵 The stylish Node.js middleware engine for AWS Lambda (core package)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
13
|
"main": "./index.cjs",
|
|
14
|
+
"module": "./index.js",
|
|
14
15
|
"exports": {
|
|
15
16
|
".": {
|
|
16
17
|
"import": {
|
|
@@ -58,7 +59,7 @@
|
|
|
58
59
|
"homepage": "https://middy.js.org",
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@types/aws-lambda": "^8.10.76",
|
|
61
|
-
"@types/node": "^
|
|
62
|
+
"@types/node": "^18.0.0"
|
|
62
63
|
},
|
|
63
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "ac46270daa388b52a81472ae8f9b8808a0136940"
|
|
64
65
|
}
|