@middy/core 3.1.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.
Files changed (2) hide show
  1. package/index.d.ts +11 -7
  2. package/package.json +3 -3
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/core",
3
- "version": "3.1.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": {
@@ -59,7 +59,7 @@
59
59
  "homepage": "https://middy.js.org",
60
60
  "devDependencies": {
61
61
  "@types/aws-lambda": "^8.10.76",
62
- "@types/node": "^17.0.0"
62
+ "@types/node": "^18.0.0"
63
63
  },
64
- "gitHead": "d53fc91d035b01d3fd296cb6c7d0acd8305e9f76"
64
+ "gitHead": "ac46270daa388b52a81472ae8f9b8808a0136940"
65
65
  }