@middy/ssm 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 +23 -4
  2. package/package.json +7 -5
package/index.d.ts CHANGED
@@ -1,9 +1,28 @@
1
- import SSM from 'aws-sdk/clients/ssm'
2
- import { Options as MiddyOptions } from '@middy/util'
3
1
  import middy from '@middy/core'
2
+ import { Options as MiddyOptions } from '@middy/util'
3
+ import { Context as LambdaContext } from 'aws-lambda'
4
+ import SSM from 'aws-sdk/clients/ssm'
5
+ import { JsonValue } from 'type-fest'
6
+
7
+ interface Options<S = SSM>
8
+ extends MiddyOptions<S, SSM.Types.ClientConfiguration> {}
9
+
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ type ExtractSingles<T> = T extends `/${infer _}` ? never : T
4
12
 
5
- interface Options<S = SSM> extends MiddyOptions<S, SSM.Types.ClientConfiguration> {}
13
+ export type Context<TOptions extends Options | undefined> = TOptions extends {
14
+ setToContext: true
15
+ }
16
+ ? LambdaContext &
17
+ Record<ExtractSingles<keyof TOptions['fetchData']>, JsonValue> &
18
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
+ (keyof TOptions['fetchData'] extends `${infer _P}/${infer _S}`
20
+ ? Record<string, JsonValue>
21
+ : unknown)
22
+ : LambdaContext
6
23
 
7
- declare function ssm (options?: Options): middy.MiddlewareObj
24
+ declare function ssm<TOptions extends Options> (
25
+ options?: TOptions
26
+ ): middy.MiddlewareObj<unknown, any, Error, Context<TOptions>>
8
27
 
9
28
  export default ssm
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middy/ssm",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "SSM (EC2 Systems Manager) parameters middleware for the middy framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -62,12 +62,14 @@
62
62
  },
63
63
  "homepage": "https://middy.js.org",
64
64
  "dependencies": {
65
- "@middy/util": "3.1.1"
65
+ "@middy/util": "3.2.0"
66
66
  },
67
67
  "devDependencies": {
68
- "@middy/core": "3.1.1",
68
+ "@middy/core": "3.2.0",
69
+ "@types/aws-lambda": "^8.10.101",
69
70
  "aws-sdk": "^2.939.0",
70
- "aws-xray-sdk": "^3.3.3"
71
+ "aws-xray-sdk": "^3.3.3",
72
+ "type-fest": "^2.18.0"
71
73
  },
72
- "gitHead": "d53fc91d035b01d3fd296cb6c7d0acd8305e9f76"
74
+ "gitHead": "ac46270daa388b52a81472ae8f9b8808a0136940"
73
75
  }