@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 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 = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> {
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> = (middleware: MiddlewareFn) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
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> = (middleware: MiddlewareObj) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
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
- (middlewares: MiddlewareObj<TEvent, TResult, TErr, TContext> | Array<MiddlewareObj<TEvent, TResult, TErr, TContext>>) => MiddyfiedHandler<TEvent, TResult, TErr, TContext>
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 = any, TResult = any, TErr = Error, TContext extends LambdaContext = LambdaContext> (handler?: MiddlewareHandler<LambdaHandler<TEvent, TResult>, TContext>, plugin?: PluginObject): MiddyfiedHandler<TEvent, TResult, TErr, TContext>
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.1.0-rc.1",
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": "^17.0.0"
62
+ "@types/node": "^18.0.0"
62
63
  },
63
- "gitHead": "044c397e7a2b1de516b4b5c21ece2baffdbfa771"
64
+ "gitHead": "ac46270daa388b52a81472ae8f9b8808a0136940"
64
65
  }