@middy/core 3.6.1 → 4.0.0-alpha.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.
Files changed (3) hide show
  1. package/index.cjs +2 -72
  2. package/index.js +2 -72
  3. package/package.json +3 -3
package/index.cjs CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(module, "exports", {
6
6
  enumerable: true,
7
7
  get: ()=>_default
8
8
  });
9
- const _events = require("events");
9
+ const _promises = require("node:timers/promises");
10
10
  const defaultLambdaHandler = ()=>{};
11
11
  const defaultPlugin = {
12
12
  timeoutEarlyInMillis: 5,
@@ -93,7 +93,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
93
93
  lambdaHandler(request.event, request.context, {
94
94
  signal: handlerAbort.signal
95
95
  }),
96
- timeoutEarly ? setTimeoutPromise(request.context.getRemainingTimeInMillis() - plugin.timeoutEarlyInMillis, {
96
+ timeoutEarly ? (0, _promises.setTimeout)(request.context.getRemainingTimeInMillis() - plugin.timeoutEarlyInMillis, {
97
97
  signal: timeoutAbort.signal
98
98
  }).then(()=>{
99
99
  handlerAbort.abort();
@@ -131,76 +131,6 @@ const runMiddlewares = async (request, middlewares, plugin)=>{
131
131
  }
132
132
  }
133
133
  };
134
- const polyfillAbortController = ()=>{
135
- if (process.version < 'v15.0.0') {
136
- class AbortSignal {
137
- toString() {
138
- return '[object AbortSignal]';
139
- }
140
- get [Symbol.toStringTag]() {
141
- return 'AbortSignal';
142
- }
143
- removeEventListener(name, handler) {
144
- this.eventEmitter.removeListener(name, handler);
145
- }
146
- addEventListener(name, handler) {
147
- this.eventEmitter.on(name, handler);
148
- }
149
- dispatchEvent(type) {
150
- const event = {
151
- type,
152
- target: this
153
- };
154
- const handlerName = `on${type}`;
155
- if (typeof this[handlerName] === 'function') this[handlerName](event);
156
- this.eventEmitter.emit(type, event);
157
- }
158
- constructor(){
159
- this.eventEmitter = new _events.EventEmitter();
160
- this.onabort = null;
161
- this.aborted = false;
162
- }
163
- }
164
- return class AbortController1 {
165
- abort() {
166
- if (this.signal.aborted) return;
167
- this.signal.aborted = true;
168
- this.signal.dispatchEvent('abort');
169
- }
170
- toString() {
171
- return '[object AbortController]';
172
- }
173
- get [Symbol.toStringTag]() {
174
- return 'AbortController';
175
- }
176
- constructor(){
177
- this.signal = new AbortSignal();
178
- }
179
- };
180
- } else {
181
- return AbortController;
182
- }
183
- };
184
- global.AbortController = polyfillAbortController();
185
- const polyfillSetTimeoutPromise = ()=>{
186
- return (ms, { signal })=>{
187
- if (signal.aborted) {
188
- return Promise.reject(new Error('Aborted', 'AbortError'));
189
- }
190
- return new Promise((resolve, reject)=>{
191
- const abortHandler = ()=>{
192
- clearTimeout(timeout);
193
- reject(new Error('Aborted', 'AbortError'));
194
- };
195
- const timeout = setTimeout(()=>{
196
- resolve();
197
- signal.removeEventListener('abort', abortHandler);
198
- }, ms);
199
- signal.addEventListener('abort', abortHandler);
200
- });
201
- };
202
- };
203
- const setTimeoutPromise = polyfillSetTimeoutPromise();
204
134
  const _default = middy;
205
135
 
206
136
 
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'events';
1
+ import { setTimeout } from 'node:timers/promises';
2
2
  const defaultLambdaHandler = ()=>{};
3
3
  const defaultPlugin = {
4
4
  timeoutEarlyInMillis: 5,
@@ -85,7 +85,7 @@ const runRequest = async (request, beforeMiddlewares, lambdaHandler, afterMiddle
85
85
  lambdaHandler(request.event, request.context, {
86
86
  signal: handlerAbort.signal
87
87
  }),
88
- timeoutEarly ? setTimeoutPromise(request.context.getRemainingTimeInMillis() - plugin.timeoutEarlyInMillis, {
88
+ timeoutEarly ? setTimeout(request.context.getRemainingTimeInMillis() - plugin.timeoutEarlyInMillis, {
89
89
  signal: timeoutAbort.signal
90
90
  }).then(()=>{
91
91
  handlerAbort.abort();
@@ -123,76 +123,6 @@ const runMiddlewares = async (request, middlewares, plugin)=>{
123
123
  }
124
124
  }
125
125
  };
126
- const polyfillAbortController = ()=>{
127
- if (process.version < 'v15.0.0') {
128
- class AbortSignal {
129
- toString() {
130
- return '[object AbortSignal]';
131
- }
132
- get [Symbol.toStringTag]() {
133
- return 'AbortSignal';
134
- }
135
- removeEventListener(name, handler) {
136
- this.eventEmitter.removeListener(name, handler);
137
- }
138
- addEventListener(name, handler) {
139
- this.eventEmitter.on(name, handler);
140
- }
141
- dispatchEvent(type) {
142
- const event = {
143
- type,
144
- target: this
145
- };
146
- const handlerName = `on${type}`;
147
- if (typeof this[handlerName] === 'function') this[handlerName](event);
148
- this.eventEmitter.emit(type, event);
149
- }
150
- constructor(){
151
- this.eventEmitter = new EventEmitter();
152
- this.onabort = null;
153
- this.aborted = false;
154
- }
155
- }
156
- return class AbortController1 {
157
- abort() {
158
- if (this.signal.aborted) return;
159
- this.signal.aborted = true;
160
- this.signal.dispatchEvent('abort');
161
- }
162
- toString() {
163
- return '[object AbortController]';
164
- }
165
- get [Symbol.toStringTag]() {
166
- return 'AbortController';
167
- }
168
- constructor(){
169
- this.signal = new AbortSignal();
170
- }
171
- };
172
- } else {
173
- return AbortController;
174
- }
175
- };
176
- global.AbortController = polyfillAbortController();
177
- const polyfillSetTimeoutPromise = ()=>{
178
- return (ms, { signal })=>{
179
- if (signal.aborted) {
180
- return Promise.reject(new Error('Aborted', 'AbortError'));
181
- }
182
- return new Promise((resolve, reject)=>{
183
- const abortHandler = ()=>{
184
- clearTimeout(timeout);
185
- reject(new Error('Aborted', 'AbortError'));
186
- };
187
- const timeout = setTimeout(()=>{
188
- resolve();
189
- signal.removeEventListener('abort', abortHandler);
190
- }, ms);
191
- signal.addEventListener('abort', abortHandler);
192
- });
193
- };
194
- };
195
- const setTimeoutPromise = polyfillSetTimeoutPromise();
196
126
  export default middy;
197
127
 
198
128
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@middy/core",
3
- "version": "3.6.1",
3
+ "version": "4.0.0-alpha.0",
4
4
  "description": "🛵 The stylish Node.js middleware engine for AWS Lambda (core package)",
5
5
  "type": "module",
6
6
  "engines": {
7
- "node": ">=14"
7
+ "node": ">=16"
8
8
  },
9
9
  "engineStrict": true,
10
10
  "publishConfig": {
@@ -61,5 +61,5 @@
61
61
  "@types/aws-lambda": "^8.10.76",
62
62
  "@types/node": "^18.0.0"
63
63
  },
64
- "gitHead": "31a7f9f8e93a73a8be382b3022b9cfcbc13b2961"
64
+ "gitHead": "306fb9aa633d5757d11ced3dc192f046ef3c2685"
65
65
  }