aws / aws/aws-encryption-sdk-javascript
Compile error in modules/example-node/src/kms_filtered_discovery.ts
- Dominant language
- TypeScript
- Stars
- 260
- Forks
- 68
- Avg merge
- 22h 19m
- Merged PRs (30d)
- 2
Description
### Problem:
Attempting to compile the example code in "modules/example-node/src/kms_filtered_discovery.ts" results in a Typescript compile error:
```
Type 'KmsClientSupplier' is not assignable to type 'KmsClientSupplier'.
Type 'KMS' is not assignable to type 'AwsEsdkKMSInterface'.
The types returned by 'decrypt(...)' are incompatible between these types.
Type 'Promise' is not assignable to type 'Promise | AwsSdkV2Response'.
Type 'Promise' is not assignable to type 'Promise'.
Type 'DecryptCommandOutput' is not assignable to type 'DecryptResponse' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.
Types of property 'KeyId' are incompatible.
Type 'string | undefined' is not assignable to type 'string'.
Type 'undefined' is not assignable to type 'string'.
```
The problem goes away if you comment out line 38:
```
const keyring = new KmsKeyringNode({
// clientProvider,
discovery,
discoveryFilter,
})
```
But this is not a real solution, because what I actually want is to limit the AWS regions, which is achieved using the following on line 29:
```
const clientProvider = limitRegions(['ap-southeast-2'], getKmsClient)
```
Contributor guide
Assessment
This issue has not been assessed yet.