@middy/core 3.1.0 → 3.2.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.
Files changed (4) hide show
  1. package/index.cjs +28 -26
  2. package/index.d.ts +11 -7
  3. package/index.js +22 -22
  4. package/package.json +4 -3
package/index.cjs CHANGED
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- module.exports = void 0;
6
- var _events = require("events");
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: ()=>_default
8
+ });
9
+ const _events = require("events");
7
10
  const defaultLambdaHandler = ()=>{};
8
11
  const defaultPlugin = {
9
12
  timeoutEarlyInMillis: 5,
@@ -25,7 +28,7 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
25
28
  const beforeMiddlewares = [];
26
29
  const afterMiddlewares = [];
27
30
  const onErrorMiddlewares = [];
28
- const middy1 = (event = {}, context = {})=>{
31
+ const middy = (event = {}, context = {})=>{
29
32
  plugin.requestStart?.();
30
33
  const request = {
31
34
  event,
@@ -42,7 +45,7 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
42
45
  ...onErrorMiddlewares
43
46
  ], plugin);
44
47
  };
45
- middy1.use = (middlewares)=>{
48
+ middy.use = (middlewares)=>{
46
49
  if (!Array.isArray(middlewares)) {
47
50
  middlewares = [
48
51
  middlewares
@@ -53,35 +56,35 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
53
56
  if (!before && !after && !onError) {
54
57
  throw new Error('Middleware must be an object containing at least one key among "before", "after", "onError"');
55
58
  }
56
- if (before) middy1.before(before);
57
- if (after) middy1.after(after);
58
- if (onError) middy1.onError(onError);
59
+ if (before) middy.before(before);
60
+ if (after) middy.after(after);
61
+ if (onError) middy.onError(onError);
59
62
  }
60
- return middy1;
63
+ return middy;
61
64
  };
62
- middy1.before = (beforeMiddleware)=>{
65
+ middy.before = (beforeMiddleware)=>{
63
66
  beforeMiddlewares.push(beforeMiddleware);
64
- return middy1;
67
+ return middy;
65
68
  };
66
- middy1.after = (afterMiddleware)=>{
69
+ middy.after = (afterMiddleware)=>{
67
70
  afterMiddlewares.unshift(afterMiddleware);
68
- return middy1;
71
+ return middy;
69
72
  };
70
- middy1.onError = (onErrorMiddleware)=>{
73
+ middy.onError = (onErrorMiddleware)=>{
71
74
  onErrorMiddlewares.unshift(onErrorMiddleware);
72
- return middy1;
75
+ return middy;
73
76
  };
74
- middy1.handler = (replaceLambdaHandler)=>{
77
+ middy.handler = (replaceLambdaHandler)=>{
75
78
  lambdaHandler = replaceLambdaHandler;
76
- return middy1;
79
+ return middy;
77
80
  };
78
- return middy1;
81
+ return middy;
79
82
  };
80
83
  const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddlewares, onErrorMiddlewares, plugin)=>{
81
84
  const timeoutEarly = plugin.timeoutEarly && request.context.getRemainingTimeInMillis;
82
85
  try {
83
86
  await runMiddlewares(request, beforeMiddlewares, plugin);
84
- if (request.response === undefined) {
87
+ if (typeof request.response === 'undefined') {
85
88
  plugin.beforeHandler?.();
86
89
  const handlerAbort = new AbortController();
87
90
  let timeoutAbort;
@@ -106,12 +109,12 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
106
109
  request.error = e;
107
110
  try {
108
111
  await runMiddlewares(request, onErrorMiddlewares, plugin);
109
- } catch (e) {
110
- e.originalError = request.error;
111
- request.error = e;
112
+ } catch (e1) {
113
+ e1.originalError = request.error;
114
+ request.error = e1;
112
115
  throw request.error;
113
116
  }
114
- if (request.response === undefined) throw request.error;
117
+ if (typeof request.response === 'undefined') throw request.error;
115
118
  } finally{
116
119
  await plugin.requestEnd?.(request);
117
120
  }
@@ -122,7 +125,7 @@ const runMiddlewares = async (request, middlewares, plugin)=>{
122
125
  plugin.beforeMiddleware?.(nextMiddleware.name);
123
126
  const res = await nextMiddleware(request);
124
127
  plugin.afterMiddleware?.(nextMiddleware.name);
125
- if (res !== undefined) {
128
+ if (typeof res !== 'undefined') {
126
129
  request.response = res;
127
130
  return;
128
131
  }
@@ -158,7 +161,7 @@ const polyfillAbortController = ()=>{
158
161
  this.aborted = false;
159
162
  }
160
163
  }
161
- return class AbortController {
164
+ return class AbortController1 {
162
165
  abort() {
163
166
  if (this.signal.aborted) return;
164
167
  this.signal.aborted = true;
@@ -198,8 +201,7 @@ const polyfillSetTimeoutPromise = ()=>{
198
201
  };
199
202
  };
200
203
  const setTimeoutPromise = polyfillSetTimeoutPromise();
201
- var _default = middy;
202
- module.exports = _default;
204
+ const _default = middy;
203
205
 
204
206
 
205
207
  //# sourceMappingURL=index.cjs.map
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
@@ -20,7 +20,7 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
20
20
  const beforeMiddlewares = [];
21
21
  const afterMiddlewares = [];
22
22
  const onErrorMiddlewares = [];
23
- const middy1 = (event = {}, context = {})=>{
23
+ const middy = (event = {}, context = {})=>{
24
24
  plugin.requestStart?.();
25
25
  const request = {
26
26
  event,
@@ -37,7 +37,7 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
37
37
  ...onErrorMiddlewares
38
38
  ], plugin);
39
39
  };
40
- middy1.use = (middlewares)=>{
40
+ middy.use = (middlewares)=>{
41
41
  if (!Array.isArray(middlewares)) {
42
42
  middlewares = [
43
43
  middlewares
@@ -48,35 +48,35 @@ const middy = (lambdaHandler = defaultLambdaHandler, plugin = {})=>{
48
48
  if (!before && !after && !onError) {
49
49
  throw new Error('Middleware must be an object containing at least one key among "before", "after", "onError"');
50
50
  }
51
- if (before) middy1.before(before);
52
- if (after) middy1.after(after);
53
- if (onError) middy1.onError(onError);
51
+ if (before) middy.before(before);
52
+ if (after) middy.after(after);
53
+ if (onError) middy.onError(onError);
54
54
  }
55
- return middy1;
55
+ return middy;
56
56
  };
57
- middy1.before = (beforeMiddleware)=>{
57
+ middy.before = (beforeMiddleware)=>{
58
58
  beforeMiddlewares.push(beforeMiddleware);
59
- return middy1;
59
+ return middy;
60
60
  };
61
- middy1.after = (afterMiddleware)=>{
61
+ middy.after = (afterMiddleware)=>{
62
62
  afterMiddlewares.unshift(afterMiddleware);
63
- return middy1;
63
+ return middy;
64
64
  };
65
- middy1.onError = (onErrorMiddleware)=>{
65
+ middy.onError = (onErrorMiddleware)=>{
66
66
  onErrorMiddlewares.unshift(onErrorMiddleware);
67
- return middy1;
67
+ return middy;
68
68
  };
69
- middy1.handler = (replaceLambdaHandler)=>{
69
+ middy.handler = (replaceLambdaHandler)=>{
70
70
  lambdaHandler = replaceLambdaHandler;
71
- return middy1;
71
+ return middy;
72
72
  };
73
- return middy1;
73
+ return middy;
74
74
  };
75
75
  const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddlewares, onErrorMiddlewares, plugin)=>{
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;
@@ -101,12 +101,12 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
101
101
  request.error = e;
102
102
  try {
103
103
  await runMiddlewares(request, onErrorMiddlewares, plugin);
104
- } catch (e) {
105
- e.originalError = request.error;
106
- request.error = e;
104
+ } catch (e1) {
105
+ e1.originalError = request.error;
106
+ request.error = e1;
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
  }
@@ -153,7 +153,7 @@ const polyfillAbortController = ()=>{
153
153
  this.aborted = false;
154
154
  }
155
155
  }
156
- return class AbortController {
156
+ return class AbortController1 {
157
157
  abort() {
158
158
  if (this.signal.aborted) return;
159
159
  this.signal.aborted = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/core",
3
- "version": "3.1.0",
3
+ "version": "3.2.1",
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": "d5284fd11c175516c189b6061fee7312106d9709"
64
+ "gitHead": "b4169ec20b798650e934a7c25ee80ae98d11e03a"
64
65
  }